Unity Shader-渲染队列,ZTest,ZWrite,Early-Z

代码都封装好了,上层Activity如何调用呢?

1.依赖

如果是Android studio开发支持在线依赖(我已经把项目添加到jcenter上):

compile 'com.ansen.http:okhttpencapsulation:1.0.1'11

如果是eclipse那你先把ide切换到android studio吧。。。不闲麻烦的话也可以把源码module的源码copy出来,反正也就几个类。

2.初始化HTTPCaller类

初始化的工作可以放Application,新建MyApplication类继承Application。初始化的时候通过HttpConfig设置一些参数,也可以添加公共参数。

public class MyApplication extends Application{

@Override

public void onCreate() {

super.onCreate();

HttpConfig httpConfig=new HttpConfig();

httpConfig.setAgent(true);//有代理的情况能不能访问

httpConfig.setDebug(true);//是否debug模式 如果是debug模式打印log

httpConfig.setTagName("ansen");//打印log的tagname

//可以添加一些公共字段 每个接口都会带上

httpConfig.addCommonField("pf","android");

httpConfig.addCommonField("version_code","1");

//初始化HTTPCaller类

HTTPCaller.getInstance().setHttpConfig(httpConfig);

}

}123456789101112131415161718123456789101112131415161718

因为自定义Application,需要给AndroidManifest.xml文件application标签中的android:name属性赋值,指定自己重写的MyApplication。

发送get请求

发送get请求就一行代码。

HTTPCaller.getInstance().get(User.class, "http://139.196.35.30:8080/OkHttpTest/getUserInfo.do?per=123", null, requestDataCallback);11

请求回调

http请求回调接口,无论成功或者失败都会回调。因为是测试所以都用在这个接口来回调,在真实的企业开发中,不同的请求用不同的回调。

private RequestDataCallback requestDataCallback = new RequestDataCallback() {

@Override

public void dataCallback(User user) {

if(user==null){

Log.i("ansen", "请求失败");

}else{

Log.i("ansen", "获取用户信息:" + user.toString());

}

}

};12345678910111234567891011

发送post请求

post请求参数不是跟在url后面的,所以需要把请求参数放到集合里面。因为登录接口也是返回的用户信息,所以可以跟get请求用同一回调。

List postParam = new ArrayList<>();

postParam.add(new NameValuePair("username","ansen"));

postParam.add(new NameValuePair("password","123"));

HTTPCaller.getInstance().post(User.class, "http://139.196.35.30:8080/OkHttpTest/login.do", null, postParam, requestDataCallback);12341234

上传文件

1.上传文件不带回调进度

updaloadFile(null);11

2.上传文件回调上传进度

updaloadFile(new ProgressUIListener(){

@Override

public void onUIProgressChanged(long numBytes, long totalBytes, float percent, float speed) {

Log.i("ansen","numBytes:"+numBytes+" totalBytes:"+totalBytes+" percent:"+percent+" speed:"+speed);

}

});123456123456

上传文件跟其他表单参数不一样的地方就是new NameValuePair对象的时候需要传入三个参数,最后一个参数需要设置成true。

private void updaloadFile(ProgressUIListener progressUIListener){

List postParam = new ArrayList<>();

postParam.add(new NameValuePair("username", "ansen"));

postParam.add(new NameValuePair("password", "123"));

String filePath=copyFile();//复制一份文件到sdcard上,并且获取文件路径

postParam.add(new NameValuePair("upload_file",filePath,true));

if(progressUIListener==null){//上传文件没有回调进度条

HTTPCaller.getInstance().postFile(User.class, "http://139.196.35.30:8080/OkHttpTest/uploadFile.do", null, postParam, requestDataCallback);

}else{//上传文件并且回调上传进度

HTTPCaller.getInstance().postFile(User.class, "http://139.196.35.30:8080/OkHttpTest/uploadFile.do", null, postParam, requestDataCallback,progressUIListener);

}

}123456789101112123456789101112

上传文件(传入byte数组)

byte[] bytes=getUploadFileBytes();//获取文件内容存入byte数组

HTTPCaller.getInstance().postFile(User.class, "http://139.196.35.30:8080/OkHttpTest/uploadFile.do", null, "upload_file","test.txt",bytes,requestDataCallback);1212

上传文件(传入byte数组)&&回调上传进度

byte[] bytes=getUploadFileBytes();//获取文件内容存入byte数组

HTTPCaller.getInstance().postFile(User.class, "http://139.196.35.30:8080/OkHttpTest/uploadFile.do", null, "upload_file", "test.txt", bytes, requestDataCallback, new ProgressUIListener() {

@Override

public void onUIProgressChanged(long numBytes, long totalBytes, float percent, float speed) {

Log.i("ansen","upload file content numBytes:"+numBytes+" totalBytes:"+totalBytes+" percent:"+percent+" speed:"+speed);

}

});12345671234567

下载文件&&回调下载进度

String saveFilePath=Environment.getExternalStorageDirectory() + "/test/test222.txt";

HTTPCaller.getInstance().downloadFile("http://139.196.35.30:8080/OkHttpTest/upload/test.txt",saveFilePath,null,new ProgressUIListener(){

@Override

public void onUIProgressChanged(long numBytes, long totalBytes, float percent, float speed) {

Log.i("ansen","dowload file content numBytes:"+numBytes+" totalBytes:"+totalBytes+" percent:"+percent+" speed:"+speed);

}

});

宁波面部整形http://www.iyestar.com/hmbzx/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值