【Android Studio】安卓APP期末作品记录之连接sqlite数据库以及简单的sqlite增删改查

这篇具有很好参考价值的文章主要介绍了【Android Studio】安卓APP期末作品记录之连接sqlite数据库以及简单的sqlite增删改查。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

期末作品要求使用数据库,我自己折腾了一会,又看了很多博主发的文章,终于成功了,特此记录:使用SQLiteDatabase和SQLiteOpenHelper连接已有sqlite数据库。

连接sqlite数据库的四步

第一步,导入sqlite数据库

因为我已经创建好了一个sqlite数据库,所以第一步得将我的数据库导入项目中
在app —> src —> main下创建assect文件夹,将自己的数据库粘贴进去,我的文件路径如下图所示:android studio 实现sqlite增删改查,android,sqlite,数据库

第二步,将数据库写入到项目模拟手机中

创建MyDatabaseHelper.java文件

import android.content.Context;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class MyDatabaseHelper {
    //导入的sqlite数据库文件名
    private final String DB_NAME = "AsianGames.db";
    private Context context;

    //定义类的方法
    public MyDatabaseHelper(Context context) {
        this.context = context;
    }

    // 复制和加载区域数据库中的数据
    public String CopyDBFile() throws IOException {

        // 在第一次运行应用程序时,加载数据库到data/data/当前包的名称/database/数据库名字
        //获取准确的路径,context.getPackageName()得到包名
        File dir = new File("data/data/" + context.getPackageName() + "/databases");
        //如果文件夹不存在,则创建指定的文件
        if (!dir.exists() || !dir.isDirectory()) {
            dir.mkdir();
        }
        //文件声明
        File file = new File(dir, DB_NAME);
        //输入流
        InputStream inputStream = null;
        //输出流
        OutputStream outputStream = null;
        //若不存在,通过IO流的方式,将assets目录下的数据库文件,写入到项目模拟手机中,当开启模拟器时,会将数据库文件写入到模拟手机的内存中
        if (!file.exists()) {
            try {
                //创建文件
                file.createNewFile();
                //加载文件
                inputStream = context.getClass().getClassLoader().getResourceAsStream("assets/" + DB_NAME);
                //输出到文件
                outputStream = new FileOutputStream(file);

                byte[] buffer = new byte[1024];
                int len;
                //按字节写入
                while ((len = inputStream.read(buffer)) != -1) {
                    outputStream.write(buffer, 0, len);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                //关闭资源
                if (outputStream != null) {
                    outputStream.flush();
                    outputStream.close();
                }
                if (inputStream != null) {
                    inputStream.close();
                }
            }
        }
        return file.getPath();
    }
}

然后在需要用到数据库之前,写入以下代码,我这里写了个函数,直接调用即可:

public void openDatabase(){
        MyDatabaseHelper myHelper = new MyDatabaseHelper(LoginOrRegisterActivity.this);
        try {
            myHelper.CopyDBFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

注:在这一行代码中,“LoginOrRegisterActivity.this”需要替换成你自己的activity文件名

MyDatabaseHelper myHelper = new MyDatabaseHelper(LoginOrRegisterActivity.this);

成功之后可以在右侧的Device File Explorer中的data —> data找到自己的项目,可以看到数据库已经被写入模拟器中了android studio 实现sqlite增删改查,android,sqlite,数据库

第三步,连接数据库

创建OpenHelper.java文件

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

import androidx.annotation.Nullable;

public class OpenHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "AsianGames.db";
    public OpenHelper(@Nullable Context context) {
        super(context, DATABASE_NAME, null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {

    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

第四步,使用数据库进行增删改查

在这一步中,如果你调用数据库的代码是写在一个专门的java文件中的话(比如我就写在GetSQLite.java中),需要注意调用数据库时是在activity中还是在fragment中

// GetSQLite.java
  // 在activity中
  public Cursor getData(FragmentActivity activity, String sql){
        OpenHelper openHelper=new OpenHelper(activity);
        SQLiteDatabase db=openHelper.getReadableDatabase();
        Cursor cursor = db.rawQuery(sql,null);
        return cursor;
    }

  // 在fragment中
  public Cursor getData1(Context context, String sql, String[] o){
        OpenHelper openHelper=new OpenHelper(context);
        SQLiteDatabase db=openHelper.getReadableDatabase();
        Cursor cursor = db.rawQuery(sql,o);
        return cursor;
    }

重点是这两行代码:

OpenHelper openHelper=new OpenHelper(context);
SQLiteDatabase db=openHelper.getReadableDatabase();

到这里sqlite数据库的连接就已经结束了

简单的sqlite增删改查

1、增、删、改
我比较习惯自己写sql语句,所以就没有用它的增、删、改函数,我用的是:execSQL(String sql, Object[] bindArgs)
第一个参数是sql语句。
第二个参数是sql语句中占位符参数的值,参数值在数组中的顺序要和占位符的位置对应,第二个参数可写可不写。

String sql = "update users set username=?,sex=? where user_account=?";
Object[] o = new Object[]{name,sex,user_account};
db.execSQL(sql,o);

2、查
execSQL不能执行查询语句,所以我们需要用到Cursor以及rawQuery
rawQuery(String sql, String[] selectionArgs)
第一个参数是sql语句。
第二个参数是sql语句中占位符参数的值,参数值在数组中的顺序要和占位符的位置对应,第二个不需要的话可以写null。文章来源地址https://www.toymoban.com/news/detail-771451.html

String sql = "select * from users where username=? and password=?";
String[] s = new String[]{name,password};
Cursor cursor = db.rawQuery(sql,s);
if(cursor.moveToFirst() == true){
            String id;
            String name;
            String psw;
            String sex;

            id = cursor.getString(0);
            name = cursor.getString(1);
            sex = cursor.getString(2);
            psw = cursor.getString(3);
			System.out.println(id+","+name+","+psw+","+sex)
        }

到了这里,关于【Android Studio】安卓APP期末作品记录之连接sqlite数据库以及简单的sqlite增删改查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Android Studio 期末大作业(英语app)[免费开源]

      先简要说明下:该大作业不包含数据存储,网络通信技术,仅是一个大致的框架,有兴趣的朋友可以在此基础上进行开发。 资源链接在文末ヽ(*^ー^)人(^ー^*)ノ 大作业简介:这是一款英语学习APP,包含4个大模块:单词搜索、美文阅读、客服聊天、软件详情。每个模块都有详

    2024年02月05日
    浏览(66)
  • Android Studio连接安卓手机

    点击右上角红框的【SDK Manager】-【SDK Tools】。 也可以在 【tools】-【SDK Manager】-【SDK Tools】下进入。 点击Google USB Driver,下载后点ok。 右键【我的电脑】-【高级系统设置】-【环境变量】,新建变量【Android_Home】; 值为:C:UsersHuoAppDataLocalAndroidSdk;C:UsersHuoAppDataLocalAnd

    2024年02月16日
    浏览(31)
  • Android studio 连接SQLite数据库 +创建数据库+创建数据库表

    Android studio 之数据库的使用 连接创建SQLite 大家好,欢迎来到寒依。 相信看啦我的教程 当老师问你在学习Android studio 数据库使用过程中遇到什么困难,分享一下你的感悟和解决方法 的时候,你可以直接大胆的说出来: “老师我没有遇到问题,看啦寒依的教程 畅行无阻” 我

    2024年02月02日
    浏览(45)
  • android studio 连接安卓手机/鸿蒙手机教程

    一、配置SDK 1.点击SDK Manager ​编辑 2.选择SDK平台与SDK工具 1.SDK平台: 2.SDK工具: 二、连接手机 1.开发者模式 2.连接数据线 三、运行android studio 1.SDK平台: 安卓手机 选择手机的安卓版本, 鸿蒙手机选择10.0即可 2.SDK工具: 第一步:点击 Google USB Driver 第二步:点击 OK 如果电脑

    2024年02月05日
    浏览(58)
  • Android Studio配置adb使用WIFI连接手机调试安卓程序

    安装adb参考:https://www.linmeimei.top/2023/03/02/flutter-adb 手机设置 打开开发者模式(用HUAWEI举例) 【设置】→【关于手机】→【版本号】→ 连续点击5次即可进入开发者模式 打开USB调试 【设置】→【系统和更新】→【开发人员选项】→开启【USB调试】开关→开启【\\\"仅充电\\\"模式下允许

    2024年02月04日
    浏览(47)
  • Android Studio App开发中数据库SQLite的解析及实战使用(包括创建数据库,增删改查,记住密码等 附源码必看)

    运行有问题或需要源码请点赞关注收藏后评论区留言~~~ SQLite是一种小巧的嵌入式数据库,使用方便,开发简单,如同mysql,oracle那样,SQLite也采用SQL语句管理数据,由于它属于轻型数据库,不涉及复杂的数据控制操作,因此App开发只用到数据定义和数据操纵两类SQL。 1:数据

    2024年02月03日
    浏览(67)
  • 用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑

    Uni-app 离线打包 apk 1. Android Studio 下载 Android Studio官网 2. HBuilderX下载 HBuilderX下载 3. App离线SDK下载 Android 离线SDK - 正式版 下载后解压文件,将 HBuilder-Integrate-AS 重命名 build-template 并拷贝到一个专门打包用的文件夹下作为打包模板 该文件夹中有一个 simpleDemo 文件夹 即 build-temp

    2024年02月04日
    浏览(49)
  • 【安卓app开发一】Android Studio + Bmob后端云实现注册&登录账号、密码找回、意见反馈及数据可视化

    目录 前言 概览 Bmob后端云介绍 Bmob后端云与Android Studio配置 一、Bmob后端云  二、Android Studio配置 工具类 一、User类 二、Suit类 三、Code类 实现类  一、登录代码  二、注册代码  三、找回密码代码  四、想法反馈代码         本项目尚在开发阶段,主要针对的是安卓用户,通

    2024年02月08日
    浏览(48)
  • 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日
    浏览(40)
  • 安卓期末项目:星座App

    目录 一,项目介绍: 二,项目功能介绍          1 查看星座          2 星座匹配          3 查看运势         4 本软件介绍  三,核心代码 (1)首页Mactivity核心代码 (2)首页查看星座 (3)星座的匹配   (4)查看运势          (5)本软件介绍 四,项

    2024年02月08日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包