我正在开发一个充当瘦客户端的应用。该应用程序将与服务器保持TCP连接,它们之间流动的数据量将非常小,只有文本。
我应该如何处理数据,考虑到这是典型情况:
我在想可能有一个主要的活动,它有一个成员列表,它将存储要在ListView中显示的对象。在(异步)接收一些新数据时,将通知主线程,它将反映ListView上的更改。
有更好的清洁方式吗?实现内容提供者和使用Loader看起来有点太多了,考虑到我真的不需要数据持续存在。
答案 0 :(得分:0)
您可以创建自己的应用程序,扩展 android.app.Application ,您的列表将是您的应用程序的属性。
然后将Context用于AsyncTask,您可以将内容异步添加到List中。
最后,更新ListView的一个好方法是将ListActivity注册为List内容的所有更改的监听器。例如:
public interface IListChangeListener {
public void onContentChange();
}
对于List内容的每个修改,您的应用程序将在所有侦听器上循环以调用onContentChange();
在列表活动中,您必须实施:
public void onContentChange(){
// Reload the list adapter content and all the notifyDataSetChanged here
}
当它被销毁时,不要忘记取消注册ListActivity作为监听器......