xUtils3 的基本使用
来源:互联网 发布:澄海 全知药水 编辑:程序博客网 时间:2024/06/07 00:44
Activity的注解
1.在Application的oncreate方法中加入下面代码:
x.Ext.init(this);
2.在Activity的oncreate方法中加入下面代码:
x.view().inject(this);
3.加载当前的Activity布局需要如下注解:
@ContentView加入到Activity的上方例: @ContentView(R.layout.activity_main)public class MainActivity extends AppCompatActivity { x.view().inject(this); //...自己的逻辑}
4.给View进行初始化需要如下注解:
@InjectView//其实就是正常的 findViewById();方法而已例: //xx就是你的控件ID @InjectView(R.id.XX) TextView tv;
5.处理控件的各种响应事件需要如下注解:
@Envent//添加事件的方法例: //绑定单击事件 单击事件 默认的就是 所以不用指定类型 @Envent(R.id.main_btn) //回调方法 方法触发后执行的方法 修饰符只能用 private private void XX(View view){ //...写你自己的逻辑 }
网络模块
Get请求方式:
//测试网址 String url = "http://www.93.gov.cn/93app/data.do"; //定义请求参数对象 RequestParams r = new RequestParams(url); //添加请求参数 Key Value 的形式 r.addQueryStringParameter("channelId", "0"); r.addQueryStringParameter("startNum", "0"); //发送请求 (get)方式 x.http().get(r, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { t.setText(result); } @Override public void onError(Throwable ex, boolean isOnCallback) { Toast.makeText(MainActivity.this, "出错了", Toast.LENGTH_SHORT).show(); } @Override public void onCancelled(CancelledException cex) { Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_SHORT).show(); } @Override public void onFinished() { Toast.makeText(MainActivity.this, "完成了", Toast.LENGTH_SHORT).show(); } });
下面我们来看下带有缓存的GET请求,POST请求和其他请求方式类似,后面就不再赘述:
String url = "http://www.93.gov.cn/93app/data.do"; //定义请求参数对象 RequestParams r = new RequestParams(url); //添加请求参数 Key Value 的形式 r.addQueryStringParameter("channelId", "0"); r.addQueryStringParameter("startNum", "0"); x.http().get(params, new Callback.CacheCallback<String>() { @Override public boolean onCache(String result) { //得到缓存数据, 缓存过期后不会进入 this.result = result; return true; //true: 信任缓存数据, 不再发起网络请求; false不信任缓存数据 } @Override public void onSuccess(String result) { //如果服务返回304或onCache选择了信任缓存,这时result为null Log.i("JAVA", "开始请求"); if (result != null) { this.result = result; } } @Override public void onError(Throwable ex, boolean isOnCallback) { Toast.makeText(MainActivity.this, "出错了", Toast.LENGTH_SHORT).show(); } @Override public void onCancelled(CancelledException cex) { Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_SHORT).show(); } @Override public void onFinished() { Toast.makeText(MainActivity.this, "完成了", Toast.LENGTH_SHORT).show(); } }
post请求方式:
RequestParams params = new RequestParams(url);params.addBodyParameter("username","abc");params.addParameter("password","123");params.addHeader("head","android"); //为当前请求添加一个头x.http().post(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { //解析result } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { }});
其他网络请求方式:
RequestParams params = new RequestParams(url);params.addParameter("username","abc");x.http().request(HttpMethod.PUT, params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { //解析result } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { }});
上传文件:
//获取文件的路径 这里是 获取 手机SD卡中的 文件File file = new File(Environment.getExternalStorageDirectory(),"/Music/fjxc.mp3");RequestParams params = new RequestParams(url);//将文件当作参数 上传params.addBodyParameter("file", file);params.setMultipart(true);x.http().post(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { Toast.makeText(MainActivity.this, "上传成功", Toast.LENGTH_SHORT).show(); } @Override public void onError(Throwable ex, boolean isOnCallback) { Toast.makeText(MainActivity.this, "上传失败啦", Toast.LENGTH_SHORT).show(); } @Override public void onCancelled(CancelledException cex) { Toast.makeText(MainActivity.this, "上传被取消啦", Toast.LENGTH_SHORT).show(); } @Override public void onFinished() { Toast.makeText(MainActivity.this, "上传完成啦", Toast.LENGTH_SHORT).show(); }});
下载文件:
这里以下载apk为例进行说明,apk下载完成后,自动调用系统的安装方法。
RequestParams params = new RequestParams(url); //下载文件的保存路径 params.setSaveFilePath(Environment.getExternalStorageDirectory() + "/apk"); //自动修改文件名字 params.setAutoRename(true); x.http().get(params, new Callback.CommonCallback<File>() { @Override public void onSuccess(File result) { //下载成功之后进行安装apk Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(result),"application/vnd.android.package-archive"); startActivity(intent); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } });
图片模块的使用
xUtils3图片模块,重点在于加载图片的4个bind方法,loadDrawable与loadFIle用法和ImageOptions用法,需多加练习。
ImageOptions
//通过ImageOptions.Builder().set方法设置图片的属性ImageOptions imageOptions= 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(20) //设置拐角弧度.setUseMemCache(true) //设置使用MemCache,默认true
bind方法
// 加载资源文件(本地的文件)x.image().bind(imageView, "assets://test.gif", imageOptions);// 加载网络资源x.image().bind(imageView, new File("/sdcard/test.gif").toURI().toString(), imageOptions);x.image().bind(imageView, "/sdcard/test.gif", imageOptions);x.image().bind(imageView, "file:///sdcard/test.gif", imageOptions);x.image().bind(imageView, "file:/sdcard/test.gif", imageOptions);//有回调方法的bind方法x.image().bind(imageView, url, imageOptions, new Callback.CommonCallback<Drawable>() { @Override public void onSuccess(Drawable result) { } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { }}
loadDrawable方法
x.image().loadDrawable(url, imageOptions, new Callback.CommonCallback<Drawable>() { @Override public void onSuccess(Drawable result) { imageView.setImageDrawable(result); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { }});
loadFile方法
当我们通过bind()或者loadDrawable()方法加载了一张图片后,它会保存到本地文件中,那当我需要这张图片时,就可以通过loadFile()方法进行查找。
x.image().loadFile(url,imageOptions,new Callback.CacheCallback<File>(){ @Override public boolean onCache(File result) { //在这里可以做图片另存为等操作 Log.i("JAVA","file:"+result.getPath()+result.getName()); return true; //相信本地缓存返回true } @Override public void onSuccess(File result) { } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { }});
数据库模块的使用
阅读全文
0 0
- Xutils3的基本使用
- xUtils3 的基本使用
- Xutils和Xutils3的基本使用
- xUtils3.0的基本使用规则
- Xutils3框架的基本使用一
- Xutils3.+框架的基本使用操作
- android XUtils3框架的基本使用
- Android Xutils和Xutils3的基本使用
- xutils3基本使用
- XUtils3的基本用法
- xutil的使用,浅谈xUtils3的基本使用方法
- Xutils和Xutils3的基本使用(转)
- Xutils3的使用
- xutils3的使用
- xUtils3的使用
- Xutils3的使用
- Xutils3的使用
- xUtils3的使用
- Luogu 1144(SPFA+dp)
- A
- 京东云主机搭建FTP服务器,我用的Xlight-FTP服务器
- 【hpu oj 1014: 985的数学难题 [思维] 】
- MAC下Mongodb的安装
- xUtils3 的基本使用
- 不改变正负数相对顺序的重新排列
- TCP/IP编程之listen函数backlog参数详解(linux)
- win32开发流程
- JavaScript学习之引入方式、变量与方法
- Java Spring的基本知识
- kNN(K-Nearest Neighbor)最邻近规则分类
- 减少qcow2虚拟磁盘文件实际占用的存储空间
- ip的合法性判断