【问题标题】:Notify database changes to fragment from Service, Activity, Fragment, etc从 Service、Activity、Fragment 等通知数据库对 Fragment 的更改
【发布时间】:2013-04-16 16:39:58
【问题描述】:

我的应用程序有许多片段,其中许多片段从 ListFragment 扩展而来,并具有用于读取数据库 (SQLite) 的适配器。我的应用只有一个 Activity(目前),并且在 Activity 启动时绑定了一个 Service。

我的问题是如何在服务或其他片段的数据库发生更改时通知片段。

我的应用程序架构示例

MainActivity
  tabhost
   fragment
     listfragment
     listfragment
   fragment
     fragment
     gridfragment
   fragment

MainService
  comunication_server
    send_data
    receive_data

如您所见,我的应用程序有几个片段,我想通知片段数据已更改。或者至少启动一个内部广播可以被iNotifyPropertyChange .NET C#/WPF之类的片段听到

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    考虑实现 CursorLoaders。它们将使您能够异步加载列表,并且它们将监视数据源的更改并自动更新列表。它们非常易于实施。

    Lars Vogal has a neat little tutorial on them.

    【讨论】:

    • 以前他一直在用最少的 api LoaderCallbacks 开发我的应用程序,但开发时间是 8 年,所以我不得不放弃,示例使用 <uses-sdk android:minSdkVersion="15" />目前我不记得它到底是什么,但需要一些东西最低 API 为 11。开发重点从 api 8
    • 甚至我记得读过vogella的LoaderCallbacks教程
    • 您可以使用 Android 支持库版本的 ContentLoader (android.support.v4.contentloader)。从您使用 Fragments 的事实来看,我会说您已经在使用支持库。
    猜你喜欢
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多