android sqlite数据库操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android sqlite数据库操作相关的知识,希望对你有一定的参考价值。
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(); } }
本文出自 “YuanGuShi” 博客,请务必保留此出处http://cm0425.blog.51cto.com/10819451/1940040
以上是关于android sqlite数据库操作的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段
当sqlite android片段中的数据更改或删除时如何刷新recyclerview?