今天下午写了一遍SQLite操作,相比起第一次使用的时候已经好了很多,能够明白整个流程并能对代码进行一定的分析,记录一下步骤:
1、对对象进行处理的数据库操作最后新建一个独立的数据对象,通过对象的set、get方法对对象进行处理,封装性较好,且易维护
2、对数据库的操作单独出一个类DBHelper,包括对数据库的新建,增删改操作
新建DBhelper
DBopenhelper继承sqltieopenhelper用来新建数据库
重写oncreate,onupgrade函数,完成对数据库的创建和更新
SQListDatabase db 执行sql语句. db.execSQL()
插入数据
db.insert();
查询数据
Cursor cursor = db.query();
package com.example.test;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import java.sql.SQLClientInfoException;
/**
* Created by Administrator on 2014/9/19.
*/
public class DbHelper {
private static final String DB_NAME = "mdatabase";
private static final int DB_VERSION = 1;
private static final String TABLE_NAME = "user";
private static final String ID = "id";
private static final String USERNAME = "username";
private static final String PASSWORD = "password";
private DBOpenHelper dbOpenHelper;
private SQLiteDatabase db;
private static class DBOpenHelper extends SQLiteOpenHelper{
private static final String CREATETABLE="create table "+TABLE_NAME+" ( "+ID+" integer primary key autoincrement, "+
USERNAME+" text not null,"+PASSWORD+" text not null);";
public DBOpenHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATETABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists "+TABLE_NAME);
onCreate(db);
}
}
public DbHelper(Context context){
dbOpenHelper = new DBOpenHelper(context);
db=dbOpenHelper.getWritableDatabase();
}
public void insert(User user){
ContentValues values = new ContentValues();
values.put("username",user.getUsername());
values.put("password",user.getPassword());
db.insert(TABLE_NAME,null,values);
}
public User query(int id){
User user= new User();
Cursor cursor = db.query(TABLE_NAME,new String[]{USERNAME,PASSWORD},"id="+id,null,null,null,null);
if(cursor.getCount()>0){
cursor.moveToFirst();
user.setUsername(cursor.getString(0));
user.setPassword(cursor.getString(1));
return user;
}
cursor.close();
return null;
}
}