xUtils的使用(二)
来源:互联网 发布:唐嫣演技知乎 编辑:程序博客网 时间:2024/05/20 04:13
图片加载模块:
## DbUtils使用方法:
```java
DbUtils db = DbUtils.create(this);
User user = new User(); //这里需要注意的是User对象必须有id属性,或者有通过@ID注解的属性
user.setEmail("wyouflf@qq.com");
user.setName("wyouflf");
db.save(user); // 使用saveBindingId保存实体时会为实体的id赋值
// 查找
Parent entity = db.findById(Parent.class, parent.getId());
List<Parent> list = db.findAll(Parent.class);//通过类型查找
Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","=","test"));
// IS NULL
Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","=", null));
// IS NOT NULL
Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","!=", null));
// WHERE id<54 AND (age>20 OR age<30) ORDER BY id LIMIT pageSize OFFSET pageOffset
List<Parent> list = db.findAll(Selector.from(Parent.class)
.where("id" ,"<", 54)
.and(WhereBuilder.b("age", ">", 20).or("age", " < ", 30))
.orderBy("id")
.limit(pageSize)
.offset(pageSize * pageIndex));
// op为"in"时,最后一个参数必须是数组或Iterable的实现类(例如List等)
Parent test = db.findFirst(Selector.from(Parent.class).where("id", "in", new int[]{1, 2, 3}));
// op为"between"时,最后一个参数必须是数组或Iterable的实现类(例如List等)
Parent test = db.findFirst(Selector.from(Parent.class).where("id", "between", new String[]{"1", "5"}));
DbModel dbModel = db.findDbModelAll(Selector.from(Parent.class).select("name"));//select("name")只取出name列
List<DbModel> dbModels = db.findDbModelAll(Selector.from(Parent.class).groupBy("name").select("name", "count(name)"));
List<DbModel> dbModels = db.findDbModelAll(sql); // 自定义sql查询
db.execNonQuery(sql) // 执行自定义sql
图片加载模块:
## BitmapUtils 使用方法
```java
BitmapUtils bitmapUtils = new BitmapUtils(this);
// 加载网络图片
bitmapUtils.display(testImageView, "http://bbs.lidroid.com/static/image/common/logo.png");
// 加载本地图片(路径以/开头, 绝对路径)
bitmapUtils.display(testImageView, "/sdcard/test.jpg");
// 加载assets中的图片(路径以assets开头)
bitmapUtils.display(testImageView, "assets/img/wallpaper.jpg");
// 使用ListView等容器展示图片时可通过PauseOnScrollListener控制滑动和快速滑动过程中时候暂停加载图片
listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true));
listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true, customListener));
图片加载实例:
public class ImageActivity extends AppCompatActivity { @ViewInject(value = R.id.img) private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_image); x.view().inject(this); } @Event(value = {R.id.btn_load,R.id.btn_asset,R.id.btn_network}) private void onClick(View view){ switch (view.getId()) { //加载assets中的图片 case R.id.btn_asset: ImageOptions options = new ImageOptions.Builder() .setIgnoreGif(false) //设置是否忽略gif格式的图片 .setLoadingDrawableId(R.mipmap.ic_launcher) //设置加载过程中显示的图片 .setFailureDrawableId(R.mipmap.ic_launcher) //设置加载失败时显示的图片 .setUseMemCache(true) //设置是否使用缓存 .build(); x.image().bind(iv,"assets://cat.gif",options); break; //加载存储的图片 case R.id.btn_load: options = new ImageOptions.Builder().setIgnoreGif(false) .setLoadingDrawableId(R.mipmap.ic_launcher) .setFailureDrawableId(R.mipmap.ic_launcher) .setUseMemCache(true) .build(); x.image().bind(iv,new File("/sdcard/test.gif").toURI().toString(),options); break; //加载网络图片 case R.id.btn_network: String url = "http://img.my.csdn.net/uploads/201407/26/1406382922_6166.jpg"; options = new ImageOptions.Builder().setLoadingDrawableId(R.mipmap.ic_launcher) .setFailureDrawableId(R.mipmap.ic_launcher)// .setCircular(true) .setRadius(20) .setFadeIn(true) .setAutoRotate(true) .setUseMemCache(true) .build();// x.image().bind(iv,url,options); x.image().bind(iv, url, options, new Callback.CommonCallback<Drawable>() { @Override public void onSuccess(Drawable result) { BitmapDrawable bd = (BitmapDrawable) result; Bitmap bm = bd.getBitmap(); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); break; } }}
数据库使用实例:
public class DatabaseActivity extends AppCompatActivity { @ViewInject(value = R.id.id_database_lv) private ListView lv; private DbManager manager; private DbManager.DaoConfig config; private List<PersonTable>list; private DatabaseAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_database); x.view().inject(this); config = DBUtils.getDaoConfig(this); //实例化数据库管理器对象 manager = x.getDb(config); list = new ArrayList<>(); if (queryAll()!=null){ list.addAll(queryAll()); } adapter = new DatabaseAdapter(list,this); lv.setAdapter(adapter); } /** * @des 获取数据库的person表当中的全部内容 * * */ public List<PersonTable> queryAll(){ try { List<PersonTable>list = manager.findAll(PersonTable.class); return list; } catch (DbException e) { e.printStackTrace(); } return null; } /** * 插入数据的方法 * */ public void insertData(PersonTable person){ try { manager.save(person);// list = queryAll();// adapter.notifyDataSetChanged(); } catch (DbException e) { e.printStackTrace(); } } /** * 更新数据的方法 * */ public void updataData(int id){ PersonTable person; try { person = manager.findById(PersonTable.class,id); person.setName("狗丹"); manager.update(person,"name"); } catch (DbException e) { e.printStackTrace(); } } @Event(value = {R.id.id_insert_btn,R.id.id_update_btn,R.id.id_delete_btn}) private void onClick(View view){ switch (view.getId()) { case R.id.id_insert_btn: Toast.makeText(DatabaseActivity.this,"点击了插入",Toast.LENGTH_LONG).show(); insertData(new PersonTable(1,"cindy",23,"女",4500)); insertData(new PersonTable(2,"tom",24,"男",8500)); insertData(new PersonTable(3,"jack",25,"男",10000)); insertData(new PersonTable(4,"rose",26,"女",9500)); insertData(new PersonTable(6,"张三",25,"男",10000)); insertData(new PersonTable(7,"狗剩",26,"女",9500)); list.clear(); list.addAll(queryAll()); adapter.notifyDataSetChanged(); break; case R.id.id_update_btn: updataData(6); list.clear(); list.addAll(queryAll()); adapter.notifyDataSetChanged(); break; case R.id.id_delete_btn: //根据id做删除 try { //删除指定的对象 manager.deleteById(PersonTable.class,6); PersonTable person = manager.selector(PersonTable.class).where("age","=","25").findFirst(); manager.delete(person); //删除指定的条件的对象 manager.delete(PersonTable.class, WhereBuilder.b("age",">","24").and("sex","=","女")); } catch (DbException e) { e.printStackTrace(); } list.clear(); list.addAll(queryAll()); adapter.notifyDataSetChanged(); break; } }}
* 数据库形成表的注意事项: * 1.在类名之上加入@Table(name = "person")标签,表示当前的类会被创建成表,name属性之后 * 对应的值表示表的名称 * 2.类当中的属性需要在上面加入@Column(name = " ")标签,然后name对应的值就代表了数据库当中的表的名称。 * 3.类当中一定有一个属性作为主键,否则表不会创建成功,autoGen代表了主键的数字是否是自增长的, * 如果不写,默认自增长 */@Table(name = "person")public class PersonTable { @Column(name = "id", isId = true, autoGen = true) private int id; @Column(name = "name") private String name; @Column(name = "age") private int age; @Column(name = "sex") private String sex; @Column(name = "salary") private double salary; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } public PersonTable(int id, String name, int age, String sex, double salary) { this.id = id; this.name = name; this.age = age; this.sex = sex; this.salary = salary; } public PersonTable() { }}
- xUtils的使用(二)
- xUtils的使用(二)
- xUtils使用详解(二)
- xUtils的使用
- xUtils的使用总结
- Xutils 的使用
- xUtils的使用
- Xutils框架的使用
- XUtils框架的使用
- xUtils的使用教程
- XUtils的使用、混淆
- Android XUtils的使用
- xutils的使用
- Xutils框架的使用
- xUtils的简单使用
- XUtils的简单使用
- xutils的使用
- XUtils的使用
- Android仿京东筛选
- WebSocket通信
- Matlab调试功能详解
- 简单的quartz定时任务的web应用
- yield
- xUtils的使用(二)
- Eclipse编译时保留方法的形参
- clientWidth offsetWidth scrollWidth区别
- Linux笔记
- linux hadoop集群简单几步完成SSH配置
- oracle
- Oracle普通表->分区表转换(9亿数据量)
- LTE CQI vs PMI vs RI-Difference between LTE CQI,PMI,RI
- 某公司校招笔试题 树形递归4维DP 图论 烦人的分类讨论