0
我對Android和Java的世界相當陌生,我想知道如何從這裏的web api獲取數據http://www.imdbapi.com/進入android。 我應該使用JSON還是XML? 步驟是什麼?首先,我想知道如何下載數據,然後如何解析變量。 任何示例代碼?JSON,XML連接到Android的web api?
我對Android和Java的世界相當陌生,我想知道如何從這裏的web api獲取數據http://www.imdbapi.com/進入android。 我應該使用JSON還是XML? 步驟是什麼?首先,我想知道如何下載數據,然後如何解析變量。 任何示例代碼?JSON,XML連接到Android的web api?
HttpClient httpclient = new DefaultHttpClient();
// Prepare a request object
HttpGet httpget = new HttpGet(url);
// Execute the request
HttpResponse response;
JSONArray arr = new JSONArray();
try {
response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
if (entity != null && response.getStatusLine().getStatusCode() == 200) {
// A Simple JSON Response Read
InputStream instream = entity.getContent();
String result = convertStreamToString(instream);
arr=new JSONArray(result);
instream.close();
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
Log.e(TAG,e.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e(TAG,e.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
Log.e(TAG,e.toString());
}
return arr;
public static String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
Log.e(TAG + "ERROR",e.toString());
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG + "ERRO",e.toString());
}
}
return sb.toString();
}
至於用於解析,在這裏你去:http://developer.android.com/reference/org/json/package-summary.html
順便說一句,這是所有容易在谷歌發現:)
不知道它是那麼容易在Java解析JSON:o –
此運行在14 sdk版本?如果要在2.3.3上運行,我該怎麼辦?而不是JSON獲得這些參數的替代方法? –
這段代碼在android studio的TAG中拋出錯誤。 ''TAG'在'android.support.v4.app.Fragment'中有專用權限'' – Shivam