sqlite有一點不同于其他常見數據庫,就是sqlite數據庫是存成文件的,可以直接把該文件從手機里導出來,以文件的形式存在,然后放到電腦上查看。
Android操作數據庫有如下步驟:
1、繼承SQLiteOpenHelper,實現里面的方法。public?class?MyDbHelper?extends?SQLiteOpenHelper?{
public?MyDbHelper(Context?context)?{
super(context,?"db3",?null,?1);
}
@Override
public?void?onCreate(SQLiteDatabase?db)?{
db.execSQL("create?table?db(id?int?primary?key?autoincrement,name?varchar(10),phone?varchar(15));");
}
@Override
public?void?onUpgrade(SQLiteDatabase?db,?int?oldVersion,?int?newVersion)?{
db.execSQL("alert?table?db?add?column?yuan?varchar(11);");
}
}
2、創建一個dao層,作用類似java中的ssh框架中的dao層,用來操作數據庫
public?class?ContactInfoDao?{
private?final?MyDbHelper?mMyDbHelper;
private?final?SQLiteDatabase?mDb;
//構造方法,生成該類的實體對象時直接生成操作數據庫的對象
public?ContactInfoDao(Context?context){
mMyDbHelper?=?new?MyDbHelper(context);
mDb?=?mMyDbHelper.getWritableDatabase();
}
/**
*?添加聯系人信息
*?@param?name
*?@param?phone
*/
public?void?add(String?name,String?phone){
mDb.execSQL("insert?into?db3(name,phone)?values(?,?)",new?Object[]{name,phone});
mDb.close();
}
}
3、在dao層中寫好對應的方法后,在Activity中調用dao中的方法進行業務邏輯package?com.yuanlp.createdb3;
import?android.os.Bundle;
import?android.support.v7.app.AppCompatActivity;
import?android.text.TextUtils;
import?android.view.View;
import?android.widget.EditText;
import?android.widget.Toast;
import?com.yuanlp.createdb3.dao.ContactInfoDao;
public?class?MainActivity?extends?AppCompatActivity?{
private?EditText?mName;
private?EditText?mPhone;
private?ContactInfoDao?mContactInfoDao;
@Override
protected?void?onCreate(Bundle?savedInstanceState)?{
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
mName?=?(EditText)?findViewById(R.id.et_name);
mPhone?=?(EditText)?findViewById(R.id.et_phone);
mContactInfoDao?=?new?ContactInfoDao(this);
}
/**
*?插入數據庫
*?@author?yuan
*?@param?view
*/
public?void?add(View?view){
String?name=mName.getText().toString().trim();
String?phone=mPhone.getText().toString().trim();
if?(TextUtils.isEmpty(name)||name==null){
Toast.makeText(this,"姓名不能為空",Toast.LENGTH_SHORT).show();
return;
}else?if?(TextUtils.isEmpty(phone)||phone==null){
Toast.makeText(this,"號碼不能為空",Toast.LENGTH_SHORT).show();
return;
}
mContactInfoDao.add(name,phone);
Toast.makeText(this,"插入數據庫成功",Toast.LENGTH_SHORT).show();
}
}