"_id"
;
public static final
String
KEY_NAME
=
"name"
;
public static final
String
KEY_NUMBER
=
"number"
;
После задания констант нужно поправить конструктор, где будут ис-
пользоваться наши константы.
super
(context,
DATABASE_NAME
,
null
,
DATABASE_VERSION
);
Теперь в методе onCreate создадим таблицы и заполним их начальны- ми
данными с помощью специальных команд SQL.
public void
onCreate(SQLiteDatabase db) { db.execSQL(
"create table "
+
TABLE_CONTACTS
+
"("
+
KEY_ID
+
" integer primary key,"
+
KEY_NAME
+
" text,"
+
KEY_NUMBER
+
" text"
+
")"
);
}
При написании команд и ключей, необходимо между ними
вставлять пробелы, чтобы получить корректный SQL запрос.
В методе onUpgrade, который сработает при изменении номера версии можно
89
реализовать запрос в БД на уничтожение таблицы (
droptable)
, после чего вновь
вызвать метод onCreate для создания новой версии таблицы с обновленными
структурой.
public void
onUpgrade(SQLiteDatabase db,
int
oldVersion,
int
newVersion) {
db.execSQL(
"drop_table "
+
TABLE_CONTACTS
); onCreate(db);
}
После создания БД в классе MainActivity будем сохранять данные в базу и
считывать их оттуда.
Объявляем переменную класса dbWork (DBWork
dbWork
;), создаем его
экземпляр в методе onCreate(dbWork =
new
DBWork(
this
);), в методе onClick
создаем
объект
класса
SQLiteDatabase(SQLiteDatabasedatabase
=
dbWork
.getWritableDatabase();)
этот класс переназначен для управления базой
данных
SQLite.
Затем
нужно
импортировать
этот
класс
(
import
android.database.sqlite.SQLiteDatabase;).
В классе SQLiteDatabase определены следующие методы:
query() – для чтения данных изБД;
insert() – для добавления данных вБД;
delete() – для удаления данных изБД;
update() – для изменения данных вБД;
execSQL() – для выполнения любого кода на языке SQL относительно
базыданных.
Далее создадим объект класса ContentValues(ContentValuescontentValues =
new
ContentValues();)
–
этот класс используется для добавления новых строк в
таблицу. И также запишем его в
import
android.content.ContentValues;.
Далее напишем в case в качестве обработчика кнопки add следующие строки:
contentValues.put(DBHelper.
KEY_NAME
, name);//заполнение content.Values
попарно //name, contentValues.put(DBHelper.
KEY_MAIL
, number);// номер
database.insert(DBWork.
TABLE_CONTACTS
,
null
, contentValues);//методом insert
//вставляем строки в таблицу
90
С помощью обработчика Read реализуем чтение всех записей в таблице –
методом query (Cursorcursor = database.query(DBWoek.
Достарыңызбен бөлісу: |