我正在使用服務從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