首页 > 解决方案 > 如何让数据库操作发生在一个片段中?

问题描述

我是 Android 数据库的新手,但现在我知道在活动上应用 CRUD(创建、读取、更新、删除)操作的方法,但如果是片段,getWritableDatabase() 不起作用。我想知道在片段中应用 CRUD 操作的最佳方法。在活动中,我创建了一个类来处理数据库操作,然后在活动中创建了它的对象,之后就可以使用它了。

标签: androidandroid-fragmentsandroid-sqlitesqliteopenhelper

解决方案


在这里,我试图说明dbfragment类调用:

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这将导致更好的性能。


推荐阅读