温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android sqlite数据库操作

发布时间:2020-04-14 08:31:30 来源:网络 阅读:377 作者:老婆的宝宝 栏目:数据库

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();
    }
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI