SQLite的使用

本文介绍了SQLite数据库在Android系统中的使用方法,包括数据库的创建、数据的增删改查等核心操作,并提供了详细的代码示例。
                    SQLite的使用

一.什么是 SQLite

1.SQLite数据库存储是 Android系统提供下的数据存储方式之一 。
2.SQLite是专为嵌入式设备设计的一款轻量级的数据库 。
3.SQLite占用资源非常低,在嵌入式设备中,只需要几百k的内存 。
4.SQLite支持标准的SQL语法,遵循数据库的ACID事务 。
5.SQLite不需要安装,不需要用户名密码就可以使用。

二.如何使用SQLite

1.创建数据库和数据表 。
2.添加数据 。
3.修改数据 。
4.删除数据 。
5.查询数据。

三.创建数据库的步骤

1.新建类继承 Sqliteopenhelper。
2.实现构造方法 。
3.重写 on Create方法 。
4.重写onUpgrade方法 。
5.实例化 Sqliteopenhelpe的子类对象,例如本例的DBHelper类 。
6调用 getreadable Database方法或 getwritable Database方法。

四.具体过程:
1.先创建数据库和数据表。
2.创建MyDatabaseHelper ,然后继承SQLiteOpenHelper ,然后写一个构造方法,接着写两个方法。

public class MyDatabaseHelper extends SQLiteOpenHelper {
//继承
private String sql = "create table student(" + " id Integer primary key autoincrement not null," + " age integer," + " score real," + "name text not null " + " )";//创建数据库
public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
    super(context, name, factory, version);

}

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
    //创建数据表结构语句
    sqLiteDatabase.execSQL(sql);


}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
    //更新数据表机构
}

}

3.布局代码

<EditText
        android:id="@+id/name_et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="name" />

    <EditText
        android:id="@+id/newname_et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="newname" />

    <Button
        android:id="@+id/zeng_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="增"
        android:textSize="20sp" />

    <Button
        android:id="@+id/shan_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="删"
        android:textSize="20sp" />

    <Button
        android:id="@+id/gai_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="改"
        android:textSize="20sp" />

    <Button
        android:id="@+id/cha_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="查"
        android:textSize="20sp" />

4.接下来就是在MainActivity里面给控件绑定id和继承View.OnClickListener的onclick方法。记住我们这边需要传入四个参数。

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private Button addBtn;
    private Button deleteBbtn;
    private Button modifyBtn;
    private Button referBtn;
    private MyDatabaseHelper dpHelper;
    private EditText nameEdit;
    private EditText newnameEdit;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        bindID();

        dpHelper = new MyDatabaseHelper(this, "mydb", null, 1);

    }

    private void bindID() {
        addBtn = findViewById(R.id.zeng_btn);
        deleteBbtn = findViewById(R.id.shan_btn);
        modifyBtn = findViewById(R.id.gai_btn);
        referBtn = findViewById(R.id.cha_btn);
        nameEdit = findViewById(R.id.name_et);
        newnameEdit = findViewById(R.id.newname_et);

        addBtn.setOnClickListener(this);
        deleteBbtn.setOnClickListener(this);
        modifyBtn.setOnClickListener(this);
        referBtn.setOnClickListener(this);

    }

五.添加数据

首先在onclick方法里面使用switch语句。首先需要创建一个SQLiteDatabase 对象,然后使用ContentValues(可以有对象),然后用insert方法插入你需要的数据。

case R.id.zeng_btn:
                SQLiteDatabase sqldb = dpHelper.getWritableDatabase();
                ContentValues values = new ContentValues();
                values.put("name", nameEdit.getText().toString());
                sqldb.insert("student", null, values);
                break;

六.查询数据

查询数据就有点麻烦了。我们写好代码之后需要在计算机上面打开命令提示符,然后一步一步的到达你的SDK文件夹里面,为了简单方便,我们可以下一个安卓插件。而且查询这边需要用到游标,来获取数据。最后记得要把游标关闭。

 case R.id.cha_btn:
                SQLiteDatabase sqldb1 = dpHelper.getWritableDatabase();
                Cursor cursor = sqldb1.query("student", null, null, null, null, null, null);
                cursor.moveToFirst();
                do {
                    String name = cursor.getString(cursor.getColumnIndex("name"));
                    Log.e("NAME", name);
                } while (cursor.moveToNext());
                cursor.close();

                break;

七.修改数据

修改数据,需要在添加一个输入框,把自己需要改的数据放在第二个输入框这边,我们第一次尝试修改数据,结果发现全改为jet了,但是我们需要改特定的那个变成jet,所以我们需要使用数据里面的一种语句。同样也要创建SQLiteDatabase 对象。修改完之后,我们可以在控制台查询一下是否被改掉了。

case R.id.gai_btn:
                SQLiteDatabase sqldb2 = dpHelper.getWritableDatabase();
                String name1 = nameEdit.getText().toString();
                String newname = newnameEdit.getText().toString();
                ContentValues values1 = new ContentValues();
                values1.put("name", newname);
                sqldb2.update("student", values1, "name=?", new String[]{name1});

                break;

八.删除数据

删除数据里面的参数其实和修改里面的参数差不多。

case R.id.shan_btn:
                SQLiteDatabase sqldb3 = dpHelper.getWritableDatabase();
                String name2 = nameEdit.getText().toString();
                sqldb3.delete("student", "name=?", new String[]{name2});

                break;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值