android - REST 和 ListView 刷新

标签 android rest

在我的应用程序中,我有不同的 ListView Activity 。数据来自具有 REST 方法的服务器,并且只在我启动应用程序时完成一次。

我想设置的模式是用我在本地已有的 JSON 预加载所有 ListView ,同时启动一个线程,用我的 REST 方法获取新的 JSON 文件,然后更新 ListView 。

现在,当我启动应用程序时,我会解析我的 JSON 文件,并构建所有对象列表。我稍后从我的列表适配器中以静态方式访问它们。

所以我想知道启动此 REST 线程并更新 ListView 的最佳方法。我应该使用 AsyncTask 吗?服务?然后,当我更新我的本地 JSON 时,我必须重新解析它们,更新对象列表,并调用我的适配器 NotifyDataChanged ?

谢谢

最佳答案

所以我找到了解决问题的完美方法。
我在我的 AsyncTask 的 onPostExecute() 中使用 sendBroadcast(),在我所有需要通知的 Activity 中使用 broadcastReceiver:

public class ConvenientActivity extends Activity {
    ...
    ...
    public class RefreshReceiver extends BroadcastReceiver {
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(MyMainClass.REFRESH_INTENT)) {
                mAdapter.refreshList();
            }
        }
    }
}

它非常简单,而且工作完美。

关于android - REST 和 ListView 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310636/

相关文章:

java - 如何将响应存储在 Volley 的变量中?

android - 错误 : Final local variable score cannot be assigned, 因为它是在封闭类型中定义的?

rest - REST API 支持的 backbone.js 应用程序的后端架构?

scala - Playframework Scala - 删除路由问题

android - 自定义 ListView 适配器显示不正确的值 [Mono Android]

android - 如何从 OnSharedPreferenceListener 访问特定 fragment 的 Preference 对象?

android - 如何在android中使用国家ISO代码获取时间格式?

rest - 在面向服务的架构中缓存

java - 内容类型为 application/x-www-form-urlencoded 的 Http Post 请求在 Spring 中不起作用

rest - grails休息渲染并返回