1.使用和mysql相似,有四个步骤:1.创建库2.链接登录库3.创建表4.增删改查,主要有两个类一个是
SQLiteOpenHelper,这是一个抽象类,(主要操作1.创建库2.链接登录库)
需要自己写一个子类来继承重写里面的两个方法,和一个构造。
这是构造 第一个参数Context:是一个传进来的。第二个是一个:数据库的名字第三个工厂直接没有null,第四个版本:数据库版本1
public Mydbhelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {//这是一个父类的接着需要给它传参: super(context, name, factory, version); }
下面这个就是创建好了的SQLiteOpenHelper,接着去data/data/创建一个数据库文件,如果存在则当没发生,如果存在版本不一致ongrade,
public static String name="abc"; public static int version=1; public Mydbhelper(Context context) { super(context, name, null, version); }
如果第一次,调用Oncreate方法如果不是第一次,版本不一致,调用onupgrade方法首先看Oncreate方法调用它的时候在第一次创建这个数据库的时候调用@Override public void onCreate(SQLiteDatabase db) {//主要是采用sql语句进行创了一个库,然后通过database的execsql进行注入sql语句进行创表,数据初始化 String sql="create table student ( id int(10) primary_key,name varchar(10))";
然后通过 db.execSQL(sql); }创完表之后就可以到activty页面进行首先创出database操作数据库的文件SQLiteDatabase db = new Mydbhelper(this).getWritableDatabase();
//插入一条数据 String sql = "insert into student values(1,'zzz')"; db.execSQL(sql);
当需要拿到一个返回结果的时候,我们需要一个另一个方法调用rawquery方法,返回一个游标,相当于一个临时表格,第二个参数是条件Cursor cursor = db.rawQuery(sq, null);
//w游标往下移if (cursor.moveToNext()) {
// int id=cursor.getInt(0);int id1=cursor.getInt(cursor.getColumnIndex("id"));String name=cursor.getString(1); Log.e("msg","id"+id+"id1"+id1+"name"+name); }else { Log.e("msg","游标失败"); }}