Из этого туториала вы узнаете, как начать использовать SQLite в качестве метода хранения для приложений Android. Это часть 12 из серии руководств Саи Гиты по Android для разработчиков.
Существует 4 способа хранения данных на платформе Android:
- 1. Предпочтения
- 2. База данных SQLite
- 3. Файлы
- 4. Сеть
Несколько слов о каждом из них, а затем я перейду к примеру, который показывает, как работать с БД SQLite, который поставляется вместе с платформой Android.
Предпочтения
—
—
В основном используется для хранения пользовательских настроек для одного приложения или между приложениями для мобильного телефона. Обычно это пары имя-значение, доступные контексту.
Базы данных —
Android поддерживает создание баз данных на основе базы данных SQLite. Каждая база данных является частной для приложений, которые ее создают
Файлы —
Файлы могут храниться непосредственно на мобильном устройстве или на расширенном носителе. По умолчанию другие приложения не могут получить к нему доступ.
Сеть —
Данные также могут храниться и извлекаться из сети в зависимости от доступности.
Если приложение хочет хранить и извлекать данные для собственного использования, без необходимости совместного использования данных между приложениями, оно может получить прямой доступ к БД SQLite. Нет необходимости в поставщике контента. В предыдущем посте мы видели, как использовать контент-провайдеров .
В этом примере мы сделаем следующее:
1.
Создайте базу данных (обычно одноразовое действие)
Создайте базу данных (обычно одноразовое действие)
2.
Создайте таблицу (обычно одноразовое действие)
Создайте таблицу (обычно одноразовое действие)
3.
Вставьте значения в таблицу
Вставьте значения в таблицу
4.
Получить значения из таблицы
Получить значения из таблицы
5.
Показать полученные значения в виде списка
Показать полученные значения в виде списка
6.
Удалите все записи из таблицы перед закрытием соединения с базой данных.
Удалите все записи из таблицы перед закрытием соединения с базой данных.
Шаг 1: Создайте базу данных:
sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, MODE_PRIVATE, null);
Откроется база данных, определенная в константе
SAMPLE_DB_NAME
, если она уже существует. В противном случае он создает базу данных и открывает ее. Второй параметр — это режим работы:
MODE_PRIVATE,
означающий, что он доступен только для этого контекста. Другие режимы и MODE_WORLD_WRITABLE.
MODE_WORLD_READABLE
SAMPLE_DB_NAME
, если она уже существует. В противном случае он создает базу данных и открывает ее. Второй параметр — это режим работы:
MODE_PRIVATE,
означающий, что он доступен только для этого контекста. Другие режимы и MODE_WORLD_WRITABLE.
MODE_WORLD_READABLE
Шаг 2: Создать таблицу:
sampleDB.execSQL("CREATE TABLE IF NOT EXISTS " + SAMPLE_TABLE_NAME + " (LastName VARCHAR, FirstName VARCHAR," + " Country VARCHAR, Age INT(3));");
Шаг 3: Вставьте значения в таблицу:
sampleDB.execSQL("INSERT INTO " + SAMPLE_TABLE_NAME + " Values ('Makam','Sai Geetha','India',25);");
Шаг 4: Получить значения
Cursor c = sampleDB.rawQuery("SELECT FirstName, Age FROM " + SAMPLE_TABLE_NAME + " where Age > 10 LIMIT 5", null); if (c != null ) { if (c.moveToFirst()) { do { String firstName = c.getString(c.getColumnIndex("FirstName")); int age = c.getInt(c.getColumnIndex("Age")); results.add("" + firstName + ",Age: " + age); }while (c.moveToNext()); } }
Шаг 5: Показать значения в виде списка
this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results));
Оператор отображает его в виде списка, поскольку класс расширяет
ListActivity
.
ListActivity
.
Шаг 6: Удалить значения из таблицы в последней части блока try
finally { if (sampleDB != null) sampleDB.execSQL("DELETE FROM " + SAMPLE_TABLE_NAME); sampleDB.close(); }
Работать с БД SQLite так же просто, как в Android. Не отличается от настольного приложения. Однако существуют различные перегруженные методы
query (),
предоставляемые классом SQLIteDatabase, которые можно использовать более оптимально вместо
execSQL
.
query (),
предоставляемые классом SQLIteDatabase, которые можно использовать более оптимально вместо
execSQL
.
Полный код для этого примера можно скачать здесь .
Источник блога : http://saigeethamn.blogspot.com/2009/10/android-developer-tutorial-part-12.html