編輯:關於Android編程
NoHttp是專門做Android網絡請求與下載的框架,NoHttp基本使用方法如下
本文demo源碼下載地址: http://xiazai.jb51.net/201609/yuanma/AndroidNoHttp(jb51.net).rar
本文的例子來自上面的demo中的OriginalActivity中。
代碼
對於新手, 看別人封裝好的代碼允許要稍微吃力一點,尤其是一個框架,所以我們先看NoHttp最原始的使用方法:
public class OriginalActivity extends BaseActivity implements View.OnClickListener { /** * 用來標志請求的what, 類似handler的what一樣,這裡用來區分請求 */ private static final int NOHTTP_WHAT_TEST = 0x001; /** * 請求的時候等待框 */ private WaitDialog mWaitDialog; /** * 請求隊列 */ private RequestQueue requestQueue; @Override protected void onActivityCreate(Bundle savedInstanceState) { setTitle(Application.getInstance().nohttpTitleList[0]); setContentView(R.layout.activity_original); // 按鈕點擊監聽 findView(R.id.btn_start).setOnClickListener(this); mWaitDialog = new WaitDialog(this); // 創建請求隊列, 默認並發3個請求, 傳入數字改變並發數量: NoHttp.newRequestQueue(1); requestQueue = NoHttp.newRequestQueue(); } @Override public void onClick(View v) { // 創建請求對象 Request<String> request = NoHttp.createStringRequest(url, RequestMethod.POST); // 添加請求參數 request.add("userName", "yolanda"); request.add("userPass", 1); request.add("userAge", 1.25); // 上傳文件 request.add("userHead", new FileBinary(new File(path))); // 添加請求頭 request.addHeader("Author", "nohttp_sample"); // 設置一個tag, 在請求完(失敗/成功)時原封不動返回; 多數情況下不需要 // request.setTag(object); /* * what: 當多個請求同時使用同一個OnResponseListener時用來區分請求, 類似handler的what一樣 * request: 請求對象 * onResponseListener 回調對象,接受請求結果 */ requestQueue.add(NOHTTP_WHAT_TEST, request, onResponseListener); } /** * 回調對象,接受請求結果 */ private OnResponseListener<String> onResponseListener = new OnResponseListener<String>() { @SuppressWarnings("unused") @Override public void onSucceed(int what, Response<String> response) { if (what == NOHTTP_WHAT_TEST) {// 判斷what是否是剛才指定的請求 // 請求成功 String result = response.get();// 響應結果 // 響應頭 Headers headers = response.getHeaders(); headers.getResponseCode();// 響應碼 response.getNetworkMillis();// 請求花費的時間 } } @Override public void onStart(int what) { // 請求開始,顯示dialog mWaitDialog.show(); } @Override public void onFinish(int what) { // 請求結束,關閉dialog mWaitDialog.dismiss(); } @Override public void onFailed(int what, String url, Object tag, CharSequence error, int resCode, long ms) { // 請求失敗 ... } }; @Override protected void onDestroy() { super.onDestroy(); requestQueue.cancelAll();// 退出APP時停止所有請求 requestQueue.stop();// 退出APP時停止隊列 } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
因為有個需求是在自己的app中添加鈴聲並播放,而之前在網上查閱了相關的資料卻大多都是教人怎麼設置手機來電、鬧鐘等手機系統的功能,所以就以此文章作為記錄。一、本篇文章的大致
1.回顧上篇學習了 Android 系統服務的 10個實例 ,當然 還有更多的系統服務沒有使用;留下來的遺憾就是,昨晚沒有將demo下載地址分享出去; &nbs
Android 虛化圖片 模糊圖片 圖片毛玻璃效果。 效果如圖: 在Android可以用RenderScript方便的實現這個方法: private void blu
RatingBar簡單介紹RatingBar是基於SeekBar(拖動條)和ProgressBar(狀態條)的擴展,用星形來顯示等級評定,在使用默認RatingBar時,