Android Studio 使用SQLite数据库来创建数据库+创建数据库表+更新表再次往表添加字段

这篇具有很好参考价值的文章主要介绍了Android Studio 使用SQLite数据库来创建数据库+创建数据库表+更新表再次往表添加字段。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.前言

二.SQLite数据库介绍

1.什么是SQLite数据库

2.特点

3.SQLite 操作API

4.SQLite数据类型

三.SQlite数据库的使用

1.创建类继承SQLiteOPenHelper

2.创建数据库

3.创建数据库表

4.更新表添加字段

完整代码

扩展

总结


一.前言

我们在使用Android进行开发的时候不可避免的要使用到数据,那么就需要用到数据库,来对数据进行操作。而Android系统就内置了SQlite。

二.SQLite数据库介绍

1.什么是SQLite数据库

SQLite是一款轻量级的关系型数据库,它运算速度快,占用资源少,在内存中只需要占用几百KB的存储空间。

2.特点

  1. 轻量级
  2. 独立性
  3. 隔离性
  4. 跨平台
  5. 安全性
  6. 多语言接口 

3.SQLite 操作API

Android SDK提供了一系列对数据库进行操作的类和接口。常用的数据库操作类有:

SQLiteOpenHelper 类(我们今天使用到的是这个)

SQLiteOpenHelper类中常用的方法
onCreate(SQliteDatabase db) 数据库第一次创建时,会调用
onIpgrade(SQliteDatabase db, int i, int i1) 数据库升级时自动调用
getWritableDatabase() 打开可读/写的数据库
getReadableDatabase() 打开可读的数据库
close() 关闭数据库


• 该类是一个抽象类,用于创建数据库和数据库版本更新。
SQLiteDatabase 类
• 该类是一个数据库访问类,封装了一系列数据库操作的API,可以对数据进行增删改查操作。
Cursor接口
• 是一个游标接口,在数据库操作中作为返回值,相当于结果集ResultSet。

4.SQLite数据类型

  1. integer:整型
  2. real:浮点型
  3. text:文本类型
  4. blob:二进制类型

三.SQlite数据库的使用

1.创建类继承SQLiteOPenHelper

1.先创建一个项目,然后创建一个类,我这里创建的是MySQLiteOpenHelper类,可以再建一个db包把该类放在该目录下。

2.继承SQLiteOPenHelper,并点击实现onCreate方法和onUpgrade方法用于创建、升级数据库。

 android studio 数据库,Android,数据库,sqlite,android,android studio,ide,java

 飘红不要害怕,点击红色小灯泡构造一下它的构造函数就可以了。

2.创建数据库

我们重写MySQLiteOpenHelper的构造方法,把后面的3个参数都写死,方便后面可以调用,然后写数据库名,还有数据库版本。

android studio 数据库,Android,数据库,sqlite,android,android studio,ide,java

//部分代码
public class MySQLiteOpenHelper extends SQLiteOpenHelper {

    Context mContext;

    public MySQLiteOpenHelper(@Nullable Context context) {
        super(context, "test", null, 1);
        this.mContext = context;
    }

}

3.创建数据库表

1.确定表的字段和类型,我以创建用户表为例。

user表
字段 字段类型 描述
id integer 主键自增
zh text 账号
mm text 密码
xm text 姓名
sjh integer 手机号

2.定义一个属性等于创建user表语句,这里其实和mysql的语句差不多。

3.在onCreate方法里面调用SQLiteDatabase.execSQL(CREATE_USER),里面是你刚刚定义的属性。

可以使用Toast提示,当程序启动成功时,是否创建数据库和数据库表了,只会执行一次。

android studio 数据库,Android,数据库,sqlite,android,android studio,ide,java

//部分代码
public class MySQLiteOpenHelper extends SQLiteOpenHelper {

    public static String CREATE_USER = "create table user (" +
            "id integer primary key autoincrement," +
            "zh text," +
            "mm text," +
            "xm text," +
            "sjh integer)";

    Context mContext;

