sqlite有一点不同于其他常见数据库,就是sqlite数据库是存成文件的,可以直接把该文件从手机里导出来,以文件的形式存在,然后放到电脑上查看。
Android操作数据库有如下步骤:
1、继承SQLiteOpenHelper,实现里面的方法。publicclassMyDbHelperextendsSQLiteOpenHelper{
publicMyDbHelper(Contextcontext){
super(context,"db3",null,1);
}
@Override
publicvoidonCreate(SQLiteDatabasedb){
db.execSQL("createtabledb(idintprimarykeyautoincrement,namevarchar(10),phonevarchar(15));");
}
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
db.execSQL("alerttabledbaddcolumnyuanvarchar(11);");
}
}
2、创建一个dao层,作用类似java中的ssh框架中的dao层,用来操作数据库
publicclassContactInfoDao{
privatefinalMyDbHelpermMyDbHelper;
privatefinalSQLiteDatabasemDb;
//构造方法,生成该类的实体对象时直接生成操作数据库的对象
publicContactInfoDao(Contextcontext){
mMyDbHelper=newMyDbHelper(context);
mDb=mMyDbHelper.getWritableDatabase();
}
/**
*添加联系人信息
*@paramname
*@paramphone
*/
publicvoidadd(Stringname,Stringphone){
mDb.execSQL("insertintodb3(name,phone)values(?,?)",newObject[]{name,phone});
mDb.close();
}
}
3、在dao层中写好对应的方法后,在Activity中调用dao中的方法进行业务逻辑packagecom.yuanlp.createdb3;
importandroid.os.Bundle;
importandroid.support.v7.app.AppCompatActivity;
importandroid.text.TextUtils;
importandroid.view.View;
importandroid.widget.EditText;
importandroid.widget.Toast;
importcom.yuanlp.createdb3.dao.ContactInfoDao;
publicclassMainActivityextendsAppCompatActivity{
privateEditTextmName;
privateEditTextmPhone;
privateContactInfoDaomContactInfoDao;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
mName=(EditText)findViewById(R.id.et_name);
mPhone=(EditText)findViewById(R.id.et_phone);
mContactInfoDao=newContactInfoDao(this);
}
/**
*插入数据库
*@authoryuan
*@paramview
*/
publicvoidadd(Viewview){
Stringname=mName.getText().toString().trim();
Stringphone=mPhone.getText().toString().trim();
if(TextUtils.isEmpty(name)||name==null){
Toast.makeText(this,"姓名不能为空",Toast.LENGTH_SHORT).show();
return;
}elseif(TextUtils.isEmpty(phone)||phone==null){
Toast.makeText(this,"号码不能为空",Toast.LENGTH_SHORT).show();
return;
}
mContactInfoDao.add(name,phone);
Toast.makeText(this,"插入数据库成功",Toast.LENGTH_SHORT).show();
}
}