有时花大部分时间弄数据库,但最终用到的功能就是增加,删除,查询。还有就是访问优化,我这里用的是最基本的数据库访问。
第一步:建立一个DBhelper类,继承SQLiteOpenHelper
public class DBHelper extends SQLiteOpenHelper {
}
第二步:在这个类初始化时首先要进行的4个小部分
1:申明建立的数据库叫什么名字
public final static String DB_NAME = "mysql“;
2:版本
public final static int VERSION = 1;
3类实例的判定
private static DBHelper instance = null;
4:数据库申明
private SQLiteDatabase db;
第三步:继续写方法,首先判定是否存在已经建好的数据库
public static DBHelper getInstance(Context context) {
if (instance == null) {
instance = new DBHelper(context);
}
return instance;
}
第四步:创建数据库
@Override
public void onCreate(SQLiteDatabase db) {
StringBuffer tableCreate = new StringBuffer();
tableCreate
.append("create table user ( _id integer primary key autoincrement,")
.append("name text,")
db.execSQL(tableCreate.toString());
}
第五步:添加构造方法
private DBHelper(Context context) {
super(context, DB_NAME, null, VERSION);
}
然后就可以打开数据库了
private void openDatabase() {
if (db == null) {
db = this.getWritableDatabase();
}
}
打开数据库后要做的就是查找,添加,更新,等步骤。
写更新方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "drop table if exists user";
db.execSQL(sql);
onCreate(db);
}
现在执行第一步:添加
public long save(User user) {
openDatabase();
ContentValues value = new ContentValues();
value.put("name", user.name);
}
第二步:查找
public ArrayList getUserList() {
openDatabase();
Cursor cursor = db.query("user", null, null, null, null, null, null);
ArrayList list = new ArrayList();
while (cursor.moveToNext()) {
HashMap map = new HashMap();
map.put("_id", cursor.getInt(cursor.getColumnIndex("_id")));
map.put("name", cursor.getString(cursor.getColumnIndex("name")));
list.add(map);
}
return list;
}