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