当前位置: 首页 > news >正文

做网站前端需要懂得深圳网络营销软件

做网站前端需要懂得,深圳网络营销软件,德州网架公司,网站套餐 襄阳旭日网站建设Android Studio 使用前,对于Android Studio的用户,可以选择添加: compile project(‘:okhttputils’) 或者 compile ‘com.zhy:okhttputils:2.0.0’ Eclipse 自行copy源码。 二、基本用法 目前基本的用法格式为: OkHttpUtils .get()…
  • Android Studio

使用前,对于Android Studio的用户,可以选择添加:

compile project(‘:okhttputils’)

或者

compile ‘com.zhy:okhttputils:2.0.0’

  • Eclipse

自行copy源码。

二、基本用法


目前基本的用法格式为:

OkHttpUtils

.get()

.url(url)

.addParams(“username”, “hyman”)

.addParams(“password”, “123”)

.build()

.execute(callback);

通过链式去根据自己的需要添加各种参数,最后调用execute(callback)进行执行,传入callback则代表是异步。如果单纯的execute()则代表同步的方法调用。

可以看到,取消了之前一堆的get重载方法,参数也可以进行灵活的选择了。

下面简单看一下,全部的用法:

(1)GET请求

String url = “http://www.csdn.net/”;

OkHttpUtils

.get()

.url(url)

.addParams(“username”, “hyman”)

.addParams(“password”, “123”)

.build()

.execute(new StringCallback()

{

@Override

public void onError(Request request, Exception e)

{

}

@Override

public void onResponse(String response)

{

}

});

(2)POST请求

OkHttpUtils

.post()

.url(url)

.addParams(“username”, “hyman”)

.addParams(“password”, “123”)

.build()

.execute(callback);

(3)Post String

OkHttpUtils

.postString()

.url(url)

.content(new Gson().toJson(new User(“zhy”, “123”)))

.build()

.execute(new MyStringCallback());

将string作为请求体传入到服务端,例如json字符串。

(4)Post File

OkHttpUtils

.postFile()

.url(url)

.file(file)

.build()

.execute(new MyStringCallback());

将file作为请求体传入到服务端.

(5)基于POST的文件上传(类似web上的表单)

OkHttpUtils.post()//

.addFile(“mFile”, “messenger_01.png”, file)//

.addFile(“mFile”, “test1.txt”, file2)//

.url(url)

.params
(params)//

.headers(headers)//

.build()//

.execute(new MyStringCallback());

(6)下载文件

OkHttpUtils//

.get()//

.url(url)//

.build()//

.execute(new FileCallBack(Environment.getExternalStorageDirectory().getAbsolutePath(), “gson-2.2.1.jar”)//

{

@Override

public void inProgress(float progress)

{

mProgressBar.setProgress((int) (100 * progress));

}

@Override

public void onError(Request request, Exception e)

{

Log.e(TAG, “onError :” + e.getMessage());

}

@Override

public void onResponse(File file)

{

Log.e(TAG, “onResponse :” + file.getAbsolutePath());

}

});

(7)显示图片

OkHttpUtils

.get()//

.url(url)//

.build()//

.execute(new BitmapCallback()

{

@Override

public void onError(Request request, Exception e)

{

mTv.setText(“onError:” + e.getMessage());

}

@Override

public void onResponse(Bitmap bitmap)

{

mImageView.setImageBitmap(bitmap);

}

});

哈,目前来看,清晰多了。

三、对于上传下载的回调


new Callback<?>()

{

//…

@Override

public void inProgress(float progress)

{

//use progress: 0 ~ 1

}

}

对于传入的callback有个inProgress方法,需要拿到进度直接复写该方法即可。

四、对于自动解析为实体类


目前去除了Gson的依赖,提供了自定义Callback的方式,让用户自己去解析返回的数据,目前提供了StringCallbackFileCallback,BitmapCallback 分别用于返回string,文件下载,加载图片。

当然如果你希望解析为对象,你可以:

public abstract class UserCallback extends Callback

{

//非UI线程,支持任何耗时操作

@Override

public User parseNetworkResponse(Response response) throws IOException

{

String string = response.body().string();

User user = new Gson().fromJson(string, User.class);

return user;

}

}

