本文介绍了JSON,XML连接Web API为Android?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是pretty新的Andr​​oid和Java的世界,我想知道我是如何从Web API这里的进入机器人。
我应该使用JSON或XML?
哪些步骤?首先,我想知道如何下载数据,然后如何将它解析为变量。
任何样品code?


解决方案

 的HttpClient HttpClient的=新DefaultHttpClient();
    // prepare请求对象
    HTTPGET HTTPGET =新HTTPGET(URL);
    //执行请求
    HTT presponse响应;    JSONArray ARR =新JSONArray();
    尝试{
       响应= httpclient.execute(HTTPGET);       HttpEntity实体= response.getEntity();       如果(实体= NULL&放大器;!&安培; response.getStatusLine()的getStatus code()== 200){
                //一个简单的JSON响应读取
                InputStream的河道= entity.getContent();
                字符串结果= convertStreamToString(插播广告);
                ARR =新JSONArray(结果);
                instream.close();            }
        }赶上(ClientProtocolException E){
            // TODO自动生成catch块
            Log.e(TAG,e.toString());
        }赶上(IOException异常五){
            // TODO自动生成catch块
            Log.e(TAG,e.toString());
        }赶上(JSONException E){
            // TODO自动生成catch块
            Log.e(TAG,e.toString());
        }        返回ARR;
公共静态字符串convertStreamToString(InputStream为){
    读者的BufferedReader =新的BufferedReader(新的InputStreamReader(是));
    StringBuilder的SB =新的StringBuilder();    串线= NULL;
    尝试{
        而((行= reader.readLine())!= NULL){
            sb.append(行+\\ n);
        }
    }赶上(IOException异常五){
        Log.e(TAG +ERRORe.toString());    } {最后
        尝试{
            is.close();
        }赶上(IOException异常五){
            e.printStackTrace();
            Log.e(TAG +ERRO,e.toString());
        }
    }
    返回sb.toString();
}

至于解析,在这里你去:

顺便说一句,这是很容易的所有谷歌上找到:)

I am pretty new to the world of Android and Java and I am wondering how I get data from the web api here http://www.imdbapi.com/ Into android.Should I use JSON or XML?What are the steps? Firstly I want to know how to download the data and then how to parse it to variables.Any sample code?

解决方案
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();
}

As for parsing, here you go: http://developer.android.com/reference/org/json/package-summary.html

btw, this was all easily found on google : )

这篇关于JSON,XML连接Web API为Android?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-26 14:36