首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AndroidStudio 开发基础知识【翻译完成】

四十七、使用表格布局组件创建选项卡式界面 四十八、使用回收视图和卡片视图小部件 四十九、安卓回收视图和卡片视图教程 五十、布局编辑示例数据教程 五十一、使用应用栏和折叠工具栏布局 五十二、AndroidStudio...六十四、可折叠装置和多窗口支持 六十五、安卓 SQLite 数据库概述 六十六、安卓 Room 持久化库 六十七、安卓表格布局和表格行教程 六十八、安卓 Room 数据库和仓库教程 六十九、使用安卓存储访问框架访问云存储...数据类型、变量和可空性 十三、Kotlin 算子和表达式 十四、Kotlin 流量控制 十五、Kotlin 函数和 Lambdas 概述 十六、Kotlin 面向对象编程基础 十七、Kotlin 继承与子类化简介...五十五、安卓回收视图和卡片视图教程 五十六、布局编辑示例数据教程 五十七、使用应用栏和折叠工具栏布局 五十八、AndroidStudio MasterDetailFlow 教程 五十九、安卓意图概述...七十二、安卓 SQLite 数据库概述 七十三、安卓 Room 持久化库 七十四、安卓表格布局和表格行教程 七十五、安卓 Room 数据库和仓库教程 七十六、使用安卓存储访问框架访问云存储 七十七、安卓存储访问框架示例

3.1K30

开源 | 携程机票跨端 Kotlin DSL 数据库框架 SQLlin

例如,在 Android 开发中,我们有 Android Framework SQLite Java API,但是开发者们通常会在项目中使用 Jetpack Room 来操作数据库。...原因主要在于以下三点: (1)SQLite 原始 API 颗粒度较细,直接在业务代码中使用较为繁琐且容易出错。 (2)SQL 语句以字符串形式存在于代码中,不受编译检查。...2.2.1 Jetpack Room Jetpack Room(参考链接 4)是 Google 官方提供 SQLite 框架,最初用 Java 打造,并非专为 Kotlin 而生。...3.3.4 如何实现查询结果反序列化 在纯 Android 库开发中,我们通常会使用反射将某种格式数据某个字段值映射到与它名称相同 class 中某个属性,从而生成出该 class 对象...SQLlin 拥有全套中英文文档以及 Sample 项目供大家学习如何使用

1.6K40
您找到你想要的搜索结果了吗?
是的
没有找到

上手使用 Room Kotlin API

在本文中我会告诉大家如何使用并且测试 Room Kotlin API,同时在介绍过程中,我也会为大家分享其工作原理。 我们将基于 Room with a view codelab 为大家讲解。...Word 类代表表中一条记录,并且它需要使用注解 @Entity。我们使用 @PrimaryKey 注解为表定义主键。然后,Room 会生成一个 SQLite 表,表名和类名相同。...该对象来自构建数据库时您所提供执行,或者默认使用 Architecture Components IO Executor。...同数据插入调用一样,这里分发来自构建数据库时您所提供执行,或者来自默认使用 Architecture Components IO 执行。...比如您可以指定 Room 如何处理数据库冲突、可以通过创建 TypeConverters 存储原生 SQLite 无法存储数据类型 (比如 Date 类型)、可以使用 JOIN 以及其它 SQL 功能实现复杂查询

1.5K10

学习|Android JetPack组件---ORM框架Room使用

导语 Room 持久性库在 SQLite 基础上提供了一个抽象层,让用户能够在充分利用 SQLite 强大功能同时,获享更强健数据库访问机制。 ? Room简介 ?...Entity:表示数据库中表。 DAO:包含用于访问数据方法。 应用使用 Room 数据库来获取与该数据库关联数据访问对象 (DAO)。...然后,应用使用每个 DAO 从数据库中获取实体,然后再将对这些实体所有更改保存回数据库中。最后,应用使用实体来获取和设置与数据库中表列相对应值。 Room 不同组件之间关系图 ?...打开Sqlite数据库后可以看到了这个表名里数据 ? 这样,简单Room就已经实现了。...使用过程中,经常会遇到数据库升级问题,在Room中使本地SQLITE数据库升级可以用Migration方式,我们直接做一个新类,对数据进行操作,也直接在原数据库上升级。

1K20

上手使用 Room Kotlin API

