IT-lss

新建一个类叫XXXContract,并在类里面静态内部类继承BaseColumn,在内部类中写建表的名字和表的列名,因为BaseColumns类里面封装了一个_ID和_count,所以ID就不需要我们自己定义了.如下代码所示:

public class PersonContract {
    public static class Person implements BaseColumns{
        public static final String TABLE_NAME="person";
        public static final String COLUMNS_NAME="name";
        public static final String COLUMNS_NUMBER="number";
    }
}

 在继承了SQLiteOpenHelper类中的onCreate方法中 用新建类的数据代替SQL语句中相关的数据 

db.execSQL("create table "+ PersonContract.Person.TABLE_NAME+
                " ("+PersonContract.Person._ID
                +" integer primary key autoincrement,"+
                PersonContract.Person.COLUMNS_NAME+" varchar(20),"+
                PersonContract.Person.COLUMNS_NUMBER+" varchar(20)" +
                ")");

 原先的代码是以下这样的,如果要改动的话会很麻烦也很会出错

db.execSQL("create table person (_id integer primary key autoincrement,name varchar(20),number varchar(20))");

 小注意:只有在调用openHelper时才会创建数据库,只是new 出SQLiteOpenHelper 的实例时不会创建数据库

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-11-30
  • 2021-11-21
  • 2022-03-03
  • 2021-05-21
  • 2022-12-23
  • 2022-12-23
  • 2021-08-24
猜你喜欢
  • 2021-06-25
  • 2022-02-13
  • 2021-08-10
  • 2022-12-23
  • 2022-12-23
  • 2021-08-25
  • 2022-12-23
相关资源
相似解决方案