Практическая работа №13 Развертывание реализации паттерна Ambassador и сервиса memcache для организации шардированного кэша
Создание базы данных с помощью SQLiteOpenHelper
Download 468.92 Kb.
|
prak13 18
- Bu sahifa navigatsiya:
- Android database SQLite
- SQLiteDatabase
Создание базы данных с помощью SQLiteOpenHelperСамый простой способ управления созданием базы данных и версиями — создать подкласс SQLiteOpenHelper. Он упрощает управление базой данных SQLite, создавая БД, если они не существуют. Необходимо только переопределить методы onCreate() и onUpgrade(), чтобы указать нужное действие для создания или обновления базы данных: public class SampleDBSQLiteHelper extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 1; public static final String DATABASE_NAME = "sample_database"; public SampleDBSQLiteHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(SampleDBContract.Employer.CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + SampleDBContract.Employer.TABLE_NAME); onCreate(sqLiteDatabase); } } Теперь в нашем примере Android database SQLite задаем для нашей базы данных SQLite имя (sample_database). Конструктор вызывает конструктор суперкласса с именем и версией базы данных. В onCreate мы указываем объекту SQLiteDatabase выполнить оператор Employer CREATE_TABLE SQL. Через onUpgrade мы сбрасываем таблицу Employer и создаем ее снова: Таблица Employer имеет три столбца: name, description и founded_date. Нажатие кнопки сохранения вызывает метод saveToDB(): В saveToDB() мы получаем ссылку на объект SQLiteDatabase, используя метод getWritableDatabase() из SQLiteOpenHelper. Этот метод создает базу данных, если она еще не существует, или открывает ее, если она уже создана. GetWritableDatabase возвращает объект SQLiteDatabase, который открывает доступ на чтение / запись: private void saveToDB() { SQLiteDatabase database = new SampleDBSQLiteHelper(this).getWritableDatabase(); ContentValues values = new ContentValues(); values.put(SampleDBContract.Employer.COLUMN_NAME, binding.nameEditText.getText().toString()); values.put(SampleDBContract.Employer.COLUMN_DESCRIPTION, binding.descEditText.getText().toString()); try { Calendar calendar = Calendar.getInstance(); calendar.setTime((new SimpleDateFormat("dd/MM/yyyy")).parse( binding.foundedEditText.getText().toString())); long date = calendar.getTimeInMillis(); values.put(SampleDBContract.Employer.COLUMN_FOUNDED_DATE, date); } catch (Exception e) { Log.e(TAG, "Error", e); Toast.makeText(this, "Date is in the wrong format", Toast.LENGTH_LONG).show(); return; } long newRowId = database.insert(SampleDBContract.Employer.TABLE_NAME, null, values); Toast.makeText(this, "The new Row Id is " + newRowId, Toast.LENGTH_LONG).show(); } Download 468.92 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling