我开发了一个Android移动应用程序,我用这个tutorial创建了一个宁静的Api。但通过这种方式,数据仅在设备连接到Internet时出现。我希望数据存在且没有互联网连接。我应该创建一个本地数据库还是有其他方式吗?
答案 0 :(得分:0)
从我的观点来看,您的方法似乎正确,因为您必须从服务器获取更多数据。因此不建议使用共享首选项和内部存储。
答案 1 :(得分:0)
您有三种方法可以在智能手机上缓存json数据
todos.json
SharedPreferences
ID
。您采用哪种方法取决于您的数据量。像 Android Killer 我更喜欢Sqlite,因为它是管理应用程序数据的优雅方式。
您可以实现所有三种方法并进行比较。此外,您还将了解很多关于FileIO
,SharedPreferences
和SqLite
的信息。
伪代码示例:
public String loadData(String url){
Cache cache = new FileCache(); // new SqLiteCache() or new SharedPreferencesCache()
String json = cache.get(url);
if(json == null){
cache.put(url, json = MyNetworkUtil.loadJSON(url));
}
return json;
}