A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Android_Robot 于 2016-10-27 14:30 编辑

                      android--xUtils开发框架详析(中


DbUtils使用方法:

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 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 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 dbModels = db.findDbModelAll(Selector.from(Parent.class).groupBy("name").select("name", "count(name)")); ...

List dbModels = db.findDbModelAll(sql);
// 自定义sql查询 db.execNonQuery(sql)
// 执行自定义sql
...
ViewUtils使用方法:
  • 完全注解方式就可以进行UI绑定和事件绑定。
  • 无需findViewById和setClickListener等。
// xUtils的view注解要求必须提供id,以使代码混淆不受影响。
@ViewInject(R.id.textView)
TextView textView;

@ViewInject(vale=R.id.textView, parentId=R.id.parentView)
TextView textView;

@ResInject(id = R.string.label, type = ResType.String)
private String label;

//取消了之前使用方法名绑定事件的方式,使用id绑定不受混淆影响
// 支持绑定多个id
@OnClick({R.id.id1, R.id.id2, R.id.id3})
// or
@OnClick(value={R.id.id1, R.id.id2, R.id.id3},
parentId={R.id.pid1, R.id.pid2, R.id.pid3})
// 更多事件支持参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
@OnClick(R.id.testbutton)
public void testButtonClick(View v) {
        // 方法签名必须和接口中的要求一致
        ...
        }
...
//在Activity中注入:
@Override public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ViewUtils.inject(this);
        //注入view和事件 ...
        textView.setText("some text...");
        ...
        }
//在Fragment中注入:
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.bitmapfragment, container, false);
        // 加载fragment布局
        ViewUtils.inject(this, view);
        //注入view和事件
        ...
        }
//在PreferenceFragment中注入:
public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        ViewUtils.inject(this, getPreferenceScreen());
        //注入view和事件
        ...
        }
// 其他重载
// inject(View view);
// inject(Activity activity)
// inject(PreferenceActivity preferenceActivity)
// inject(Object handler, View view)
// inject(Object handler, Activity activity)
// inject(Object handler, PreferenceGroup preferenceGroup)
// inject(Object handler, PreferenceActivity preferenceActivity)

BitmapUtils 使用方法:
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));



【强荐!】2016年最新Android学习路线图——按此路线图学习月薪过万{ 火速收入}

15 个回复

倒序浏览
好东西  666
回复 使用道具 举报
好东西,感谢
回复 使用道具 举报
介绍的真详细!
回复 使用道具 举报
别让自己后悔!
回复 使用道具 举报
认真学,别让自己后悔!
回复 使用道具 举报
认真学,别让自己后悔!
回复 使用道具 举报
按赞赞赞赞赞赞赞赞
回复 使用道具 举报
谢谢分享,赞一个!!!
回复 使用道具 举报
657324 来自手机 初级黑马 2016-7-24 00:46:11
10#
不错 学习了
回复 使用道具 举报
谢谢分享,给力
回复 使用道具 举报
感谢楼主分享,学习。。。,一起加油
回复 使用道具 举报
没学到这里 帮顶一下
回复 使用道具 举报
每天保持好心情
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马