RoomSQLite 封装,它使 Android 对数据操作变得非常简单,也是迄今为止我最喜欢 Jetpack 库。...在本文中我会告诉大家如何使用并且测试 Room Kotlin API,同时在介绍过程中,我也会为大家分享其工作原理。 我们将基于 Room with a view codelab 为大家讲解。...Word 类代表表中一条记录,并且它需要使用注解 @Entity。我们使用 @PrimaryKey 注解为表定义主键。然后,Room 会生成一个 SQLite 表,表名和类名相同。...同数据插入调用一样,这里分发来自构建数据库时您所提供执行,或者来自默认使用 Architecture Components IO 执行。...比如您可以指定 Room 如何处理数据库冲突、可以通过创建 TypeConverters 存储原生 SQLite 无法存储数据类型 (比如 Date 类型)、可以使用 JOIN 以及其它 SQL 功能实现复杂查询

94930

深入探讨 Room 2.4.0 最新进展

那我们来看看自动迁移该如何使用。在上面的示例中,自动迁移无法直接处理重命名表中某一列,因为 Room 在进行自动迁移时,会遍历两个版本数据库 schema,通过比较来检测两者之间更改。...更多新功能 内置 Enum 类型转换 现在,如果系统未提供任何类型转换Room 将默认使用 "枚举 - 字符串" 双向类型转换。...如果已存在适用于枚举类型转换Room 将优先使用该转换,而不使用默认转换。...对于 Room使用 KSP 有如下好处: 提高 2 倍构建速度; 直接处理 Kotlin 代码,更好支持空安全。...随着 KSP 稳定,Room使用其功能实现 value 类、生成 Kotlin 代码等。

1.5K00

【Jetpack】ORM 数据库访问框架 Room 简介 ( 对象关系映射 ORM 概念简介 | Room 框架组成部分 - 实体、数据库访问对象、数据库持有者 | Room 框架使用步骤 )

一、对象关系映射 - ORM / Object Relational Mapping ---- Android 系统中使用数据库是 SQLite 关系型数据库 , 使用 Android 提供 api..."androidx.room:room-compiler:$room_version" // 可选配置项 - 支持 Kotlin 扩展和协程 Room 框架 如果使用Kotlin 语言必须导入该依赖...TypeConverters 注解:用于标记类型转换类,将特定类型数据转换为数据库中原生类型。...; Dao 数据库访问对象实现类 , 用于执行 SQL 查询和操作 ; 实体类 Entity 映射 , 用于将数据库中数据映射到实体类中 ; androidx.room:room-ktx 依赖库..., 提供了 Kotlin 扩展功能 , 如果使用Kotlin 语言 , 则必须导入该依赖库 ; 2、创建 Entity 实体类 创建 Entity 实体类 , 该实体类对应着数据库中一张表 ,

1.6K20

一起看 IO | Jetpack 组件新特性

数据持久化 Room 是我们推荐数据持久化层,它在 SQLite 之上提供了一个抽象层,从而提高了平台可用性和安全性。...Room 2.4 还内建了对枚举和 RxJava3 支持,同时也全面支持 Kotlin 1.6。 我们从 Room 2.5 开始使用 Kotlin 对整个库进行重写。...除此之外,由于 Room 支持使用多重映射 (嵌套 Map 和 Array) 进行关联查找,开发者现在可以使用 JOIN 查询,而无需定义额外数据结构。...增量数据获取 Paging 库可以让您加载和显示整体数据一小部分,从而改善网络与系统资源消耗。...Core DataStore Fragment Lifecycle Navigation Paging Room WorkManager 查看 项目主页 可获得更多内容,包括我们如何处理拉取请求,以及如何开始使用

3.1K20

【Jetpack】Room + ViewModel + LiveData 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 )

一、Room + ViewModel + LiveData 框架使用核心要点 1、Room 框架优化分析 在上一篇博客 【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库...( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 ) 中 , 实现了 使用 Room 框架访问 Android 中 SQLite 数据操作...架构设计 建议 : 下面分析上述 架构图 中 架构分层 ; Model 数据模型层 : 本地数据访问 : 使用 Room 框架 访问本地 SQLite 数据库 ; 远程数据访问 : 使用 Retrofit...【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库 ( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 ) 博客..., 注意这是 Kotlin 版本需要导入依赖库 , 如果是 Java 版本 , 需要导入另外注解处理 ; // 导入 Room 依赖库 implementation 'androidx.room

60920

Android 架构组件 - 让天下没有难做 App

