android.database.sqlite.SQLiteDatabase¶
Файл базы данных лежит /data/data/ru.ilnurgi1/databases/
- class
android.database.sqlite.
SQLiteDatabase
¶ -
beginTransaction
()¶ Начинает транзакцияю
Блокирует базу для чтения и записи для других подключений
db.beginTransaction(); // some code db.setTransactionSuccessful(); db.endTransaction();
db.beginTransaction(); try { // some code db.setTransactionSuccessful(); } finally { db.endTransaction(); }
-
beginTransactionNonExclusive
()¶ Начинает транзакцияю
Блокирует базу для записи для других подключений
db.beginTransactionNonExclusive();
-
delete
(String tableName, String selection, String[] selectionArgs)¶ Удаляет записи из БД и возвращает количесвто удаленных записей
int countDelete = db.delete("myTable", null, null); int countDelete = db.delete("myTable", "id="+id, null);
-
endTransaction
()¶ Завершает транзакцияю
db.endTransaction();
-
getVersion
()¶ Возвращает int, версия БД
int dbVersion = db.getVersion();
-
insert
(String tableName, null, ContentValues cv)¶ Добавляет запись в БД и возвращает его уникальный идентификатор
ContentValues cv = new ContentValues(); cv.put("name", "name"); int createdRowId = db.insert("myTable", null, cv);
-
query
(String tableName, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)¶ Возвращает курсор
android.database.Cursor
выборка данных из БДCursor c = db.query("mytable", null, null, null, null, null, null); Cursor c = db.query( "mytable as mt join some table as st on ...", null, null, null, null, null, null); if (c.moveToFirst()) { int nameColIndex = c.getColumnIndex("name"); do { String name = c.getString(nameColIndex) } while (c.moveToNext()); }
// достаем записи по условию Cursor cursor = db.query( DB_NAME, null, COLUMN_ID + " = ?", new String[] {String.valueOf(cashAccountId)}, null, null, null); CashAccountModel cashAccount = null; if (cursor.moveToFirst()) { do { if (cashAccount != null){ return null; } cashAccount = new CashAccountModel( cursor.getString(cursor.getColumnIndex(COLUMN_NAME)) ); } while (cursor.moveToNext()); } return cashAccount;
-
rawQuery
(String sqlQuery, String[] selectionArgs)¶ Выполняет запрос на SQL, возвращает курсор
android.database.Cursor
Cursor c = db.rawQuery("select ... where id = ?", new String[] {1});
-
setTransactionSuccessful
()¶ Подтверждение успешности транзакции, для комита изменении
db.setTransactionSuccessful()
-
update
(String tableName, ContentValues cv, String selection, String[] selectionArgs)¶ Обновляет записи в БД и возвращает количество обновленных записей
int ipdateCount = db.update("myTable", cv, "id=?", new String[] {id});
-
android.database.sqlite.SQLiteOpenHelper¶
- class
android.database.sqlite.
SQLiteOpenHelper
(Context context, String name, SQLiteDatabase.CursorFactory factory, int version)¶
- class
android.database.sqlite.
SQLiteOpenHelperDBHelper
(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler)¶ Вспомогательный класс, для реализации работы с БД.
class DBHelper extends SQLiteOpenHelper {} DBHelper helper = new DBHelper();
-
close
()¶ Закрывает подключение к БД
helper.close();
-
getReadableDatabase
()¶ Подключается к бд и возвращает его
android.database.sqlite.SQLiteDatabase
БД возвращается только для чтения
SQLiteDatabase db = helper.getReadableDatabase()
-
getWritableDatabase
()¶ Подключается к бд и возвращает его
android.database.sqlite.SQLiteDatabase
БД возвращается как для чтения так и для записи
Если нет свободного места на устройстве, то вызовет исключение
SQLiteDatabase db = helper.getWritableDatabase()
-
onCreate
(SqliteDatabase db)¶ Обработчик создания БД, если его нет
@Override public void onCreate(SQLiteDatabase db) { db.execSQL(); }
-
onUpgrade
(SQLiteDatabase db, int oldVersion, int newVersion)¶ Обработчик обновления БД, если версия изменилась
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL(); }
-