xutils 数据库

来源:互联网 发布:java开发安卓app 编辑:程序博客网 时间:2024/05/18 01:46

//清单文件  android:name=".app.MyApplication"

public class MyApplication extends Application {

    @Override

    public void onCreate() {

        super.onCreate();

        //初始化xutils3

        x.Ext.init(this);

        //输出日志 设置为false就是为了不影响性能

        x.Ext.setDebug(false);

    }

    public static DbManager getDb() {

        //对daoConfig初始化 进行配置

        DbManager.DaoConfig daoConfig= new DbManager.DaoConfig().setDbName("bw.db").setDbDir(newFile("/mnt/sdcard")).setDbVersion(1);

        DbManager db =x.getDb(daoConfig);

        return db;

    }

}




@ContentView(R.layout.activity_main)

public class MainActivity extends AppCompatActivity {

    @ViewInject(R.id.tv)

    TextView tv;

    @ViewInject(R.id.iv)

    ImageView iv;

 

    @Override

    protected void onCreate(BundlesavedInstanceState) {

       super.onCreate(savedInstanceState);

        //setContentView(R.layout.activity_main);

        /**

         *   初始化注解

         */

 

        x.view().inject(this);

        tv.setText("这是我使用xutils3的注解方式");

 

    }

 

 

    /**

     * 1,方法必须私有限定,

     * 2,方法参数形式必须和type对应的Listener接口一致.

     * 3,注解参数value支持数组: value={id1, id2, id3}

     * type默认View.OnClickListener.class,故此处可以简化不写,@Event(R.id.bt_main)

     * 默认的是单击事件

     */

    // @Event(type =View.OnClickListener.class, value = R.id.tv)

    @Event({R.id.tv, R.id.iv,R.id.bt_add, R.id.bt_find, R.id.bt_update, R.id.bt_delete})

    private void testOnClick(Viewview) {

        DbManager db = newMyApplication().getDb();

        switch (view.getId()) {

            case R.id.tv:

               Toast.makeText(MainActivity.this, "这是我使用注解方式实现点击事件",Toast.LENGTH_SHORT).show();

                getData();

                break;

            case R.id.iv:

                Toast.makeText(MainActivity.this,"这是我使用注解方式实现点击事件", Toast.LENGTH_SHORT).show();

                getServerData();

                //通过ImageOptions.Builder().set方法设置图片的属性

                ImageOptions options= new ImageOptions.Builder().setCircular(true).setCrop(true).setSize(100,100).setLoadingDrawableId(R.mipmap.ic_launcher).build();

                x.image().bind(iv,"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1489035859303&di=a701b850fecd73173a020305d46eec77&imgtype=0&src=http%3A%2F%2Fb.hiphotos.baidu.com%2Fzhidao%2Fpic%2Fitem%2F1f178a82b9014a90e7eb9d17ac773912b21bee47.jpg",options);

 

                break;

            case R.id.bt_add:

                //插入

               Toast.makeText(MainActivity.this, "保存数据",Toast.LENGTH_SHORT).show();

 

                List<Student>students = new ArrayList<>();

                students.add(newStudent("zhangsan"));

                students.add(newStudent("lisi"));

                students.add(newStudent("wangwu"));

                students.add(newStudent("zhaoliu"));

                try {

                   db.save(students);

                   Toast.makeText(MainActivity.this, "保存数据成功",Toast.LENGTH_SHORT).show();

                } catch (DbExceptione) {

                    e.printStackTrace();

                }

                break;

            case R.id.bt_find:

                try {

                    Student student =db.findFirst(Student.class);

                   Log.i("xxx", student.toString());

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

                    for (Studentstudent1 : studentList) {

                       Log.i("xxx", student1.toString());

                    }

 

 

                } catch (DbExceptione) {

                   e.printStackTrace();

                }

                break;

            case R.id.bt_update:

                try {

                    //第一种方式 更新第一个对象的名字

                    Student student =db.findFirst(Student.class);

                   /*student.setName("wowo");

                   db.update(student, "name");*/

                    //第二种方式

                   /* WhereBuilder b= WhereBuilder.b();

                   b.and("id", "=", student.getId());

                    KeyValue value = newKeyValue("name", "sisi");

                   db.update(Student.class, b, value);*/

                    //第三种方式

                   student.setName("xixi");

                   db.saveOrUpdate(student);

                    Toast.makeText(MainActivity.this,"更新成功", Toast.LENGTH_SHORT).show();

 

                } catch (DbExceptione) {

                   e.printStackTrace();

                }

                break;

            case R.id.bt_delete:

                try {

                    //删除表中的所有数据

                    //  db.delete(Student.class);

                    //根据条件删除表中的数据

                    WhereBuilder b =WhereBuilder.b();

                   b.and("id", ">", "5");

                    b.and("id","<", "8");

                   db.delete(Student.class, b);

                   Toast.makeText(MainActivity.this, "删除成功",Toast.LENGTH_SHORT).show();

                } catch (DbExceptione) {

                   e.printStackTrace();

                }

                break;

    }

}


0 0
原创粉丝点击