我的應用程序從服務器獲取多的Json信息android在沒有AsyncTask的情況下執行HTTP請求?
目的尋找任何方式不AsyncTask
執行Http
要求,有沒有辦法做到這一點還是我一直在使用AsyncTask
到從服務器獲取的Json信息,以保持?
我的應用程序從服務器獲取多的Json信息android在沒有AsyncTask的情況下執行HTTP請求?
目的尋找任何方式不AsyncTask
執行Http
要求,有沒有辦法做到這一點還是我一直在使用AsyncTask
到從服務器獲取的Json信息,以保持?
我建議採取看看Android Asynchronous Http Client (Loopj) library。這是一個「典型」http請求的例子。
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.google.com", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
System.out.println(response);
}
});
真棒,但我可以發送Cookie扔頭? –
其工作非常非常非常非常感謝你,但我仍然不知道劑量它發送cookie?如果是的話如何? –
我不確定你的意思是「餅乾扔頭」。 cookie的文檔可以在這裏看到 - http://loopj.com/android-async-http/。您可以使用'client.addHeader(「標題名稱」,「標題值」)添加http標題 – loeschg
這是如何ü可以做到這一點
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);
}
}
和u必須從主類稱其爲
RequestClient reqClient = new RequestClient(this);
reqClient.execute().get();
爲什麼不使用AsyncTask? – Shlublu
是的,你可以使用線程... – Selvin
@Selvin沒有目標使用AsyncTask,但在同一活動應用程序有4個按鈕,例如當我點擊按鈕1和按鈕2按鈕2必須等待按鈕1電話其完成執行http我想同時執行1和2 –