Как разрешить операции с базой данных во фрагменте? - PullRequest
0 голосов
/ 05 октября 2019

Я новичок в базе данных в Android, но теперь я знаю способ применения операций CRUD (Create, Read, Update, Delete) к деятельности, но в случае фрагментов getWritableDatabase () не работает. Я хотел бы знать, как лучше применять CRUD-операции во фрагментах. В действиях я создал класс для обработки операций с базой данных, а затем сделал его объект в действии и впоследствии смог работать с ним.

Ответы [ 2 ]

0 голосов
/ 05 октября 2019

Здесь я попытался проиллюстрировать вызов db из fragment класса:

SQLiteDatabase db = context.getWritableDatabase(); // 'this' for activity

Инициализация db объекта внутри onAttach() или onActivityCreated() любого другого метода: [onAttach() предпочтительнее]

public Cursor getAllData() {
  Cursor result = db.rawQuery("SELECT * FROM "+ TABLE_NAME, null);
  return result; 
}

Советы: Вы должны использовать эти типы вызовов db в background threads, чтобы не вызывать или не блокировать UI thread, что приведет к повышению производительности. счастливое кодирование

0 голосов
/ 05 октября 2019

Попробуйте

DbHelper helper = DbHelper.getInstance(getContext());
SQLiteDatabase db = helper.getWritableDatabase();` 

вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...