Android数据库Sqlite-android学习之旅(九)

来源:互联网 发布:linux大学时候开发 编辑:程序博客网 时间:2024/06/18 17:28

简介

sqilte是一个轻量级的数据库,满足数据库的基本操作,由于移动端的内存有限,所以sqilte刚好能满足移动端开发的基本要求。

废话不多说,上代码

1.首先介绍一下,sqlite的管理类SQLiteOpenHelper。这个类用来管理数据库的创建和版本更新,需要继承它的方法。
代码如下:

public class Db extends SQLiteOpenHelper {    public Db(Context context, String name, CursorFactory factory, int version) {        super(context, "db", null, 1);        // TODO Auto-generated constructor stub    }    @Override    public void onCreate(SQLiteDatabase db) {        // TODO Auto-generated method stub        db.execSQL("CREATE TABLE user("+"name TEXT DEFAULT \"\""+"sex TEXT DEFAULT \"\")");    }    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        // TODO Auto-generated method stub    }}

其中onCreate当数据库创建时候回调,onUpgrade方法是在版本号增大时候,自动回调,所以可以吧数据库要更新的操作写在里面。

数据库的插入操作

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Db db = new Db(this);        //获取数据库的方式有两种,这是获取可读写,还有一种获取可读的数据库。db.getReadableDatabase()方法获得。        SQLiteDatabase dbWriter = db.getWritableDatabase();        ContentValues cv = new ContentValues();        cv.put("name", "shangsan");        cv.put("sex", "male");        //第一参数表示表明,第二个表示空列,第三个表示要填写的数据,用ContentValues 封装。        //dbWriter.insert(table, nullColumnHack, values);        dbWriter.insert("user", null,cv);        db.close();    }}

查询操作

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Db db = new Db(this);//      SQLiteDatabase dbWriter = db.getWritableDatabase();//      ContentValues cv = new ContentValues();//      cv.put("name", "shangsan");//      cv.put("sex", "male");//      //dbWriter.insert(table, nullColumnHack, values);//              SQLiteDatabase dbRaed = db.getReadableDatabase();        //Cursor c = dbRaed.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);        Cursor c = dbRaed.query("user", null, "name=?", new String[]{"zhangsan"}, null, null, null);        while (c.moveToNext()) {            String name = c.getString(c.getColumnIndex("name"));            String sex = c.getString(c.getColumnIndex("sex"));            System.out.println(name+"  "+sex);        }    }}
0 0