Xutils简介和基本使用
2017-09-02 14:03
309 查看
特性: 支持超大文件(超过2G)上传 更全面的http请求协议支持(11种谓词) 拥有更加灵活的ORM, 和greenDao一致的性能 更多的事件注解支持且不受混淆影响... 图片绑定支持gif(受系统兼容性影响, 部分gif文件只能静态显示), webp; 支持圆角, 圆形, 方形等裁剪, 支持自动旋转...
四大模块:
xUtils3主要包含注解模块、网络模块、图片模块和数据库模块
依赖:
compile 'org.xutils:xutils:3.3.36'
权限:
<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); } //数据库初始化 public static DbManager getDb(){ DbManager.DaoConfig config = new DbManager.DaoConfig().setDbName("wyb.db").setDbDir(new File("/mnt/sdcard")).setDbVersion(1); DbManager db = x.getDb(config); return db; } 在AndroidManifest文件中注册MyApp <application android:name=".MyApp" ... </application>
注解模块:
通过注解的方式加载布局和获取控件
//放在对应的Activity类上面加载布局文件 注意要将onCreate()中的setContentView(R.layout.activity_main);注释掉 @ContentView(R.layout.activity_main) public class MainActivity extends AppCompatActivity { //找控件 @ViewInject(R.id.tv_title) TextView tv_title; //监听事件 @Event(type =事件类型.class, value = 对应的控件R.id.**) }
网络模块:
注意:
1.可以通过接口回调设置缓存
2.关于query参数? http请求可以通过 header, url, body(请求体)传参; query参数是url中问号(?)后面的参数.
3.关于body参数? body参数只有PUT, POST, PATCH, DELETE(老版本RFC2616文档没有明确指出它是否支持, 所以暂时支持)请
RequestParams params = new RequestParams(url); //关于query参数 params.addQueryStringParameter("", ""); //关于body参数 params.addBodyParameter("", ""); //下载文件的保存路径 params.setSaveFilePath(Sdpath+"文件名"); //自动修改文件名字 params.setAutoRename(true); //分段 params.setMultipart(true); //new Callback.CacheCallback<object>缓存 会多重写一个方法public boolean onCache(String result) {} onCache()返回值 true代表支持缓存 如果缓存时间没有过期就不走网络请求,false不支持缓存 x.http().get(params, new Callback.CommonCallback<object>() { @Override public void onSuccess(File result) { } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } });
图片模块:
ImageOptions options = new ImageOptions.Builder(); /** * 加载图片 * //通过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(int raduis) //设置拐角弧度 * .setUseMemCache(true) //设置使用MemCache,默认true */ 根据需求自定义添加 x.image().bind(控件, 地址, options设置图片加载属性);
数据库模块:
1.注意要看上面的初始化
可以根据需求封装一个JavaBean
用来将数据库表和对象关联
//这是一个简单的案例 @Table(name = "Student", onCreated = "") public class Student { /** * name = "id",数据库表中的字段 * isId = true,是否是主键 * autoGen = true,是否自增 * property = "NOT NULL" 不为空 */ @Column(name = "id", isId = true, autoGen = true, property = "NOT NULL") private int id; //必须提供无参构造 ... } APP类定义数据库初始化的类 DbMeass db = APP类.getDb();//返回值得到db对象 //可以通过db调取增删改查的方法 介绍一些简单方法 //添加 db.save(Student对象); //查询第一条 db.findFirst(Student.class); //修改 先查询一条在修改值 Student student2 = db.findById(Student.class, "2"); student2.setName("老王"); db.update(student2, "name"); //删除表 db.dropTable(Student.class); //删除库 db.dropDb(); //其他方法可以自己去体验
相关文章推荐
- xUtils更新到3.0后的基本使用规则
- 文字编辑器FCKeditor 简介以及基本配置和使用方法
- xUtils更新到3.0后的基本使用规则(转)
- XUtils3框架的基本使用方法(一)
- Android中蓝牙的基本使用----BluetoothAdapter类简介
- xUtils简介及其使用方法
- Vim的基本使用简介
- JAVA IDE IntelliJ IDEA使用简介(二)—之基本操作
- Fastjson简介和基本使用
- RecycleView简介及基本使用
- Elasticsearch简介&基本使用
- xUtils3 的基本使用
- 快速开发之xUtils(一)简介以及使用方法
- [绍棠] Homebrew简介和基本使用
- javaBean简介及基本使用————魔乐
- NodeJS基本使用简介
- iOS海哥开发笔记 (海哥原创,CALayer简介 以及基本使用)
- sphinx中文分词搜索coreseek windows下安装与基本使用简介
- XUtils3框架的基本使用方法(二)
- jQuery——入门(一)JQuery的简介与基本选择器的使用