1

http://mascwt.oicp.net:7080/Monitoring/Data/getOrgData/ 这是一个url地址。如何访问 url 返回数据?url需要返回json数据。它可以访问返回数据。我想使用安卓 HttpClient。怎么会这样?

4

2 回答 2

1
public class WebServices {
public JSONObject RequestUrl(String url) {
    JSONObject jsonResponse = null;
    try {
        DefaultHttpClient httpClient = new DefaultHttpClient();
        Log.v("URL request", "--->" + url);
        URI uri = new URI(url);
        HttpGet httpget = new HttpGet(uri);
        httpget.setHeader("Accept", "application/json");
        httpget.setHeader("Content-type", "application/json; charset=utf-8");
        HttpResponse response = httpClient.execute(httpget);
        HttpEntity responseEntity = response.getEntity();
        String changeTIDRec = EntityUtils.toString(responseEntity);
        System.out.println(changeTIDRec);
        jsonResponse = new JSONObject(changeTIDRec);
        Log.v("WebService", "Response : " + jsonResponse);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return jsonResponse;
}}
于 2012-11-12T10:06:09.827 回答
1
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new AsyncTask<Void,Void,Void>() {

    @Override
    protected Void doInBackground(Void... params) {
        // TODO Auto-generated method stub
        JSONObject jObject = getJSONfromURL("http://mascwt.oicp.net:7080/Monitoring/Data/getOrgData/");
        return null;
    }
}.execute();
}
  public JSONObject getJSONfromURL(String url) {

// initialize
InputStream is = null;
String result = "";
JSONObject jArray = null;

// http post
try {
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(url);
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity entity = response.getEntity();
    is = entity.getContent();

} catch (Exception e) {
    Log.e("log_tag", "Error in http connection " + e.toString());
}

// convert response to string
try {
    BufferedReader reader = new BufferedReader(new InputStreamReader(
            is, "iso-8859-1"), 8);
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
        sb.append(line + "\n");
    }
    is.close();
    result = sb.toString();
} catch (Exception e) {
    Log.e("log_tag", "Error converting result " + e.toString());
}

// try parse the string to a JSON object
try {
    jArray = new JSONObject(result);
} catch (JSONException e) {
    Log.e("log_tag", "Error parsing data " + e.toString());
}

return jArray;

}

于 2012-11-12T10:03:03.960 回答