于是一幅如下模样数据流向图就被勾勒了出来: ? 图中右上角 Local Data 是 AAC 提供另一个强大武器 —— ORM 框架 Room。...RoomSQLite 之上应用抽象层,而 SQLite 是一个位于 Android Framework 层内存型数据库。...虽然 Realm 也是一个优秀数据库,但是它并没有内置于 Android 系统,所会增大 apk 体积,使用 Room 则没有这方面烦恼。...,但是 SQLite 本身不支持这种复杂类型(complex type),所以我们还需要写一个可以转换成基础类型转换: class Converters { @TypeConverter...PositionalDataSource 适用于本地 Room 数据或者使用 Room 做缓存 Cache 数据数据流向关系图如下所示: ?

1.2K20

livedatabus详解,阿里是如何用他来做淘宝架构

于是一幅如下模样数据流向图就被勾勒了出来: ? 图中右上角 Local Data 是 AAC 提供另一个强大武器 —— ORM 框架 Room。...RoomSQLite 之上应用抽象层,而 SQLite 是一个位于 Android Framework 层内存型数据库。...虽然 Realm 也是一个优秀数据库,但是它并没有内置于 Android 系统,所会增大 apk 体积,使用 Room 则没有这方面烦恼。...,但是 SQLite 本身不支持这种复杂类型(complex type),所以我们还需要写一个可以转换成基础类型转换: class Converters { @TypeConverter...PositionalDataSource 适用于本地 Room 数据或者使用 Room 做缓存 Cache 数据数据流向关系图如下所示: ?

1.1K30

Now in Android | 12 月刊 · 2019

这里回顾一下我们在 10 月初发布 Room 2.2.0 这个重要正式版本中所包含新内容: 预封装数据库。...现在您可以在自己 APK 资源中发布一个预先填充过内容数据库,也可以经由文件来加载数据库内容。Florina Muntenescu 几周前在一篇文章中介绍过这个功能。...更好关系: SQLite 可以处理多对多关系,但以前 Room 就不行……现在可以了 (我们接下来会发布一篇介绍文章,敬请关注)。...速度更快构建 (相信这正是大家想要): 注解处理增量构建优势现在也被用在了 Room 上 。这个功能现在还没有默认启用,但大家可以在自己构建中做一些设置来启用这个功能,从而提升速度。...△ 使用 Kotlin 进行 Android 进阶开发 Udacity 现已推出全新免费课程: 使用 Kotlin 进行 Android 进阶开发。

1.9K30

Android Jetpack 更新一览

开发者已经开始在他们应用中使用 Hilt,请通过 这篇博文 看看他们取得了哪些经验。 Paging 3.0 Paging 库让您可以加载和显示小块数据以改善网络和系统资源消耗。...这个版本特点是使用 Kotlin 完全重写,对协程和 Flow 有一流支持,用 RxJava 和 Guava 原语进行异步加载,并对存储库和表现层进行了全面改进。...与 SQLite 相比,AppSearch 支持多种语言,简化了查询结果排序,对大型数据索引和搜索也有更低延迟。...例如,您可以将一个消息 (Message) 建模为一个模式类型,其中包括主题、正文和发件人等数据使用构建来创建模式类型文件,然后将它们添加到存储中。...Room 还引入了 QueryCallback 类,用于在执行 SQLite 语句时提供回调,以简化日志等任务。

1.5K20

安卓开发深度技术实战详解

下面是一个 Kotlin 语言代码实例,它实现了一个简单计算: kotlinCopy codefun main() { println("请输入第一个数字:") val num1...在安卓开发中,使用数据库存储数据是一种非常常见做法。...安卓提供了 SQLite 数据库,同时也支持其他数据库,如 Room、Realm 等。通过使用数据库,我们可以更好地管理和维护数据,使得数据访问变得更加高效、安全、可靠。...,如 Kotlin 语言、MVVM 架构、协程、数据库等,并给出了相应代码实例。...四、数据库 在安卓开发中,使用数据库存储数据是一种非常常见做法。安卓提供了 SQLite 数据库,同时也支持其他数据库,如 Room、Realm 等。

83030

Android Jetpack架构组件(一)与AndroidX

Android Jetpack有如下一些特点: 1.加速开发 组件可单独使用,也可以协同工作,当使用kotlin语言特性时,可以提高效率,并且具有非常好向下兼容性。...Data Binding(数据绑定):属于支持库可使用声明式将布局中界面组件绑定到应用中数据源 Lifecycles:管理 Activity 和 Fragment 生命周期 LiveData:是一个可观察数据持有者类...Navigation:处理应用内导航所需一切 Paging:一次加载 or 按需加载 & 显示小块数据 Room:帮助开发者更友好、流畅访问SQLite数据库。...存储区是唯一依赖于其他多个类类,在本例中存储区依赖于持久性数据模型和远程后端数据源。并且,这些架构组件既可以配合使用,也可以单独使用,可以根据需要合理选择。...Android KTX:优化了供Kotlin使用Jetpack和Android平台API,帮助开发者以更简洁、更愉悦、更惯用方式使用Kotlin进行Android开发。

1.9K00

【翻译】Realm , ObjectBox ,还是 Room ,哪个适合你?

无需深入太多细节,你就能轻松地创建一个 Realm 数据库并使用它——甚至还能做更多。这个库无需太多配置,而且官方文档也能手把手地教会你如何一步一步完成。...Room 在官方架构指南中占据着一个中心位置,它提供在 SQLite一个抽象层,允许在充分利用 SQLite 强大基础上进行流畅地数据库访问开发。...在 Room 中有 3 个主要组件,都是使用注解来展示说明: Database :你可以使用这个组件来创建数据持有者。...那么 apk 大小又如何呢?这几个类库对我们项目的整体速度影响又有几何?好吧,我们可以使用最新发布 apk 分析工具来精确地查看一下每一个类库其影响程度如何。...Room 提供了 SQLite 所能做一切,并附加了一些其他功能。比如迁移机制,而且这完全是可以进行测试

3.6K30

Android Jetpack - Room

Room 简介 Room 持久化库提供了一个基于 SQLite 抽象层,以便在利用 SQLite 全部功能同时实现更强大数据库访问 Room 库帮你 App 在设备上创建一个缓存,并作为此 App...然后,在设备重新联机后,任何用户启动内容更改都会同步到服务 Room 三个主要部分包括 Database 包含数据库持有者,并作为应用程序持久关系数据基础连接主要访问点。...DAO 包含用于访问数据方法 该应用程序使用 Room 数据库来获取与该数据库关联数据访问对象或 DAO。...然后,应用程序使用每个 DAO 从数据库中获取实体,并将对这些实体任何更改保存回数据库。最后,应用程序使用实体来获取和设置与数据库中表列对应Room 组件关系图 ?...在最常见示例中,Repository 实现了用于决定是从网络获取数据还是使用在本地数据库中缓存结果逻辑,既避免了 ViewModel 和数据直接交互又统一了单一真实数据逻辑 Repository

1.9K70

Room & Kotlin 符号处理

△ 图片来自 Unsplash 由 Marc Reichelt 提供 Jetpack Room 库在 SQLite 上提供了一个抽象层,能够在没有任何样板代码情况下,提供编译时验证 SQL 查询能力...认识 Kotlin 符号处理 随着注解处理在 Android 上广泛使用,KAPT 成为了编译时性能瓶颈。...为了解决这个问题,Google Kotlin 编译团队开始研究一个替代方案,来为 Kotlin 提供一流注解处理支持。...希望在将来,我们还能对生成 Kotlin 代码提供一些支持,以便在 Room 中为 Kotlin 提供一流支持。接下来,也许更多 :)。 我能在我项目上使用 X-Processing 吗?...总结 我们为 Room 添加了 KSP 支持,这并非易事但绝对值得。如果您在维护注解处理,请添加对 KSP 支持,以提供更好 Kotlin 开发者体验。

72130

Androidroom数据使用小结(kotlin

还在使用原生sqllite?有这么清爽且稳如狗room为啥不用呢?...Room是Google官方推荐使用数据库,相比较某些优秀数据库框架来说,不用过于担心某天库会停止维护,且访问数据库非常流畅,并且提供了与常规ORM框架一样,通过添加编译期注解来进行表和字段配置,譬如...@Database、@Dao、@Entity、@Query、@Insert、@Update、@Detele等注解,可以使用简单代码实现相比以前SQLite更复杂代码效果,这点儿有点儿类似于java...总而言之, Room功能强大,速度和稳定性不弱,还简单易用,算得上是一个优秀数据库。 这里总结下使用room数据过程和遇到问题,以及如何稳定进行数据迁移和升级。...:1.1.1" kapt "android.arch.persistence.room:compiler:1.1.1" 需要注意是,使用kotlin,annotationProcessor

3K50
领券