码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 12.从架构设计角度分析AAC源码-Room源码解析第1篇:当前demo为主线查看涉及的Room源码解析


    前言

    下面的解析也是总体到细节去一步步剥离当前demo为主线涉及的Room源码部分。

    demo

    demo路径在AAC-core-demo下(下载当前github上的源码是记得是Room tag标签)。

    我们应该运行一下当前demo,知道它是干什么的

    在这里插入图片描述

    1. 在输入框输入随意信息,e.g. 啦啦啦;

    2. 点击按钮 UPDATE USERENAME,当前输入框会更新如图所示的输入框上方;

    3. 关闭当前app,再次打开上次输入的信息(e.g.啦啦啦)被保留并展示在如图所示的输入框上方。

    出现这种情况的原因:我们使用了androidx源码中的room组件。通过room操作supportSqlite,supportSqlite再去操作android源码中的sqlite组件。

    • 知道是Room插件即可,这里的supportSqlite就是androidx源码中sqlite组件的具体实现几个类,前缀都是supportSQLite。

    总体到细节

    下面开始一步步深入细节的去理解当前Room源码。

    在这里插入图片描述

    1. app模块:demo模块,使用Room;

    2. room模块:设计到的子模块不只是上面的两个,room-runtime和room-compiler,我们暂主要理解这两个即可;

    • (1) room-runtime:被demo引用的依赖,通过当前模块去操作数据库,相当于把数据库的操作分为两部分:一部分自己处理,一部分交给androidx中sqlite模块去处理;

    • (2) room-compiler:用于根据demo中的注解,为demo生成类(这里不做研究,后面会有专门的文章去分析,以及room注解的用法);

  • 相关阅读:
    Diffusion Models/Score-based Generative Models背后的深度学习原理(3):蒙特卡洛采样法和重要采样法
    c++之旅第七弹——继承
    竞赛选题 机器视觉人体跌倒检测系统 - opencv python
    java通过kerberos认证并通过GSS-API获取kerberos服务票证
    【异常的打卡记录】python实现-附ChatGPT解析
    Day5力扣打卡
    libGDX 3D 的基本使用
    三万字带你了解那些年面过的Java八股文
    【数据结构与算法】leetcode110.判断平衡二叉树
    WEB 渗透之端口协议
  • 原文地址:https://blog.csdn.net/foshengtang/article/details/126865392
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号