注:Android中是使用Sqlite数据库的
一、创建数据库
利用继承SQLiteOpenHelper类创建数据库帮助类,由此类创建数据库
public class DbOpenHelper extends SQLiteOpenHelper { //数据库文件名 public static final String DB_NAME = "contact.db"; //数据库版本 public static final int DB_VERSION=1; //数据库表的内容 public static final String TABLE_NAME="contactinfo"; public static final String _USERNAME="username"; public static final String _PHONE="phone"; private static final String _ID = "id"; public DbOpenHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } //数据库文件创建的时候调用该方法 @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table "+TABLE_NAME+" ("+_ID+" integer primary key autoincrement," + _USERNAME+" text,"+_PHONE+" text);"); } //数据据更新,只要跟之前的数据库版本不一样,则会调用,该方法可以修改数据库表的各种数据 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }注:保存数据库文件:/data/data/包名/databases/xxx.db
二、创建DAO类,对数据库进行增删改查
public class ContactDao { private DbOpenHelper mHelper; public ContactDao(Context c ){ mHelper = new DbOpenHelper(c); } //增 public void insertContact(String username,String phone){ SQLiteDatabase db = mHelper.getWritableDatabase(); db.execSQL("insert into "+DbOpenHelper.TABLE_NAME +"("+DbOpenHelper._USERNAME+","+DbOpenHelper._PHONE+") values(?,?);", new String[]{username,phone}); } //删 public void updateContact(String username,String newPhone){ SQLiteDatabase db = mHelper.getWritableDatabase(); db.execSQL("update contactinfo set phone=? where username=?;", new String[]{newPhone,username}); } //改 public void deleteContact(String username){ SQLiteDatabase db = mHelper.getWritableDatabase(); db.execSQL("delete from contactinfo where username=?;", new String[]{username}); } //查 public String queryContact(String phone){ SQLiteDatabase db = mHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("select username from contactinfo where phone=?;", new String[]{phone}); while (cursor.moveToNext()) { String username = cursor.getString(0); return username; } } }