1、首先新建一个类DBOpenHelper继承SQLiteOpenHelper然后重写其方法。
类DBOpenHelper
package org.mobiletrain.sqlite_demo4;
import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBOpenHelper extends SQLiteOpenHelper{
String sql = "create table if not exists stutb(_id integer primary key autoincrement," +
"name text not null,sex text not null,age integer not null)";
@SuppressLint("NewApi")
public DBOpenHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
public DBOpenHelper(Context context, String name) {
super(context, name, null, 1);
}
//首次创建数据库的时候调用,我们一般把建库或者建表的方法放在其中
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(sql);
db.execSQL("insert into stutb(name,sex,age)values('张三','女',22)");
ContentValues values = new ContentValues();
values.put("name", "王小明");
values.put("sex", "男");
values.put("age", 25);
db.insert("stutb", null, values);
values.clear();
}
//数据库的版本发生变化的时候,会自动执行。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
if (newVersion>oldVersion) {
//执行版本更新后的逻辑操作
}
}
}
MainActivity:
package org.mobiletrain.sqlite_demo4;
import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
DBOpenHelper helper;
SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helper = new DBOpenHelper(this, "stu.db");
db = helper.getWritableDatabase();
Cursor cursor = db.rawQuery("select * from stutb", null);
if (cursor!=null) {
String columns[] = cursor.getColumnNames();
while (cursor.moveToNext()) {
for (String columnName:columns) {
Log.i("main", columnName+":"+cursor.getString(cursor.getColumnIndex(columnName)));
}
}
cursor.close();
}
db.close();
}
}