您的位置:首页 > 移动开发 > Android开发

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

2015-05-16 00:14 253 查看

简介

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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息