1

介绍:

冒着关闭问题的风险,无论如何我都会尝试问它。我确实搜索了很多,但大多数都是关于ListView在方向更改期间保存状态并在返回Activity. 这不是我要找的。

诸如 Twitter 应用程序和其他几个类似应用程序的应用程序将恢复到您上次使用该应用程序时的相同状态。当您返回应用程序时,任何新数据(如果可用)都会加载到当前位置之上。

在我当前的设置中,我使用了三个类。

  1. public class NewNotifications extends SherlockFragment {....} // THE FRAGMENT WHERE THE DATA IS PROCESSED
  2. public class NewNotificationsAdapter extends BaseAdapter {....} // THE ADAPTER FOR THE CUSTOM LISTVIEW
  3. public class NotificationsData {} // A HELPER SETTER / GETTER CLASS

当前显示的所有数据都是使用 Facebook SDK 实时获取的,一切正常。但我担心发生的大量数据使用。例如,上述三个类协同工作以显示当前登录用户的任何新/旧通知。但是每次用户单击通知按钮时,无论是新通知,都会再次获取相同的数据。这让我想到了首要问题。

问题:

主要问题是,ListView无论设备在做什么,Twitter 等应用程序如何存储确切的位置?我可以重新启动手机 20 次,仍然回到相同的状态。

显然,数据存储在某处。他们将它们存储在文件中Database还是SharedPreference文件中?我倾向于认为Database但我很想知道任何其他选择。我自然也倾向于认为在处理接收到的数据的同时(在 Fragment 中)存储接收到的数据将是最好的选择。

他们是否有任何图书馆可以完成我的 Google foo 找不到的这项任务?还是我必须自己为这样的任务创建逻辑?不管有什么建议,我都愿意接受每一个建议。我不是在寻找一个懒惰的现成解决方案。我只是寻求建议/方向。:-)

我很抱歉这个问题的状态非常主观,很可能会被关闭。

4

1 回答 1

1

如果您想保存来自您的应用程序的数据,您想在您的应用程序中恢复,无论应用程序生命周期在做什么,您都需要将数据独立地保存在内部数据库或内部/外部设备存储中。

于 2013-02-19T08:23:59.653 回答