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();
}
}
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。