XUtils不完全使用指南170209

来源:互联网 发布:linux 安装apache指令 编辑:程序博客网 时间:2024/06/05 18:38

xutils3.0的IOC框架使用 (快速初始化控件,及批量绑定事件)

步骤:

1.导入jar包带lib并add到modou
2.初始化布局文件(无需在activity中关联布局)

    @ContentView(R.layout.activity_main)    public class MainActivity extends Activity{}

3.初始化控件(无需再findviewbyid()关联控件)

    @ViewInject(R.id.name_et)    private EditText name_et ;    @ViewInject(R.id.sex_et)    private EditText sex_et ;

4.接下来在Activity的OnCreat()方法中注册xutils的IOC的框架使用
- 就是原来常写init()的位置x.view().inject(MainActivity.this);
5.若要为控件添加点击事件等,方法的修饰符必须是private,以点击事件为例

    //注解中的参数    /*     *value :绑定的控件的id的数组集合     *type  :绑定的事件的类型     */         @Event(value ={R.id.select,R.id.add,R.id.delete,R.id.pudate},type=View.OnClickListener.class)    private void OnButtonClickListener(View view)    {    }

xutils的x.database框架的使用(快速建表增删改)

xutils集成了一套较便利的SQLite使用方法
1.编写自定义Application类,继承 Application 在该类的onCreate方法中初始化xutils
并设置数据库的版本号,和名字 ,将该自定义的Application类在manifest.xml文件中进行配置

MyApplication.java(extend Application)

    public static DbManager.DaoConfig config = new DbManager.DaoConfig();;    private static final String DBNAME = "test" ;    private static final int VERSION = 1 ;    @Override    public void onCreate() {        super.onCreate();        x.Ext.init(MyApplication.this);        config.setDbName(DBNAME);        config.setDbVersion(VERSION);    }
//Manifest中加入android:name="完整包名"

2.编写相应的表的实体类,并在相应的地方加上注解(相当于在数据库中建表了)

 //@Table(name="student") 表示该类对应的是student表,表名为student  @Table(name="student")  public class Student {    //表示该属性对应的是name列, 列名为name    @Column(name="name")    private String name ;    //表示该属性对应的是id列,且这一列为主键    @Column(isId = true,name="id")    private int id ;    @Column(name="sex")    private String sex ;    @Column(name="age")    private int age ;   //提供有参和无参的构造器,并为各属性提供getter,setter方法}

3.在Activity中展示数据
3.1在onCreate()方法获得数据库管理器DbManager db = x.getDb(MyApplication.config);
3.2获得相应的数据或者对数据进行增删改.
3.2.1>查询全部

 List<Student> students = db.findAll(Student.class);

3.2.2>条件查询

WhereBuilder whereBuilder = WhereBuilder.b();whereBuilder = whereBuilder.and("name","=",name);whereBuilder =whereBuilder.and("age","=",age);Student stu = db.selector(Student.class).where(whereBuilder).findFirst();

3.2.3>修改

stu = new Student(name,Integer.valueOf(id),sex,age);db.saveOrUpdate(stu);

3.2.4>删除

db.deleteById(Student.class,Integer.valueOf(id));//或者WhereBuilder whereBuilder = WhereBuilder.b();whereBuilder = whereBuilder.and("name","=",name);whereBuilder =whereBuilder.and("age","=",age);db.delete(Student.class,whereBuilder);
0 0
原创粉丝点击