//详细见解请看:http://www.2cto.com/kf/201607/524976.html
xUtils是基于Afinal开发的目前功能比较完善的一个Android开源框架,最近又发布了xUtil3.0,在增加新功能的同时又提高了框架的性能.
1.首先添加一下依赖:
compile ‘org.xutils:xutils:3.3.36’
如果使用eclipse可以点击下面链接下载aar文件, 然后用zip解压,取出jar包和so文件。
Github下载:https://github.com/wyouflf/xUtils3
JCenter下载:http://jcenter.bintray.com/org/xutils/xutils/
Maven下载1:http://central.maven.org/maven2/org/xutils/xutils/
Maven下载2:http://repo1.maven.org/maven2/org/xutils/xutils/
2-3)创建Application
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
x.Ext.init(this);//初始化,xutils3需要初始化
x.Ext.setDebug(true); //是否输出debug日志,开启debug会影响性能。
}
}2-4)在Manifest文件中注册MyApp
//获取网络数据
private void getServerData() {
String url = "http://www.93.gov.cn/93app/data.do";//这是url地址
RequestParams params = new RequestParams(url);//请求数据
params.addQueryStringParameter("channelId", "0");//这两个方法是拼接参数
params.addQueryStringParameter("startNum", "0");
//这是最主要的一步
x.http().get(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
// result是最后请求的结果!
Log.i("xxx", result);
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
//这是上传文件的方法
4)上传文件
String url = "http://www.android.com";
@Event(R.id.upload)
private void upload(View v){
String path="/mnt/sdcard/Download/icon.jpg";
RequestParams params = new RequestParams(url);
params.setMultipart(true);
params.addBodyParameter("file",new File(path));
x.http().post(params, new Callback.CommonCallback() {
@Override
public void onSuccess(String result) {
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
//xutils解析图片的方法:
ImageOptions options = new ImageOptions.Builder().setCircular(true).setCrop(true).setSize(100, 100).setLoadingDrawableId(R.mipmap.ic_launcher).build();
x.image().bind(iv, “地址”, options);
ImageOptions options = new ImageOptions.Builder().setFadeIn(true).build(); //淡入效果
//ImageOptions.Builder()的一些其他属性:
//.setCircular(true) //设置图片显示为圆形
//.setSquare(true) //设置图片显示为正方形
//setCrop(true).setSize(200,200) //设置大小
//.setAnimation(animation) //设置动画
//.setFailureDrawable(Drawable failureDrawable) //设置加载失败的动画
//.setFailureDrawableId(int failureDrawable) //以资源id设置加载失败的动画
//.setLoadingDrawable(Drawable loadingDrawable) //设置加载中的动画
//.setLoadingDrawableId(int loadingDrawable) //以资源id设置加载中的动画
//.setIgnoreGif(false) //忽略Gif图片
//.setParamsBuilder(ParamsBuilder paramsBuilder) //在网络请求中添加一些参数
//.setRaduis(int raduis) //设置拐角弧度
//.setUseMemCache(true) //设置使用MemCache,默认true
/**
* 加载图片的4个bind方法
*/
x.image().bind(image01, urls[0]);
x.image().bind(image02, urls[1], options);