Xutils升级至3.0后还没有使用,今天就体验下。
一、开源地址: https://github.com/wyouflf/xUtils3
二、导入工程
使用Gradle构建时添加一下依赖即可:
compile 'org.xutils:xutils:3.3.38'
compile 'org.xutils:xutils:3.3.38'
使用Eclipse构建时操作步骤如下:
1、下载aar文件并使用然后用zip解压, 取出jar包和so文件.
修改classes.jar 为 xutils.jar,然后将jar包和jin文件夹下的所有文件都加入到Android工程的libs中。
3、使用
使用前配置
需要的权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
初始化
// 在application的onCreate中初始化
@Override
public void onCreate() {
super.onCreate();
x.Ext.init(this);
x.Ext.setDebug(BuildConfig.DEBUG); // 是否输出debug日志, 开启debug会影响性能.
...
}
最简单的网络 post 请求:
RequestParams params = new RequestParams("http://localhost:8080/test");
params.addBodyParameter("phone",phone);
params.addBodyParameter("pwd", pwd);
x.http().post(params, new Callback.CommonCallback<String>() {
@Override
public void onCancelled(CancelledException exception) {
Log.e("login", "onCancelled:" + exception.getMessage());
}
@Override
public void onError(Throwable error, boolean isOnCallback) {
error.printStackTrace();
}
@Override
public void onFinished() {
}
@Override
public void onSuccess(String response) {
Log.i("login", response);
}
});
get请求:
RequestParams params = new RequestParams("https://www.baidu.com/s");
params.setSslSocketFactory(...); // 设置ssl
params.addQueryStringParameter("username", "xUtils");
x.http().get(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
Toast.makeText(x.app(), result, Toast.LENGTH_LONG).show();
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
Toast.makeText(x.app(), ex.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public void onCancelled(CancelledException cex) {
Toast.makeText(x.app(), "cancelled", Toast.LENGTH_LONG).show();
}
@Override
public void onFinished() {
}
});