    public MySQLiteOpenHelper(@Nullable Context context) {
        super(context, "test", null, 1);
        this.mContext = context;
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL(CREATE_USER);
        Toast.makeText(mContext, "数据库首次创建成功!", Toast.LENGTH_SHORT).show();
    }
}

4.在MainActivity添加数据库,添加数据库实例,然后数据库初始化。

MainActivity.java

//完整代码
package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;

import com.example.myapplication.db.MySQLiteOpenHelper;

public class MainActivity extends AppCompatActivity {

    private MySQLiteOpenHelper mySQLiteOpenHelper;

    private SQLiteDatabase db;

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

        initData();
    }

    private void initData() {
        mySQLiteOpenHelper = new MySQLiteOpenHelper(this);
        db = mySQLiteOpenHelper.getWritableDatabase();
    }
}

当运行成功后,使用了Toast,页面会提示

android studio 数据库,Android,数据库,sqlite,android,android studio,ide,java

5.Anddroid提供了查看数据库的功能,点击下面底部小人头像App Inspection,就可以看到我们的数据库库和数据库表了。

android studio 数据库,Android,数据库,sqlite,android,android studio,ide,java

我这里贪方便,数据库和数据表一起创建了。如果你是先运行了创建数据库,要往数据库添加数据库表,后面我会说到怎么做。

4.更新表添加字段

1.在onUpgrade更新表添加字段。

2.数据库版本往上+1。

//部分代码
public mySqliteOpenHelper(@Nullable Context context) {
    //数据库的版本随着数据库每一次更新+1,原来版本1变成版本2
    super(context, "user.db", null, 2);
}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
    //可以多次操作,更新数据库的方法
    switch (i) {
        case 2:
           String sql = "ALTER TABLE user"
                   + " ADD COLUMN avatar text";
            sqLiteDatabase.execSQL(sql);  // 执行修改表,添加字段的逻辑。
         case 1:
             // 当前版本就是2,所以目前代码不会进入 case 2: .. 里面来,只会进入 case 1 里面
             // xxx 注意,这里不要 break; 要能一直升级。
    }
}

 3.再次运行程序,查看数据库表,可以看到已经增加了avat字段

android studio 数据库,Android,数据库,sqlite,android,android studio,ide,java

完整代码

MySQLiteOpenHelper.java

package com.example.myapplication.db;

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

import androidx.annotation.Nullable;

public class MySQLiteOpenHelper extends SQLiteOpenHelper {

    public static String CREATE_USER = "create table user (" +
            "id integer primary key autoincrement," +
            "zh text," +
            "mm text," +
            "xm text," +
            "sjh integer)";

    Context mContext;

    public MySQLiteOpenHelper(@Nullable Context context) {
        super(context, "test", null, 2);
        this.mContext = context;
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL(CREATE_USER);
        Toast.makeText(mContext, "数据库首次创建成功!", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        //可以多次操作,更新数据库的方法
        switch (i) {
            case 1:
                String sql = "ALTER TABLE user"
                        + " ADD COLUMN avatar text";
                sqLiteDatabase.execSQL(sql);  // 执行修改表,添加字段的逻辑。
            case 2:
                // 当前版本就是2,所以目前代码不会进入 case 2: .. 里面来,只会进入 case 1 里面
                // 注意,这里不要 break; 要能一直升级。
        }
    }
}

扩展

添加表也是和更新表字段差不多,只是需求写创表语句,而sqLiteDatabase.execSQL()方法直接在onUpgrade里执行就可以了(千万要记住数据库版本+1

总结

SQLiteOpenHelper是Android中用于管理SQLite数据库的一个辅助类。SQLiteOpenHelper类是操作SQLite数据库的重要类,通过它提供的方法,我们可以轻松地创建和管理SQLite数据库。简单易上手,代码易懂,适合新手。文章来源地址https://www.toymoban.com/news/detail-718238.html

到了这里,关于Android Studio 使用SQLite数据库来创建数据库+创建数据库表+更新表再次往表添加字段的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Android Studio]Android 数据存储--SQLite数据库存储

