首页 > 学院 > 开发设计 > 正文

XUtils不完全使用指南170209

2019-11-09 16:34:01
字体:
来源:转载
供稿:网友

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);
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表