我有這樣的JSON:代表一個JSON陣列 - Android SDK中
{
"id" : "1405247989732",
"title" : "פיקוד העורף התרעה במרחב ",
"data" : [
"באר שבע 292",
"באר שבע 291"
]
}
(從服務器) 我想存儲data
在一個陣列,同時還刷新了JSON每3秒,因爲數據陣列隨時更改。 從哪裏開始?
我有這樣的JSON:代表一個JSON陣列 - Android SDK中
{
"id" : "1405247989732",
"title" : "פיקוד העורף התרעה במרחב ",
"data" : [
"באר שבע 292",
"באר שבע 291"
]
}
(從服務器) 我想存儲data
在一個陣列,同時還刷新了JSON每3秒,因爲數據陣列隨時更改。 從哪裏開始?
做到這一點最簡單的方法:
A.創建,其字段(名稱和類型)的Java類匹配您的JSON:
class MyDataRecord {
String id;
String title
String[] data;
}
B.和使用GSon從Json字符串讀取內容並將其寫入您的班級:
MyDataRecord dataRecord = new Gson().fromJson(jsonString, MyDataRecord.class); // string to obj
String jsonString = new Gson().toJson(dataRecord); // obj to string
C.定期輪詢您的服務器以獲取更新。您也可以使用GCM進行服務器推送,但如果我正確理解 您的程序範圍,服務器輪詢可能就足夠了。
吉拉德
正如在評論中所隱含的,有各種可用於Android的json解析器。如果你從服務器獲得你的json,我會建議看看square的Retrofit。由於改造不僅會解析json,還會爲您執行http請求。
http://square.github.io/retrofit/
在問候三秒投票,你可以做這樣的事情:
handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
json = getJsonFromServer()
handler.postDelayed(this, 3000);
}
};
handler.post(r);
這將放在你的消息隊列運行的,將調用得到JSON,然後方法將自己置於消息隊列中以在三秒內再次執行。
雖然這會起作用,但使用GCM(Google雲消息傳遞)服務器將更新信息推送到您的手機時,只要價值發生變化而不是經常查詢服務器,這是一個更好的做法。
http://developer.android.com/google/gcm/index.html
開始通過一些JSON解析教程 – Raghunandan
看http://wiki.fasterxml.com/JacksonInFiveMinutes去 – Hunsu