在我的主要活动中,我通过单击按钮向服务器发送HTTP GET请求(具有用户GPS位置和范围),并将服务器响应作为JSON获取,其中包含客户端位置周围的位置列表以及请求中指定的范围。
我想等待此响应在此列表中执行其他操作。我正在使用AsyncTask。
由于此任务是应用程序的主要目的,因此可以重复多次,以避免每次用户单击按钮时对列表的请求。我想重用该列表。
重复使用列表的次数越多。我可以向服务器询问范围更大的列表。但是范围越高,响应越慢。
所以我认为我应该通过使用IntentService在后台询问这个更大的列表,是不是?
如何在不使用本地数据库的情况下保存IntentService的结果(我不需要刷新UI)? (这样我就可以检查是否存在更大的列表,如果它有效(w.r.t.用户当前位置)并使用它)是否可以在不同的活动中共享此列表(不通过Intents)?
答案 0 :(得分:2)
以下是一段代码
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