IntentService JSON 下载并保存数据
IntentService JSON download and saving data
在我的主要 activity 中,我通过单击按钮向服务器发送一个 HTTP GET 请求(带有用户 GPS 位置和范围),并获得服务器响应 JSON 和列表放置在客户端位置附近和请求中指定的范围内。
我想等待此响应以执行此列表中的其他一些操作。我正在使用 AsyncTask。
由于此任务是应用程序的主要目的并且可以重复多次,因此可以避免每次用户单击按钮时都请求列表。我想重复使用列表。
重复使用列表的次数可能更多。我可以向服务器询问范围更大的列表。但是范围越大响应越慢。
所以我认为我应该使用 IntentService 在后台询问这个更大的列表,对吗?
如何在不使用本地数据库的情况下保存 IntentService 的结果(我不需要刷新 UI)? (这样我就可以检查是否存在更大的列表,是否有效(w.r.t。用户当前位置)并使用它)是否可以在不同的 activity 中共享此列表(不通过 Intents) ?
这是一段代码
String jsonData="your json data you wanna save";
SharedPreferences sharedpreferences=getSharedPreferences(MyPREFERENCES,Context.MODE_PRIVATE);
//save your incoming json
Editor editor = sharedpreferences.edit();
editor.putString("mydata",jsonData); editor.commit();
//Access your saved json from anywhere or from other activities
String myDataBack=sharedpreferences.getString("mydata","");
//compare your data
在我的主要 activity 中,我通过单击按钮向服务器发送一个 HTTP GET 请求(带有用户 GPS 位置和范围),并获得服务器响应 JSON 和列表放置在客户端位置附近和请求中指定的范围内。
我想等待此响应以执行此列表中的其他一些操作。我正在使用 AsyncTask。
由于此任务是应用程序的主要目的并且可以重复多次,因此可以避免每次用户单击按钮时都请求列表。我想重复使用列表。
重复使用列表的次数可能更多。我可以向服务器询问范围更大的列表。但是范围越大响应越慢。
所以我认为我应该使用 IntentService 在后台询问这个更大的列表,对吗?
如何在不使用本地数据库的情况下保存 IntentService 的结果(我不需要刷新 UI)? (这样我就可以检查是否存在更大的列表,是否有效(w.r.t。用户当前位置)并使用它)是否可以在不同的 activity 中共享此列表(不通过 Intents) ?
这是一段代码
String jsonData="your json data you wanna save";
SharedPreferences sharedpreferences=getSharedPreferences(MyPREFERENCES,Context.MODE_PRIVATE);
//save your incoming json
Editor editor = sharedpreferences.edit();
editor.putString("mydata",jsonData); editor.commit();
//Access your saved json from anywhere or from other activities
String myDataBack=sharedpreferences.getString("mydata","");
//compare your data