码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • LitePal操作数据库


    LitePal操作数据库

      • 一、 LitePal简介
      • 二、 配置LitePal
        • 1. 在app/build.gradle文件的dependencies闭包中添加包依赖
        • 2. 在app/src/main目录下新建assets目录,新建litepal.xml
        • 3. 在AndroidManifest.xml添加android:name
        • 4. 上面爆红的话,在setting.gradle添加如图所示
      • 三、创建和升级数据库
        • 1. 定义一个Book类,并构造get和set方法
        • 2. 在litepal.xml中标签中的一定要使用完整的类名
        • 3. 修改MainActivity中的代码
      • 四、添加数据
      • 五、修改数据
      • 六、删除数据

    一、 LitePal简介

    LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式。将数据库功能进行了封装,可以不用编写一行SQL语句就能完成各种建表和增删改查的操作。LitePal的项目主页面地址:https://github.com/guolindev/LitePal

    二、 配置LitePal

    1. 在app/build.gradle文件的dependencies闭包中添加包依赖

    implementation 'org.litepal.guolindev:core:3.2.3
    
    • 1

    2. 在app/src/main目录下新建assets目录,新建litepal.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <litepal>
        <dbname value="BookStore"></dbname>
        <version value="1"></version>
        <list>
          <mapping class="com.examlple.app.Book"></mapping>
        </list>
    </litepal>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3. 在AndroidManifest.xml添加android:name

    <application
        android:name="org.litepal.LitePalApplication"
        ...
        </activity>
    </application>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4. 上面爆红的话,在setting.gradle添加如图所示

    在这里插入图片描述

    三、创建和升级数据库

    1. 定义一个Book类,并构造get和set方法

    2. 在litepal.xml中标签中的一定要使用完整的类名

    3. 修改MainActivity中的代码

       Button createDatabase = (Button) findViewById(R.id.create_database);
            createDatabase.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                     Connector.getDatabase();
                }
            });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    四、添加数据

    LitePal进行表管理操作时不需要模型类有任何的继承结构,但是进行CRUD操作时就不行了,必须要继承LitepalSupportt类才行。
    (1) 将Books继承LitepalSupport类
    (2) 修改代码

       Button addData = (Button) findViewById(R.id.add_data);
            addData.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                   Books books =new Books();
                   books.setName("java");
                   books.setAuthor("张华");
                   books.setPages(200);
                   books.setPrice(23.43);
                   books.save();
                }
            });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    五、修改数据

    Button updateData = (Button)findViewById(R.id.update_data);
        updateData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Books books = new Books();
                books.setPrice(14.95);
                books.setName("李四");
                books.updateAll("name = ? and author = ?","java","张华");
            }
        });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    六、删除数据

    Button deleteData = (Button)findViewById(R.id.delete_data);
        deleteData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LitePal.deleteAll(Books.class,"price < ?","15");
            }
        });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

  • 相关阅读:
    自学Vue开发Dapp去中心化钱包(二)
    Python中 os 和 os.path 模块处理文件路径的方法
    gunicorn参数说明英文及译文
    vistual studio 2017中导入pthread.h的配置方法
    一个循环问题以及两个循环问题,其中两个循环需要两种不同方式实现
    macOS 15 beta (24A5264n) Boot ISO 原版可引导镜像下载
    移动端安全攻防那些事儿,看这场直播就够了!
    机器学习服务助应用内文本语种在线和离线检测
    QT实现简单备忘录
    elasticsearch 7.7.0 单节点配置x-pack
  • 原文地址:https://blog.csdn.net/qq_48019875/article/details/126219002
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号