我正在开发一个允许用户进行预定下载的应用程序(用户可以选择多个链接,然后在特定的给定时间(可能需要几周),AlarmManager将发送广播来调用DownloadService
那么即使关闭应用程序,如何保存用户的选定链接?我认为这些链接只需要是一个ArrayList。
我尝试过SharedPreferences,但它只允许我使用putInt,putBoolean ... 我还阅读了关于onSaveInstanceState / onRestoreInstanceState但是当应用程序关闭时,saveInstanceState也消失了,对吗?
我该怎么做?非常感谢你
答案 0 :(得分:1)
如果您有ArrayList<String> urlsList;
保存网址:
Editor edit = prefs.edit();
edit.putInt("list_size", urlsList.size());
for(int i=0;i<urlsList.size(); i++)
edit.putString("url_" + i, urlsList.get(i));
edit.commit();
检索网址:
int size = prefs.getInt("list_size", 0);
ArrayList<String> retrievedUrls = new ArrayList<String();
for(int i=0; i<size; i++)
retrievedUrls.add(prefs.getString("url_" + i, null));