我们有一个应用程序,其中我们有几个数组列表定义如下
public final static ArrayList<String> Arraylist1= new ArrayList<String>(){{
}};
public final static ArrayList<String> Arraylist2= new ArrayList<String>(){{
}};
public final static ArrayList<String> Arraylist3= new ArrayList<String>(){{
}};
我们正在网络可用之间更新这个数组列表。所以它就像同步app.Problem我们现在面对的是,每次应用程序启动时它都会初始化数组列表并等待第一次同步。有没有办法在本地存储更新的数组列表,以便即使同步不会因为网络不可用而发生,它也不会影响应用程序功能。
答案 0 :(得分:0)
您必须在本地存储您需要的内容,并且在网络不可用的情况下,您可以使用本地&#34;较旧的&#34;版。
主要可能性是3:
答案 1 :(得分:0)
你可以做这样的事情
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(Name, n);
editor.putString(Phone, ph);
editor.putString(Email, e);
editor.commit();
并且在你刚读完值并更新服务器之后......
或者您可以将其存储在文件中以及何时连接到互联网上传
答案 2 :(得分:0)
这取决于您处理的数据类型。如果它的数量和重量数据我不会喜欢sharedPreferences。
最佳做法是将数据保存在Sqlite数据库中,并在需要时检索。
另一种方法是让arraylist像你一样静止。这将保持一段时间的价值。并且将比共享首选项或Sqlite DB更快地读写。但你不能指望静态变量。它们的寿命取决于GC。