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数据库操作的主要内容,如果未能解决你的问题,请参考以下文章

如何在片段中访问 SQLite 数据到 ListView

java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段

当sqlite android片段中的数据更改或删除时如何刷新recyclerview?

如何在片段内的 recylerview 列表中显示 SQLite 数据库数据?

无法从片段中的 SQLite 获取数据

如何从android studio中的recycler视图将数据添加到SQLite数据库中