Android SQLite

Android SQLite

介绍

SQLite是Android内置的数据库,运算速度非常快,占用资源很少,支持标准的SQL语法,对于本地持久化的功能有质的提升

用法

Android为了方便管理数据库提供了一个SQLiteOpenHelper帮助类,这个呢是个抽象类,如若要使用它,则需继承它,则必须重写它的onCreate()和onUpgrade()方法,在这重写的方法中实现我们想要的逻辑。他还有另外两个常用且重要的方法,getReadableDatabase()和getWriteDatabase(),两个方法都能创建或打开一个数据库,如果数据库存在则直接打开,如果不存在则新建一个,二者的差别从他们的名字就能看出来吧,再数据库不可写入的时候,前者返回对象只能进行读操作,后者将不能使用即报异常。

重写构造函数的时候我们选择较简单的那种,其中包括四个参数,其一:Context,用膝盖想想为啥要传这个;其二:数据库名,用手肘想想为啥要传这个;其三:Cursor,这个的话是我们自定义的一个返回数据的封装,没事,待会儿你就懂了;其四:当前数据库的版本号,可用于对数据库进行升级操作。

实例

新建一个库和表

代码示例

新建一个类SQLite继承SQLiteOpenHelper,编写代码如下:

package com.example.sqlite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

public class SQLite extends SQLiteOpenHelper {
   

    private String create_student = "create table Student ("
            + "stu_id varchar primary key, "
            + "stu_name varchar, "
            + "stu_age integer)";

    private Context mContext;

    public SQLite(Context context , String name , SQLiteDatabase.CursorFactory factory , int version) {
   
        super(context, name, factory, version);
        mContext = context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
   
        db.execSQL(create_student);
        Toast.makeText(mContext , "创建成功" , Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
   

    }
}

这个代码看似复杂,实际上还行

建表的语句我就不多说了,稍微有点数据库基础都没问题;接下来Context也不说了;再然后,构造方法传入之前提到的四个变量,调用super给它的父亲也整一手,你不写这个它会报错的,然后将私有变量mContext赋值确定是哪个活动;重写方法onCreate执行SQL语句,然后成功后弹出提示信息;

编写修改activity_main.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/create"
        android:text="创建库和表"/>

</LinearLayout>

就一个按钮用于新建数据库以及那张表

编写修改MainActivity.java文件

package com.example.sqlite;

import androidx.appcompat.app.AppCompatActivity;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值