1.创建DBHelper

public class DBOpenHelper extends SQLiteOpenHelper implements BaseColumns {

    //1.数据库文件名
    public static final String DB_Name = "contact.db";
    //2.数据库版本
    public static final int DB_VERSION = 1;
    //3.数据库表的内容
    public static final String TABLE_NAME = "contactinfo";
    public static final String _USERNAME = "username";
    public static final String _PHONE = "phone";

    public DBOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    public DBOpenHelper(Context context){
        super(context, DB_Name, null, DB_VERSION);
    }

    /**
     * 创建数据库时创建表
     * @param db 创建的数据库
     */
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table " + TABLE_NAME + "(" + _ID + " integer primary key autoincrement," +  _USERNAME + " text," + _PHONE + " text )");
    }

    /**
     * 升级数据库
     * @param db
     * @param oldVersion
     * @param newVersion
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.v("m520it","oldVersion=" + oldVersion + ",newVersion=" + newVersion);
    }
}

2.Dao实现

ublic class ContactDao {

    private DBOpenHelper helper;

    public ContactDao(Context context) {
        helper = new DBOpenHelper(context);
    }

    public boolean insertContact(String username, String phone) {
        SQLiteDatabase db = helper.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(DBOpenHelper._USERNAME, username);
        values.put(DBOpenHelper._PHONE, phone);

        long rowId = db.insert(DBOpenHelper.TABLE_NAME, null, values);
        return rowId != -1;
    }

    public boolean updateContact(String username, String newPhone) {
        SQLiteDatabase db = helper.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(DBOpenHelper._PHONE, newPhone);
        int update = db.update(DBOpenHelper.TABLE_NAME,
                values, "username=?", new String[]{username});
        return update > 0;
    }

    public boolean deleteContact(String username) {
        SQLiteDatabase db = helper.getWritableDatabase();

        int delete = db.delete(DBOpenHelper.TABLE_NAME, "username=?", new String[]{username});
        return delete > 0;
    }

    public String queryContact(String searchPhone) {
        SQLiteDatabase db = helper.getReadableDatabase();

        String result = "";
        Cursor query = db.query(DBOpenHelper.TABLE_NAME, new String[]{DBOpenHelper._USERNAME, DBOpenHelper._PHONE}, "phone=?", new String[]{searchPhone}
                , null, null, null);
        while(query.moveToNext()){
            String username = query.getString(query.getColumnIndex(DBOpenHelper._USERNAME));
            String phone = query.getString(query.getColumnIndex(DBOpenHelper._PHONE));
            result += (username + "   " + phone + "\n");
        }
        return result;
    }
}