android - 如何让数据库操作发生在一个片段中?
问题描述
我是 Android 数据库的新手,但现在我知道在活动上应用 CRUD(创建、读取、更新、删除)操作的方法,但如果是片段,getWritableDatabase() 不起作用。我想知道在片段中应用 CRUD 操作的最佳方法。在活动中,我创建了一个类来处理数据库操作,然后在活动中创建了它的对象,之后就可以使用它了。
解决方案
在这里,我试图说明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
这将导致更好的性能。
推荐阅读
- python - Pandas - dataframe containing comments(rows) and words as column headers how to get a frequency count?
- javascript - 在 Vue 中阻塞 IO 调用
- swift - 弹出窗口在代码中的警报内部不起作用
- python - 如何使 drf HyperlinkedModelSerializer 优雅地与 app_name 一起工作?
- algorithm - 用替换法分析快速排序的最坏情况性能
- python - 带有 2 个列表/变量的 Python“for 循环”
- scala - 斯卡拉 | 创建列表的第 1 个、第 2 个、..、第 n 个值的新列表
- azure - 在持久函数中控制扇出/扇入模式中的最大并行度
- jmeter - Jmeter中如何根据实际请求命中和TPM设置工作负载模型?
- lua - 如何理解 rename{ old = "temp.lua", new = "temp1.lua" }?