基于Android Volley的網絡請求工具:android-volley-manager
基于Volley的網絡請求工具。
一、說明
AndroidVolley,Volley核心庫工程(https://github.com/mcxiaoke/android-volley)。
AndroidVolleySample,網絡請求工具示例工程。
Release,jar包。直接下載
二、Volley基本處理流程:
1、應用初始化Volley。
2、Volley創建一個RequestQueue、NetworkDispatcher組及Network。
3、RequestQueue即一個Request隊列,RequestQueue會創建一個ExecutorDelivery。
4、NetworkDispatcher實質是Thread,從RequestQueue中取Request,通過Network加以執行。
5、Network負責網絡請求處理,具體過程交給HttpStack處理。
6、HttpStack分HttpURLConnection(SDK_INT>=9)HttpClient與兩種方式。
7、ExecutorDelivery負責處理請求結果,并與主線程進行交互。
8、Volley在上述2-7的基礎上增加了Cache等附加處理環節。
三、網絡請求工具示例
1.init RequestManager
public class VolleyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
RequestManager.getInstance().init(this);
}
@Override
public void onTerminate() {
super.onTerminate();
}
}</pre></code>
2.make request by RequestManager
public class MainActivity extends Activity {
private LoadControler loadControler = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
testPost();
testGet();
}
/**
* test POST method
*/
private void testPost() {
loadControler = RequestManager.getInstance().post("http://allthelucky.ap01.aws.af.cm/memoServer", null, requestListener, 0);
}
/**
* test GET method
*/
private void testGet() {
loadControler = RequestManager.getInstance().get("http://allthelucky.ap01.aws.af.cm/memoServer", requestListener, 1);
}
/**
* RequestListener for receiving result
*/
private RequestListener requestListener = new RequestListener() {
@Override
public void onRequest() {
}
@Override
public void onSuccess(String response, String url, int actionId) {
System.out.println("actionId:"+actionId+", OnSucess!\n"+response);
}
@Override
public void onError(String errorMsg, String url, int actionId) {
System.out.println("actionId:"+actionId+", onError!\n"+errorMsg);
}
};
@Override
public void onBackPressed() {
super.onBackPressed();
loadControler.cancel();
}
}</pre></code>https://github.com/winfirm/android-volley-manager
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!