应用关闭后,在Android中存储ArrayList

Pat*_*Pan 1 android

我有一个字符串的ArrayList,我正在从中绘制一个ListView.在应用程序中,用户可以向ArrayList添加项目,从而导致项目显示在ListView上.当应用程序正在运行时,ArrayList会保留其项目,但在重新启动后(或应用程序停止的任何其他时间)项目将丢失.我已经阅读过有关内部,外部和SQLite存储的内容,但我无法使用内部存储或外部存储,而且我对SQLite一无所知,应用程序将在周五发布.是否有更好的储蓄实施?我附上了完整的代码副本,没有任何存储方法可供审核.

谢谢.

http://www.mediafire.com/?tf8093g39jv0f61 < - 代码

Fem*_*emi 5

使用首选项实现来保存ArrayList<String>.在onPause方法中使用此:

ArrayList<String> tobesaved = getData(); // fetch the data
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor edit = prefs.edit();
edit.putStringSet("SAVEDATA", new HashSet<String>(tobesaved));
edit.commit();
Run Code Online (Sandbox Code Playgroud)

然后你可以在onResume方法中获取它:

ArrayList<String> retrieved = new ArrayList<String>(PreferenceManager.getDefaultSharedPreferences(getBaseContext()).getStringSet("SAVEDATA", new HashSet<String>()));
Run Code Online (Sandbox Code Playgroud)

编辑:我没有机会查看你的代码:mediafire试图在我的浏览器上打开一些弹出窗口,所以我很快就关闭了标签,但这应该适合你.尝试并且可能使用gist(在http://gist.github.com上)或者使用pastebin(在http://pastebin.com/上)来共享更长的代码序列.

  • 我不认为偏好管理器是为了存储大量信息. (2认同)