xUtils

来源:互联网 发布:php的cms 编辑:程序博客网 时间:2024/05/16 23:41
一, 包含的模块

ViewUtils 注解模块, HttpUtils 网络模块, BitmapUtils 图片模块, DbUtils 数据库模块


二, 步骤

1, 引入依赖

2, 声明权限

网络权限, 写sd卡的权限

3, 定义一个Application 的子类, 并且在onCreate() 方法中初始化, 在清单文件中, 引入

x.Ext.init(this);//初始化
x.Ext.setDebug(true);//设置日志输出


三, ViewUtils 注解方式 -- 完全注解方式就可以进行UI,资源和事件绑定

1, onCreate() 方法, 引入xUtils的注解功能

x.view().inject(this);

2, @ContentView(value=页面的id) 声明加载的页面(类的之上)

@ViewInject(value = 控件的id) 初始化控件(控件声明的之上)

@Event(value = {},type = 包名.监听器.class) value是一个数组 代表的是控件的id; type 指定了事件的监听


四,HttpUtils 下载数据

x.http().get(CommonCallback)
x.http().post(CommonCallback)

实例: 开启网络下载apk, 下载完成后, 自动安装

new Callback.CommonCallback<Stirng> --- 下载内容 4个方法

new Callback.ProgressCallback<File> --- 下载并且显示进度条 7个方法


下载的地址:
private String apkUrl = "http://218.244.149.129:9010/download.php?apkid=12";
sd卡中存储的名称
private String apkName = "hello.apk";


自动安装apk
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(result),"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
DownLoadActivity.this.startActivity(intent);


五,BitmapUtils

//图片的选项
ImageOptions options = new ImageOptions.Builder()
.setLoadingDrawableId(R.mipmap.ic_launcher)//设置加载过程中显示的图片
.setFailureDrawableId(R.mipmap.ic_launcher)//设置加载失败时显示的图片
.setUseMemCache(true)//设置是否需要使用缓存
.setIgnoreGif(false)//设置是否忽略gif格式的图片
.build();

加载图片
//assets目录中的图片
x.image().bind(mIv,"assets://test.gif",options);

//sd卡中的图片
x.image().bind(mIv,"/sdcard/abc.jpg",options);

//加载网络的图片
x.image().bind(mIv,imgPath,options,new CallBack.commonCallback<Drawable>()
{
//成功的方法
//失败的方法
//取消的方法
//结束的方法
})

六,DbUtils

1, 得到DbConfig, 提供数据库名称, 数据库保存的路径, 数据库的版本号....

2, 创建实体类, 通过注解的方式生成一张表

2.1 需要在类名前面加入 @Table标签, 标签中属性name中设置的内容, 就是表名
2.2 在实体类的属性前面 @Column标签, 标签中属性name中设置的内容, 就是字段名称

2.3 如果是主键并且自动增长: @Column(name = "id",isId = true,autoGen = true)

3, 在Activity中, 得到DbManager 数据库的管理对象 x.getDb(config);


DbManager常用方法

findAll(实体类) 查询表中的所有数据

findById(实体类, id) 根据主键查询数据


save(实体类) 插入数据

update(实体类, "字段名称") 修改数据
1, 根据条得到需要修改的实体类对象
2, 修改实体类中内容 set....

3, 调用修改的方法

deleteById(实体类, 条件) 根据主键进行单条记录的删除

delete(实体类) 根据实体类对表中的数据进行删除

delete(实体类, WhereBuilder) 根据where条件的语句进行删除数据 -- 多条数据


原创粉丝点击