IntentService JSON下载和保存数据

时间:2015-08-21 10:55:53

标签: android json service intentservice

在我的主要活动中,我通过单击按钮向服务器发送HTTP GET请求(具有用户GPS位置和范围),并将服务器响应作为JSON获取,其中包含客户端位置周围的位置列表以及请求中指定的范围。

我想等待此响应在此列表中执行其他操作。我正在使用AsyncTask。

由于此任务是应用程序的主要目的,因此可以重复多次,以避免每次用户单击按钮时对列表的请求。我想重用该列表。

重复使用列表的次数越多。我可以向服务器询问范围更大的列表。但是范围越高,响应越慢。

所以我认为我应该通过使用IntentService在后台询问这个更大的列表,是不是?

如何在不使用本地数据库的情况下保存IntentService的结果(我不需要刷新UI)? (这样我就可以检查是否存在更大的列表,如果它有效(w.r.t.用户当前位置)并使用它)是否可以在不同的活动中共享此列表(不通过Intents)?

1 个答案:

答案 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