3

如何处理显示数据列表的片段和在后台更新数据的不同线程/类之间的引用。因此,我需要能够通过 Observer-inf 或类似的东西从片段外部强制更新。

目前,我正在使用虚拟工厂类根据我的默认设置创建一个新的 SqlLiteDatabase 对象。

public static SQLiteDatabase initFor(Context context) {
    db = context.openOrCreateDatabase(NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null);
    db.setLocale(Locale.getDefault());
    db.setVersion(1);
    db.setLockingEnabled(true);
    return db; }

然后我从每个片段中调用它并设置适配器,这同样适用于数据插入器线程。要关闭数据库,我会覆盖我的活动的 onDestroy() 并调用:initFor(this).close(); .

这非常难看,并且在方向更改时失败。我正在考虑 SQLiteOpenHelper 但我不知道它将如何帮助我。

4

1 回答 1

0

您应该在另一个线程(在服务中)上访问您的数据库,然后与一个类(可能是您的助手)进行对话,然后您通过在扩展应用程序的类中初始化的单例访问此助手类。您可以通过调用从任何片段中获取应用程序类

 ((YourApplication) context.getApplicationContext()).getGetDatabaseHelper();
于 2012-06-10T22:25:49.297 回答