国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android詳解之NoHttp最基本使用(無封裝)

2019-12-12 05:18:07
字體:
來源:轉載
供稿:網友

NoHttp是專門做Android網絡請求與下載的框架,NoHttp基本使用方法如下

本文demo源碼下載地址: http://xiazai.VeVB.COm/201609/yuanma/AndroidNoHttp(VeVB.COm).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時停止隊列 }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜川县| 云安县| 靖边县| 榆中县| 夏津县| 那曲县| 郓城县| 双桥区| 东兰县| 辰溪县| 嘉禾县| 常德市| 江津市| 进贤县| 南开区| 镇平县| 大余县| 卢氏县| 永宁县| 平原县| 梁山县| 荔浦县| 敦煌市| 鹿泉市| 阳原县| 连江县| 卓资县| 阿拉善右旗| 浦北县| 小金县| 黔西县| 汶上县| 江安县| 云霄县| 三河市| 依安县| 息烽县| 开远市| 梓潼县| 花垣县| 北碚区|