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; } }
浙公网安备 33010602011771号