我正在使用服务从JSON数组中获取计数值,例如count=3
。
服务每20秒运行一次并返回一个新的计数值。 现在例如我们有新的计数值count=3
。
我想比较新计数值与以前的计数值。
例如:
第1时间服务运行:比较来自JSON的数据
count=3
第2次服务运行:
count=5
现在如何比较数= 5数= 3
第3次服务运行:
count=6
现在比较count=6
到count =5
依此类推...
任何帮助表示赞赏。提前致谢。
下面是MyService.class
public class GettingUpdate extends Service {
private int first=0;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this,"Quack Toast",Toast.LENGTH_SHORT).show();
new ServAsynch().execute();
return super.onStartCommand(intent, flags, startId);
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
private class ServAsynch extends AsyncTask {
@Override
protected Object doInBackground(Object[] objects) {
String urlQuack="Someurl";
try {
System.out.println("test");
URL url = new URL(Someurl);
URLConnection connection = url.openConnection();
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder result = new StringBuilder();
String line;
while((line = reader.readLine()) != null){
result.append(line);
}
System.out.println("testRes");
System.out.println("RESULT:" + result);
JSONObject jsonObject = new JSONObject(String.valueOf(result));
JSONObject jo = jsonObject.optJSONObject("metadata");
String count = jo.optString("count");
System.out.println("Count: "+count);
first =Integer.parseInt(count);
} catch (Exception e) {
System.out.println(e);
}
return null;
}
@Override
protected void onPostExecute(Object o) {
super.onPostExecute(o);
}
}enter code here
当你比较它们时,你想要做什么? –
然后我会显示本地通知 – user2523529
您是否想将您之前的值与新值进行比较? 如果是,您可以使用Shared Preference存储以前的值。 – Shivang