Nohttp框架在Android Studio中的使用
1、添加noHttp的使用权限
- <!-- 读写 sd 卡 -->
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <!-- 联网 -->
- <uses-permission android:name="android.permission.INTERNET" />
- <!-- 读取网络状态 -->
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
2、依赖noHttp开发库
- compile 'com.yolanda.nohttp:nohttp:1.1.0'
- compile 'com.yanzhenjie.nohttp:okhttp:1.1.0'
- nohttp的底层 1.httpurlconnection 2.okhttp
3、要求在Application对nohttp进行初始化
- public class MyApp extends Application{
- @Override
- public void onCreate() {
- super.onCreate();
- // 步骤三。要求在 application 对 nohttp 进行初始化
- // NoHttp.initialize(this);
- //3.1. 创建框架的配置参数对象
- NoHttp.Config config=new NoHttp.Config();
- //3.2. 连接超时
- config.setConnectTimeout(5000);
- //3.3. 设置底层 , 底层是 OkHttp
- config.setNetworkExecutor(new OkHttpNetworkExecutor());
- NoHttp.initialize(this,config);
- }
- }
4、在清单文件中注册application
- <application android:allowBackup="true" android:icon="@mipmap/ic_launcher"
- android:name=".MyApp"
5、创建请求并进行发送 处理服务端返回的数据
- public class HttpUtil {
- private static RequestQueue sRequestQueue;
- public static void get(String url, OnResponseListener<String> listener) {
- StringRequest request = new StringRequest(url, RequestMethod.GET);
- if (sRequestQueue == null) {
- //创建请求队列
- sRequestQueue = NoHttp.newRequestQueue();
- }
- request.setCacheMode(CacheMode.NONE_CACHE_REQUEST_NETWORK);
- sRequestQueue.add(0, request, listener);
- }
- }
注:StringRequest: 返回结果为 String(json/xml) 的请求,使用最广泛的请求对象
RequestQueue :用来发送请求的。支持子线程
OnResponseListener :回调对象 | 监听器 提供空方法来编写处理逻辑 ## 步骤五。调用例子
6、设置响应的监听
- OnResponseListener<String> listener = new OnResponseListener<String>() {
- // 网络请求开始的界面显示
- @Override
- public void onStart(int what) {
- }
- // 网络请求结束的界面显示
- @Override
- public void onFinish(int what) {
- }
- // 结果成功的情况
- @Override
- public void onSucceed(int what, Response<String> response) {
- }
- // 结果失败的情况
- @Override
- public void onFailed(int what, Response<String> response) {
- }
- };
Nohttp框架在Android Studio中的使用的更多相关文章
- 在Android Studio中进行单元测试和UI测试
本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...
- Android studio中导入第三方类库
常常在github上看到一些好用的框架,但是对于一个新手怎样在android studio上导入去总会遇到各种麻烦,索性来研究下第三方类库怎样在android studio上导入. 以我在github ...
- android studio 中移除module和恢复module
一.移除Android Studio中module 在Android Studio中想要删除某个module时,在Android Studio中选中module,右键发现没有delete,如图: An ...
- Android Studio中Button等控件的Text中字符串默认大写的解决方法
初学Android的时候,在Android Studio中xml里面添加一个Button.EditText等控件后,它的Text总是会显示大写,即使你输入的字符串是小写也不行,控制字符串大小写的属性是 ...
- .Net程序员之不学Java做安卓开发:Android Studio中的即时调试窗口
对学.Net的人来说,JAVA开发是一场噩梦. .net中的即时窗口,调试时直接在里面写代码,对程序中的各种方法/属性进行调用,很方便. Android Studio中找了好久,参考如下网址,也有类似 ...
- 如何将Eclipse中的项目迁移到Android Studio 中
如何将Eclipse中的项目迁移到Android Studio 中 如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的 ...
- Android开发的小技巧,在Android Studio中使用Designtime Layout Attributes
在编写xml文件时,为了预览效果,经常会使用默认填上一些内容,比如TextView时,随便写上一个text <TextView ... android:text="Name:" ...
- 在android studio 中使用applicationid的问题
现在我需要对项目app的某个功能做性能测试,主要测试耗电量的多少. 1.我想到的方式是,我需要在同一台手机测试,同一个应用,需要安装在手机两次,第二次安装不覆盖第一次的安装. 在android stu ...
- Android studio 中的配置编译错误总结
1.编译Andorid 工程的时候,有时候出现gradle 报下面的错误. Error:(1, 0) Cause: com/android/build/gradle/LibraryPlugin : U ...
随机推荐
- svn的使用详细说明
转载请指明:杨凯专属频道 1.在电脑的任意位置创建一个版本库文件夹 最好是全英文的目录 例如 在c:\svn下面创建一个 2.打开此文件,在这里右键 找--TortoiseSVN--->Crea ...
- [Python]根据地址从maps文件中找相应的库名
/proc/PID/maps提供了进程的memory layout,下面脚本根据给定地址找出相应的库名: #!/usr/bin/python from __future__ import print_ ...
- gcc与g++的编译链接的示例详解
一.编译方式的示例详解 1. 编译C代码 代码如下:main.c /*! ************************************************************** ...
- (89C51)定时器计时1s
unsigned ; void initT1() { EA=; TH1=0xDC; TL1=0X00; TMOD=0x10; TR1=; ET1=; } { TH1=0xDC; TL1=0X00; c ...
- MySql开启远程访问(Linux)
Linux服务器上安装了MySql数据库服务器之后,在远程访问出现了61错误.经检查后,发现需要在MySql配置文件中取消绑定IP.具体做法如下: 打开my.cnf配置文件.连接到服务器之后,在终端中 ...
- SDN理解:SDN现状
目录 - SDN现状 - (一)SDN现状 - SDN诞生的背景 - SDN的介绍 - (二)SDN领域的相关组织和发展现状 - 1.ONF - 2.OpenDaylight - 3. IETF - ...
- C# Volatile 类
关于C#中Volatile类的具体信息,请访问MSDN: https://msdn.microsoft.com/en-us/library/system.threading.volatile(v=vs ...
- 关于Two-Pass标记连通域个数
关于Two-Pass标记连通域个数 背景 在完成图像的一系列处理后,得到二值图,一般会统计目标数量,即是获取连通域个数,这里采用TwoPass的方法. 基本思想 在Two-pass连通域标记中,第一次 ...
- 开通域名绑定DDNS
一.初衷 我想要有一个自己的域名,然后有自己的server,在server上搭一个网站或者开通一个ftp服务,我想通过这个域名来访问它. 二.什么是DDNS DDNS 动态dns,电信宽带采用拨号联网 ...
- JavaScript简单的一些....
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...