Android 如何显示从联机http服务器检索的脱机数据
您好,我正在从在线服务器获取Android 如何显示从联机http服务器检索的脱机数据,android,listview,Android,Listview,您好,我正在从在线服务器获取ListView的数据,如果用户在线,该服务器将显示良好 但是我想在脱机模式下显示ListView数据,这意味着它必须显示用户联机时检索到的数据 示例:当用户联机时,如果从联机服务器检索到10条记录并显示在ListView中。 现在,如果用户脱机,则ListView应显示之前检索到的10条记录,直到用户联机 最好的例子是Facebook,它也以离线模式显示帖子 提前谢谢。我想你应该参考以下步骤: 当用户访问此活动(其中包含listView)时 从数据库中获取所有记录并
ListView
的数据,如果用户在线,该服务器将显示良好
但是我想在脱机模式下显示ListView
数据,这意味着它必须显示用户联机时检索到的数据
示例:当用户联机时,如果从联机服务器检索到10条记录并显示在ListView
中。
现在,如果用户脱机,则ListView
应显示之前检索到的10条记录,直到用户联机
最好的例子是Facebook,它也以离线模式显示帖子
提前谢谢。我想你应该参考以下步骤: 当用户访问此活动(其中包含listView)时
最好的问候我的建议是在共享首选项中保存数据/json,在线时从服务器获取json,离线时从共享首选项获取json,这样就不必更改其他代码
if(online)
{
// call http server and get json string
// save this json string in shared preference
}
else{
//
// check if shared pre contains data ( not null) and get data from local shared pref
}
//进一步的代码与联机中的代码相同您使用的是数据库吗?如何知道用户是联机还是脱机?不,我没有使用数据库。。。我正在从谷歌应用程序引擎检索server@CodeWalker我有逻辑来检查用户是在线还是离线…谢谢,我是否需要为此创建本地数据库哪个更好,本地sqlite数据库还是共享首选项取决于您的使用,如果您只想在脱机模式下显示数据,而不想执行任何与数据库相关的操作,那么我的视图就是使用共享首选项,因为它使用的内存更少、速度更快,而且代码也更少,但如果您的需要与数据库相关,那么Sqlite就很好了