一:開啟 AndroidManifest.xml,加入開啟網路的權限
<uses-permission android:name="android.permission.INTERNET" />
二:宣告一個JSONArray 來存放 JSON資料
JSONArray JSONArray = new JSONArray();
三:取得http json資料
try {
//此段是3.0後有限定 http取得資料時間;加上以下 可解除限定時間 start
if (Integer.parseInt(Build.VERSION.SDK) > 10) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() // or .detectAll() for all detectable
// problems
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
.penaltyLog()
.penaltyDeath()
.build());
}
//此段是3.0後有限定 http取得資料時間;加上以下 可解除限定時間 end
HttpClient hc = new DefaultHttpClient();
HttpPost post = new HttpPost("your url");
StringBuilder builder = new StringBuilder();// 增加一個容器
HttpResponse rp = hc.execute(post);
if (rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(rp.getEntity().getContent(), "UTF8"));
for (String s = reader.readLine(); s != null; s = reader.readLine()) {
builder.append(s);
}
}
JSONObject jsonObjectBMC = new JSONObject(builder.toString());
try {
JSONArray = jsonObjectBMC.getJSONArray("data");// 取得JSON資料
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
四.注意傳出的JSON格式。
{"data":[{"name":"ABC"},{"phone":"12345678"}]}
沒有留言:
張貼留言