【问题标题】:Initialize Room Database in Activity or Fragment?在活动或片段中初始化房间数据库?
【发布时间】:2019-04-27 19:36:20
【问题描述】:

我正在将 Android 应用从原始的单一 Activity 转换为更强大的应用,使用 Fragment 以获得更好的性能。 其中一部分是转移到房间模型。现在我仍在尝试了解房间数据库是如何实现的,这就是我的问题的来源。

基本上我要问的是:如果我使用片段来显示来自同一数据库的单独数据集,我是否在活动中初始化数据库,然后从片段中调用该数据库? 我假设 mainactivity 需要容纳数据库,以便它在所有片段之间合并,而不是每个片段都构建自己的数据库。还是没关系?

【问题讨论】:

    标签: android android-fragments android-activity android-room


    【解决方案1】:

    来自Room documentations

    AppDatabase db = Room.databaseBuilder(getApplicationContext(),
        AppDatabase.class, "database-name").build();
    

    注意:如果您的应用在单个进程中运行,则在实例化 AppDatabase 对象时应遵循单例设计模式。每个 RoomDatabase 实例都相当昂贵,您很少需要在单个进程中访问多个实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多