     🟧🟨🟩🟦🟪 Android Debug 🟧🟨🟩🟦🟪 Topic   发布安卓学习过程中遇到问题解决过程,希望我的解决方案可以对小伙伴们有帮助。 💯实战演练--基于SQLite数据库的通讯录实现数据的增删改查 1,创建程序 2,放置界面控件 3,编写界面交互代码 4, 核心方法讲解 5,数据库

    2024年02月08日
    浏览(52)
  • Android studio引入外部SQLite数据库,获取数据库列表数据

    准备好Android studio和一个创建管理数据库的软件,推荐SQLite Expert Professional或者Navicat Premium。这里以SQLite Expert Professional为例。 1.穿件sqlite数据库,按照自己的项目要求定义数据库和相应的数据表 1.在main目录下创建assets文件,将准备好的sqlite数据库文件放入这个目录下 解释:

    2024年02月08日
    浏览(57)
  • 【Android Studio】安卓APP期末作品记录之连接sqlite数据库以及简单的sqlite增删改查

    期末作品要求使用数据库,我自己折腾了一会,又看了很多博主发的文章,终于成功了,特此记录:使用SQLiteDatabase和SQLiteOpenHelper连接已有sqlite数据库。 第一步,导入sqlite数据库 因为我已经创建好了一个sqlite数据库,所以第一步得将我的数据库导入项目中 在app — src — ma

    2024年02月03日
    浏览(57)
  • Android之SQLite数据库使用

    SQLite是Android系统集成的一个轻量级的数据库。 Android提供了 SQLiteDatabase代表一个数据库 (底层就是一个数据库文件),一旦应用程序获得了代表指定数据库的SQLiteDatabase对象,接下来可通过SQLiteDatabase对象来管理、操作数据库了。 Android为了让我们能够更加方便地管理数据库,

    2024年02月16日
    浏览(51)
  • Android开发——SQLite数据库的使用

    1、SQLite的特性 SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。

    2024年02月15日
    浏览(48)
  • Android中SQLite数据库增删改查/使用ListView显示数据库内容(有完整源码)

    android作业笔记 编写SQLite数据库相关操作的代码,实现下图中的功能(第一排按钮布局没有调整屏幕大小适配…不过下面那一排加了 android:layout_weight=“1”) SQLite展示 先上源码:https://gitee.com/meng-fanyang/SQLiteWork 里边有三个分支,对应这不同的写法: master主分支是写的可以说

    2024年02月09日
    浏览(46)
  • Android使用SQLite数据库实现基本的增删改查

    目录 一、创建activity_main和MainActivity界面 二、实现查询/删除功能创建activity_delete和DeleteActivity 三、实现添加功能创建activity_add和AddActivity  四、实现更新功能创建activity_update和UpdateActivity 五、创建user_data类、userInfo类和增加权限 总结 activity_main如图:  MainActivity如下 layout界面

    2024年02月08日
    浏览(51)
  • SQLite Studio 连接 SQLite数据库

    1.1、按WIN+R,打开控制台,然后把指引到我们的SQLite的安装路径,输入D:,切换到D盘,cd 地址,切换到具体文件夹,输入“sqlite3”,启动服务 1.2、创建数据库和表  id和name是表的属性(列名),int和varchar是列名的数据类型,int表示是整型,varchar表示是字符串,长度是20,p

    2024年02月15日
    浏览(51)
  • Android期末大作业:使用AndroidStudio开发图书管理系统APP(使用sqlite数据库)

    Android Studio开发项目图书管理系统项目视频展示: 点击进入图书管理系统项目视频 现在是一个信息高度发达的时代,伴随着科技的进步,文化的汲取,人们对于图书信息的了解与掌握也达到了一定的高度。尤其是学生对于知识的渴求更是与日俱增。图书馆作为学生学习知识的

    2024年02月08日
    浏览(57)
  • 【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库 ( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 )

    对于 Room 框架 来说 , 使用 Java 语言 开发和使用 Kotlin 语言 开发 , 需要在 build.gradle 构建脚本 中进行不同的配置 , 主要有以下两个配置不同 : 应用的插件不同 ; 导入依赖库方式不同 ; 应用插件 应用的插件区别 : 如果使用 Java 语言开发 , 只需要导入 android 插件 ; 如果使用 Kotli

    2024年02月05日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包