INTRO:
冒着关闭问题的风险,无论如何我都会尝试提问。我做了很多搜索,但大多数是关于在方向更改期间保存ListView
状态并在返回Activity
时恢复。这不是我想要的。
Twitter应用程序和其他类似应用程序等应用程序将恢复到您上次使用该应用程序时的状态。当您返回应用程序时,任何新数据(如果可用)都会加载到当前位置之上。
在我目前的设置中,我使用了三个类。
public class NewNotifications extends SherlockFragment {....} // THE FRAGMENT WHERE THE DATA IS PROCESSED
public class NewNotificationsAdapter extends BaseAdapter {....} // THE ADAPTER FOR THE CUSTOM LISTVIEW
public class NotificationsData {} // A HELPER SETTER / GETTER CLASS
目前显示的所有数据都是使用Facebook SDK实时获取的,一切正常。但我担心发生的巨大数据使用情况。例如,上述三个类一起工作以显示当前登录用户的任何新/旧通知。但每次用户单击通知按钮时,无论是否为新通知,都会重新获取相同的数据。这让我想到了主要问题。
问题:
主要问题是,Twitter等应用程序如何存储ListView
中的确切位置,而不管设备在做什么?我可以重新启动手机20次,但仍然会回到同一状态。
显然,数据存储在某个地方。他们将它们存储在Database
或SharedPreference
文件中吗? 我倾向于认为Database
。但我很想知道其他任何选择。当然,我也倾向于认为在处理数据的同时存储收到的数据(片段中的)将是最好的选择。
他们的任何图书馆都在那里执行我的Google foo找不到的任务吗?或者我是否必须自己为这样的任务创建逻辑?无论对此有什么建议,我都对所有建议持开放态度。我不是在寻找一个懒惰的现成解决方案。我只是寻求建议/指示。 : - )
我很抱歉这个问题的状态非常主观,很可能会被关闭。
答案 0 :(得分:1)
如果要保存应用程序中要恢复的数据,无论应用程序生命周期在做什么,您都需要将数据独立保存在内部数据库或内部/外部设备上存储