自己使用自己喜欢的Json解析库完成即可。

解析成List<User>,则如下:

public abstract class ListUserCallback extends Callback<List>

{

@Override

public List parseNetworkResponse(Response response) throws IOException

{

String string = response.body().string();

List user = new Gson().fromJson(string, List.class);

return user;

}

}

五、对于https单向认证


非常简单,拿到xxx.cert的证书。

然后调用

OkHttpUtils.getInstance()

.setCertificates(inputstream);

建议使用方式,例如我的证书放在assets目录:

/**

  • Created by zhy on 15/8/25.

*/

public class MyApplication extends Application

{

@Override

public void onCreate()

{

super.onCreate();

try

{

OkHttpUtils

.getInstance()

.setCertificates(getAssets().open(“aaa.cer”),

getAssets().open(“server.cer”));

} catch (IOException e)

{

e.printStackTrace();

}

}

}

即可。别忘了注册Application。

注意:如果https网站为权威机构颁发的证书,不需要以上设置。自签名的证书才需要。

六、配置


(1)全局配置

可以在Application中,通过:

OkHttpClient client =

OkHttpUtils.getInstance().getOkHttpClient();

然后调用client的各种set方法。

例如:

client.setConnectTimeout(100000, TimeUnit.MILLISECONDS);

(2)为单个请求设置超时

比如涉及到文件的需要设置读写等待时间多一点。

OkHttpUtils

.get()//

.url(url)//

.tag(this)//

.build()//

.connTimeOut(20000)

.readTimeOut(20000)

.writeTimeOut(20000)

.execute()

调用build()之后,可以随即设置各种timeOut.

(3)取消单个请求

RequestCall call = OkHttpUtils.get().url(url).build();

call.cancel();

(4)根据tag取消请求

目前对于支持的方法都添加了最后一个参数Object tag,取消则通过OkHttpUtils.cancelTag(tag)执行。

例如:在Activity中,当Activity销毁取消请求:

OkHttpUtils

.get()//

.url(url)//

.tag(this)//

.build()//

@Override

protected void onDestroy()

{

super.onDestroy();

//可以取消同一个tag的

OkHttpUtils.cancelTag(this);//取消以Activity.this作为tag的请求

}

http://www.hkea.cn/news/520340/

相关文章:

  • 做文献ppt模板下载网站有哪些常德政府网站
  • 青岛网站建设公司排行外链工具在线
  • 网站怎么做显得简洁美观seo数据是什么意思
  • 阿里巴巴开通诚信通后网站怎么做网络优化网站
  • 东莞手机网站价格便宜个人免费建站软件
  • 电子商务网站建设的步骤一般为百度100%秒收录
  • 做企业网站怎么样免费的推广软件下载
  • 拓普网站建设美国搜索引擎
  • 网站开发者工资冯耀宗seo视频教程
  • 软件开发各阶段工作量比例搜索引擎优化的基础是什么
  • 网站怎么做才能将名声打响云搜索app
  • 南阳做网站优化哪家好一级域名生成二级域名
  • 3322动态域名官网郑州seo联系搜点网络效果好
  • 网络营销渠道的类型河北seo基础教程
  • 做微信网站多少钱seo内部优化包括哪些内容
  • 中国城乡建设网站网络优化公司排名
  • 个人网站做淘宝客教程torrentkitty磁力搜索引擎
  • 广州北京网站建设seo培训讲师招聘
  • 手机上免费自己做网站网络营销案例分享
  • 长沙大型网站建设谷歌账号
  • 大兴德艺网站建设发布悬赏任务的推广平台
  • html5制作网站模板百度产品大全首页
  • 贵阳网站建设贵阳百度推广怎么推广
  • 瓮安建设局网站google play三件套
  • 大型门户网站模板营销神器
  • 学设计的网站都有哪些seo和sem
  • 如何做网站流量买卖营销型网站的特点
  • 装修设计网站哪个平台最好软文推广多少钱一篇
  • 怎么做微信里的网页网站链接网站设计平台
  • 长宁专业做网站网络营销案例分享