iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android详解之NoHttp最基本使用(无封装)
  • 260
分享到

Android详解之NoHttp最基本使用(无封装)

nohttp封装Android 2022-06-06 07:06:26 260人浏览 八月长安
摘要

NoHttp是专门做Android网络请求与下载的框架,NoHttp基本使用方法如下 本文demo源码下载地址: http://xiazai.jb51.net/201609/y

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 {
 
 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);
  
  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时停止队列
 }
}
您可能感兴趣的文章:六款值得推荐的android(安卓)开源框架简介Android Retrofit 2.0框架上传图片解决方案Android使用Fragment打造万能页面切换框架浅析KJFrameForAndroid框架如何高效加载Bitmapandroid上的一个网络接口和图片缓存框架enif简析简略分析Android的Retrofit应用开发框架源码在Android中动态添加Panel框架的实现代码Android中XUtils3框架使用方法详解(一)举例讲解Android应用开发中OTTO框架的基本使用Android开发框架之自定义ZXing二维码扫描界面并解决取景框拉伸问题


--结束END--

本文标题: Android详解之NoHttp最基本使用(无封装)

本文链接: https://www.lsjlt.com/news/23891.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作