-3

アプリケーションがサーバーから複数の Json 情報を取得する

Httpなしでリクエストを実行する方法を探しています。それを行う方法はありますか、またはサーバーから Json 情報を取得AsyncTaskするために使用し続ける必要がありますか?AsyncTask

4

2 に答える 2

2

Android Asynchronous Http Client (Loopj) ライブラリをご覧になることをお勧めします。「典型的な」http リクエストの例を次に示します。

AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.google.com", new AsyncHttpResponseHandler() {
    @Override
    public void onSuccess(String response) {
        System.out.println(response);
    }
});
于 2013-07-30T13:44:47.757 に答える
0

これはあなたがこれを行うことができる方法です

public class RequestClient extends AsyncTask<String, Void, String>{
    Context context;

    public RequestClient(Context c) {
        context = c;
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... aurl){
    String responseString="";
    HttpClient client = null;
    try {
         client = new DefaultHttpClient();  
         HttpGet get = new HttpGet(LoginActivity.url);
         HttpResponse responseGet = client.execute(get);  
         HttpEntity resEntityGet = responseGet.getEntity();  
         if (resEntityGet != null) {  
             responseString = EntityUtils.toString(resEntityGet);
             Log.i("GET RESPONSE", responseString.trim());
         }
    } catch (Exception e) {
        Log.d("ANDRO_ASYNC_ERROR", "Error is "+e.toString());
    }
        Log.d("ANDRO_ASYNC_RESPONSE", responseString.trim());
        client.getConnectionManager().shutdown();
     return responseString.trim();

    }


    @Override
    protected void onPostExecute(String response) {
         super.onPostExecute(response); 
        }
}

メインクラスから次のように呼び出す必要があります

RequestClient reqClient = new RequestClient(this);
reqClient.execute().get();
于 2013-07-30T13:39:30.027 に答える