创建数据库的步骤:
(1)拿到数据库的帮助类 在构造函数中给数据库起名字 extends SQLiteOpenHelper
(2)在帮助类中重写oncreate和onUpdate()方法这两个方法中写的什么东东呢?
onCreate()中写的是创建表的sql语句
onUpdate()中写的是升级表的sql语句
(3)在activity中通过getReadable()或getWriteable()方法拿到数据文件给它进行增删改查的操作
public class MyDBOpenHelper extends SQLiteOpenHelper {
//给数据库起名字
public MyDBOpenHelper(Context context) {
//第二个参数数据库的名称
//第三个参数null代表的是默认的游标工厂
//第四个参数 是数据库的版本号 数据库只能升级,不能降级,版本号只能变大不能变小
super(context, "saiermeng.db", null, 2);
}
//Called when the database is created for the first time.
//当数据库第一次被创建的时候调用的方法,适合在这个方法里面把数据库的表结构定义出来.
public void onCreate(SQLiteDatabase db) {
System.out.println("oncreate 数据库被创建了. 哈哈哈哈,嘎嘎嘎------------");
//执行sql语句 id是自增长的
db.execSQL("create table contactinfo (id integer primary key autoincrement, name varchar(20), phone varchar(20))");
}
//Called when the database needs to be upgraded.
//当数据库更新的时候调用的方法
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("onUpgrade 数据库被更新了. oldVersion:"+oldVersion+"--------newVersion:"+newVersion+"----");
db.execSQL("alter table contactinfo add account varchar(20)");
}
}
在Activity中调用:
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1.声明数据库的文件类
MyDBOpenHelper helper = new MyDBOpenHelper(this);
//2.关键代码,必须通过帮助类 获取一个数据库文件
helper.getWritableDatabase();
}
}
(1)拿到数据库的帮助类 在构造函数中给数据库起名字 extends SQLiteOpenHelper
(2)在帮助类中重写oncreate和onUpdate()方法这两个方法中写的什么东东呢?
onCreate()中写的是创建表的sql语句
onUpdate()中写的是升级表的sql语句
(3)在activity中通过getReadable()或getWriteable()方法拿到数据文件给它进行增删改查的操作
public class MyDBOpenHelper extends SQLiteOpenHelper {
//给数据库起名字
public MyDBOpenHelper(Context context) {
//第二个参数数据库的名称
//第三个参数null代表的是默认的游标工厂
//第四个参数 是数据库的版本号 数据库只能升级,不能降级,版本号只能变大不能变小
super(context, "saiermeng.db", null, 2);
}
//Called when the database is created for the first time.
//当数据库第一次被创建的时候调用的方法,适合在这个方法里面把数据库的表结构定义出来.
public void onCreate(SQLiteDatabase db) {
System.out.println("oncreate 数据库被创建了. 哈哈哈哈,嘎嘎嘎------------");
//执行sql语句 id是自增长的
db.execSQL("create table contactinfo (id integer primary key autoincrement, name varchar(20), phone varchar(20))");
}
//Called when the database needs to be upgraded.
//当数据库更新的时候调用的方法
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("onUpgrade 数据库被更新了. oldVersion:"+oldVersion+"--------newVersion:"+newVersion+"----");
db.execSQL("alter table contactinfo add account varchar(20)");
}
}
在Activity中调用:
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1.声明数据库的文件类
MyDBOpenHelper helper = new MyDBOpenHelper(this);
//2.关键代码,必须通过帮助类 获取一个数据库文件
helper.getWritableDatabase();
}
}