AsyncHttpClient的使用

mync 8年前發布 | 13K 次閱讀 Android開發 移動開發 AsyncHttpClient

不要做代碼的輪子


與其重復的寫代碼,不如利用別人寫好的代碼開發時更節省時間,最近從github上下載了一套代碼,http異步請求get,post請求,也可以用作文件上傳,很方便,感覺比較好,推薦給大家用


以登錄為例,代碼寫的可能不太好,試著應用一下

    AsyncHttpClient client = new AsyncHttpClient();  

                        RequestParams params = new RequestParams();  

                        params.add("RequestType", "");  
                        params.add("UserID", "-1");  
                        params.add("NurseID", "-1");  
                        params.add("HospitalId", "-1");  

                        JSONObject jsonObject = new JSONObject();  
                        try {  
                            jsonObject.put("UserCode", username);  
                            jsonObject.put("Password", password);  
                        } catch (JSONException e) {  
                            // TODO Auto-generated catch block  
                            e.printStackTrace();  
                        }  

                        params.add("RequestParam", jsonObject.toString());  

                        client.get(path, params, new TextHttpResponseHandler() {  

                            @Override  
                            public void onSuccess(int statusCode, Header[] headers,  
                                    String responseString) {  
                                // TODO Auto-generated method stub  
                                if (statusCode == 200) {  

                                    // Toast.makeText(getApplicationContext(),  
                                    // responseString, Toast.LENGTH_SHORT)  
                                    // .show();  
                                                Intent intent = new Intent();  
                                                intent.setClass(  
                                                        getApplicationContext(),  
                                                        MainActivity.class);  
                                                startActivity(intent);  
                                            } else {  
                                                Intent intent = new Intent();  
                                                intent.setClass(  
                                                        getApplicationContext(),  
                                                        MainActivity.class);  
                                                startActivity(intent);  
                                            }  

                                        } else {  
                                            Toast.makeText(getApplicationContext(),  
                                                    msg, Toast.LENGTH_SHORT).show();  
                                        }  
                                    } catch (JSONException e) {  
                                        // TODO Auto-generated catch block  
                                        e.printStackTrace();  
                                    }  
                                }else {  
                                    Toast.makeText(getApplicationContext(),  
                                            "網絡連接超時", Toast.LENGTH_SHORT).show();  
                                }  
                            }  

                            @Override  
                            public void onFailure(int statusCode, Header[] headers,  
                                    String responseString, Throwable throwable) {  
                                // TODO Auto-generated method stub  
                                Toast.makeText(getApplicationContext(),  
                                        responseString, Toast.LENGTH_SHORT).show();  
                            }  

1.聲明一個client對象,初始化

2.根據需要調用client中get,post請求

3,重寫onSuccess()和onFailure()方法


注:在https://github.com/AsyncHttpClient/async-http-client下載包,直接將library下的包直接粘貼到項目src下,直接調用即可

 本文由用戶 mync 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!