Xutils3(githup地址)是一个三方库,是一个工具类,分为4个模块:HttpUtils、ViewUtils、BitmapUtils、DbUtils。
使用时记得添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
ViewUtils的简单试用
Xutils3可以使用@ViewUtils绑定控件
@ViewInject(R.id.txtv)
private TextView txtv;
@ViewInject(R.id.imgv)
private ImageView imgv;
在使用Xutils3时需要在Activity的onCreate方法中初始化数据
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//初始化操作
x.Ext.init(this);
x.Ext.setDebug(true);
x.view().inject(this);
}
Xutils3可以使用@ContentView绑定布局
@ContentView(R.layout.activity_http)
public class HttpActivity extends AppCompatActivity {}
@Event(R.id.get)
private void get(View view){}
HttpUtils的简单使用方法
//get请求下载数据
private void get(View view){
RequestParams params = new RequestParams("https://github.com/wyouflf/xUtils3");
Callback.Cancelable cancelable = x.http().get(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
mContent.setText(result);//显示下载数据的结果
Log.i(TAG,"onSuccess:"+result);
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
Log.i(TAG,"onError");
}
@Override
public void onCancelled(CancelledException cex) {
Log.i(TAG,"onCancelled");
}
@Override
public void onFinished() {
Log.i(TAG,"onFinished");
}
});
//取消请求
// cancelable.cancel();
}
//用post提交数据
private void post(View view){
String url = "提交网址的接口";
RequestParams params = new RequestParams(url);
params.addBodyParameter("nikename","隔壁老王");
params.addBodyParameter("username","12345656");
params.addBodyParameter("password","123456");
x.http().post(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
mContent.setText(result);
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
BitmapUtils的简单使用
ImageOptions options = new ImageOptions.Builder()
.setCircular(true) // 设置为圆形
.setFadeIn(true) // 渐显
// .setFailureDrawable() 加载错误默认图片
// .setFailureDrawableId() 加载出错默认图片
.setForceLoadingDrawable(true) //??
// .setAnimation()
// .setAutoRotate() //自动旋转
// .setLoadingDrawable() //默认占位图
.setLoadingDrawableId(R.mipmap.ic_launcher) //默认占位图
.setCrop(true) //裁切
.build();
// x.image().clearCacheFiles(); //清空缓存文件
// x.image().clearMemCache(); //清空内存缓存
x.image().bind(mImage, url, options);
DbUtils的简单使用
<span style="font-size:12px;"> </span><span style="font-size:10px;"> DbManager.DaoConfig daoConfig = new DbManager.DaoConfig();
// daoConfig.setDbDir() //设置文件路劲
daoConfig.setDbName("User.db");
// daoConfig.setAllowTransaction(true); //设置事物开启 默认
// daoConfig.setDbVersion(1); //设置数据库版本号
//当我们的数据库版本号改变的时候 会调用 更新数据库结构的方法
/* daoConfig.setDbUpgradeListener(new DbManager.DbUpgradeListener() {
@Override
public void onUpgrade(DbManager db, int oldVersion, int newVersion) {
}
}); */
//当数据库开启的时候调用的方法 一般也不用
/* daoConfig.setDbOpenListener(new DbManager.DbOpenListener() {
@Override
public void onDbOpened(DbManager db) {
//启用以后 提升数据库写入速度
db.getDatabase().enableWriteAheadLogging();
}
});*/
//当表创建的时候 一般不用
/* daoConfig.setTableCreateListener(new DbManager.TableCreateListener() {
@Override
public void onTableCreated(DbManager db, TableEntity<?> table) {
}
});*/
db = x.getDb(daoConfig);
}
@Event(R.id.save)
private void save(View view){
User user = new User();
user.setId(15);
user.setUsername("老王");
user.setAge("38");
user.setSex("男");
try {
// db.save(user); //保存
db.saveOrUpdate(user); //更新或者保存
} catch (DbException e) {
e.printStackTrace();
}
}
@Event(R.id.delete)
private void delete(View view){
User user = new User();
user.setId(15);
user.setUsername("老王");
user.setAge("38");
user.setSex("男");
try {
// db.delete(User.class); //清空表
// db.delete(user); //删除某一个对象
// db.deleteById(User.class,15); //通过ID删除
db.delete(User.class,WhereBuilder.b("id","like","%2%"));
} catch (DbException e) {
e.printStackTrace();
}
}
@Event(R.id.update)
private void update(View view){
User user = new User();
user.setId(15);
user.setUsername("老王");
user.setAge("4");
user.setSex("男");
try {
// db.update(user,"age","sex");
KeyValue value =new KeyValue("name","xxx");
db.update(User.class,WhereBuilder.b("id","like","%5%"),value);
} catch (DbException e) {
e.printStackTrace();
}
}
private int page=0;
@Event(R.id.query)
private void query(View view){
try {
//查询某一条 匹配的信息
User user = db.selector(User.class).where("id", "=", "15").findFirst();
mContent.setText(user.toString());
//查询数据库所有的信息
List<User> users = db.selector(User.class).findAll(); //查询出所有的数据
long count = db.selector(User.class).count(); //总共多少条数据
// List<User> users2 = db.selector(User.class).where("id", "=", "15").and("name", "like", "老").findAll(); //and 多条件 有丶问题
List<User> users3 = db.selector(User.class).limit(8).offset(page*8).findAll(); //limit 控制 加载数量, offset 控制加载位置
//**********************
page++;
StringBuffer sb = new StringBuffer();
for (User var : users3) {
sb.append(var.toString());
}
Log.i(TAG,sb.toString());
mContent.setText(sb.toString());
} catch (DbException e) {
e.printStackTrace();
}
}</span>