首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    2017-09-30 by Liuqingwen | Tags: Kotlin Android 翻译 | Hits ?...其中有一些是我们经常打交道的,比如 shared preferences 和 纯 SQL 语句,其他的则需要额外的一些依赖。庆幸的是,我保证,在这里我并不会去讨论如何写一个很长的又合理的查询语句。...在 Room 中有 3 个主要的组件,都是使用注解来展示说明: Database :你可以使用这个组件来创建数据库的持有者。...对于各个实体,数据库中的表的创建就是为了存储它们的实例。你必须通过数据库类中的实体数组来引用实体类。 DAO :这个组件代表一个数据访问对象的类或者接口。 DAO 负责定义数据库访问的方法。...三、完 作者:Radoslav Yankov 平台:Dev Labs 标签: Android Objectbox Realm Room Comparison Kotlin Android 翻译

    4.1K30

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

    一、Room + ViewModel + LiveData 框架使用核心要点 1、Room 框架优化分析 在上一篇博客 【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库...( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 ) 中 , 实现了 使用 Room 框架访问 Android 中的 SQLite 数据库的操作...插件 和 Kotlin 注解插件 ; plugins { id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' } 导入 Room 依赖库...{ id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' } android...Entity 实体 / 同时定义数据库表 和 对鹰的实体类 * 设置该数据类对应数据库中的一张数据表, 表名为 student * 该数据库表中的数据对应一个 Student 类实例对象 */

    1.5K20

    Now in Android 16 —— 最新 Android 动态分享

    这里再简单说一下,通过 Database Inspector ,你可以在 Android Studio 中快速查看和修改你的数据库表数据,除此之外,你也可以执行 Sql 语句。...如果你使用的是 Room 数据库,你还可以直接执行你的 Dao 文件中的 Sql 语句。 另外说一点,我的文章是基于 Android Studio Canary 5 写的。...Kotlin 在一些方面留给了开发者很大的自由发挥空间,像操作符重载,扩展函数等。你可以充分发挥自己的想象力去创造代码,这也是我很喜欢 Kotlin 的一个重要原因。...文中有许多的更新细节,这篇文章我还没有细看,后续会将我的开源 Wanandroid 项目也更新到 1.1.0 版本。.../github.com/android/location-samples/tree/master/LocationUpdatesBackgroundKotlin 无障碍 其实我也不知道国内有多少应用会去做无障碍的

    1.4K20

    Google 推荐在 MVVM 架构中使用 Kotlin Flow

    Kotlin Flow 如何与 Retrofit2 + Room 混合使用?...Google 推荐在 MVVM 中 使用 Kotlin Flow Google 推荐在 MVVM 中使用 Kotlin Flow我相信如今几乎所有的 Android 开发者至少都听过 MVVM 架构,在...接下来我们一起来探究一下 Kotlin Flow 在 MVVM 当中每层是如何实现的。...Kotlin Flow 在 Repositories 中的使用 如果我们想在 Flow 中使用 Retrofit 或者 Room 进行网络请求或者查询数据库的操作,我们需要将使用 suspend 修饰符的操作放到...结语 致力于分享一系列 Android 系统源码、逆向分析、算法、翻译、Jetpack 源码相关的文章,正在努力写出更好的文章,如果这篇文章对你有帮助给个 star,文章中有什么没有写明白的地方,或者有什么更好的建议欢迎留言

    5.4K21

    【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库 ( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 )

    ; plugins { id 'com.android.application' } 如果使用 Kotlin 语言开发 , 需要在 android 插件 的基础上 额外导入 kotlin 和...kotlin-kapt 插件 ; plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android'...kapt 'androidx.room:room-compiler:2.2.5' 2、定义 Entity 实体类 使用 Room 框架 的应用中 , Entity 实体类 对应着 数据库表 ,...' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' } android { namespace 'kim.hsl.roomdemo...import androidx.room.Ignore import androidx.room.PrimaryKey /** * 定义数据库表 Entity 实体 / 同时定义数据库表 和 对鹰的实体类

    80730

    Android程序员跳槽应该要了解的重点

    ,另外不要群发,见过简历内容中有意向职位写的别的公司的,这种很容易过不了HR 那关。...具体如何判断公司好坏,可以参考我之前写的文章:如何判断一家软件公司的好坏:mp.weixin.qq.com/s/s1lYL9wnx… ,还有跳槽,如何找一家靠谱的公司?...无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。...1.2020大厂面试高频知识点 图片 网络和安全机制 数据库 插件化、模块化、组件化、热修复、增量更新、Gradle 架构设计和设计模式 性能优化 Android Framework Android优秀三方库源码...& LiveData Android Jetpack - Room Android Jetpack - Paging Android Jetpack - WorkManger Android Jetpack

    61730

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

    Entity:表示数据库中的表。 DAO:包含用于访问数据库的方法。 应用使用 Room 数据库来获取与该数据库关联的数据访问对象 (DAO)。...Kotlin,直接就加了上面两个,在编译过程中过不去,查了下原因是Kotlin的配置还要再改一下,并且加入kapt,如下: apply plugin: 'kotlin-kapt' def...里面的"testdb"就是我们起的数据库名,一会儿创建成功后可以看到 这个DBUtil的类我是和上面的DataBase都建在了一个文件里,因为到时候数据库升级只改这一个就可以了。...打开Sqlite数据库后可以看到了这个表名里的数据 ? 这样,简单的Room就已经实现了。...再看数据库中的表也多了对应的数据 ? 完 ?

    1.2K20

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

    例如,在 Android 开发中,我们有 Android Framework SQLite Java API,但是开发者们通常会在项目中使用 Jetpack Room 来操作数据库。...但以今天的眼光来看,我认为 Exposed的 API 有如下不足: (1)数据库不支持序列化与反序列化为对象,实际上的编程体验仍然像在操作一个 Map。...3.3.3 使用 Kotlin Symbol Processor 实现表与列元素生成 在 3.3.1 小节的基本设计中,Table 实例是通过构造函数创建的,每次创建时用户都需要手动传入数据库的真实表名作为其参数...(2)不支持表创建、表删除、增加列、删除列等会导致数据库结构发生变化的 SQL 语句构建。 只有将以上两个功能开发完成,SQLlin 才基本拥有应对各种场景的能力。...App KMM 跨端 KV 存储库 MMKV-Kotlin》 Jetpack Room:https://developer.android.com/training/data-storage/room

    1.9K40

    Android的room数据库使用小结(kotlin)

    Room是Google官方推荐使用的数据库,相比较某些优秀数据库框架来说,不用过于担心某天库会停止维护,且访问数据库非常流畅,并且提供了与常规的ORM框架一样,通过添加编译期注解来进行表和字段的配置,譬如...总而言之, Room功能强大,速度和稳定性不弱,还简单易用,算得上是一个优秀的数据库。 这里总结下使用room数据库的过程和遇到的问题,以及如何稳定的进行数据库的迁移和升级。...代码以kotlin为例,java也类似差不多的。...:1.1.1" kapt "android.arch.persistence.room:compiler:1.1.1" 需要注意的是,使用的是kotlin,annotationProcessor..." 还需引入一个插件:apply plugin: 'kotlin-kapt' 代码结构目录是不是很清晰,在room下dao的单独建dao包,操作接口在这里实现,所有的表定义单独在entity包中。

    3.6K50

    上手使用 Room Kotlin API

    Room 是 SQLite 的封装,它使 Android 对数据库的操作变得非常简单,也是迄今为止我最喜欢的 Jetpack 库。...在本文中我会告诉大家如何使用并且测试 Room Kotlin API,同时在介绍过程中,我也会为大家分享其工作原理。 我们将基于 Room with a view codelab 为大家讲解。...这里我们会创建一个存储在数据库的词汇表,然后将它们显示到屏幕上,同时用户还可以向列表中添加单词。 定义数据库表 在我们的数据库中仅有一个表,就是保存词汇的表。...操作数据库属于比较耗时的 I/O 操作,所以需要在后台线程中完成。我们将把 Room 与 Kotlin 协程和 Flow 相结合来实现上述功能。...比如您可以指定 Room 如何处理数据库冲突、可以通过创建 TypeConverters 存储原生 SQLite 无法存储的数据类型 (比如 Date 类型)、可以使用 JOIN 以及其它 SQL 功能实现复杂的查询

    1.1K30

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

    一、对象关系映射 - ORM / Object Relational Mapping ---- Android 系统中使用的数据库是 SQLite 关系型数据库 , 使用 Android 提供的 api...; 最后 , 通过 Dao ( Data Access Objects ) 数据库访问对象 访问 数据库中每个表对应的 Entity 实体类对象 ; 三、Room 框架使用步骤 ---- Room 框架使用步骤..."androidx.room:room-compiler:$room_version" // 可选配置项 - 支持 Kotlin 扩展和协程的 Room 框架 如果使用的是 Kotlin 语言必须导入该依赖..., 在应用运行时提供 Room 框架的数据库相关核心功能 ; 该依赖库 包含了 Room 持久化库的核心功能 , 如 : RoomDatabase 类:用于表示数据库,可以包含一个或多个表,并提供了一些方法来操作数据库..., 提供了 Kotlin 扩展功能 , 如果使用的是 Kotlin 语言 , 则必须导入该依赖库 ; 2、创建 Entity 实体类 创建 Entity 实体类 , 该实体类对应着数据库中的一张表 ,

    2.1K20

    kotlin--综合运用Hilt、Paging3、Flow、Room、Retrofit、Coil等实现MVVM架构

    前面我们使用Java来运用JetPack中的一系列组件,又使用kotlin运用这些组件实现了一系列功能: kotlin--Flow文件下载 kotlin--Flow结合Room运用 kotlin--Flow...你就能发现koltin取代Java的理由了,kotlin拥有更好的扩展性,更高的性能,更简洁的代码,更好的Jetpack组件支持,如果你还对kotlin不熟悉,那么可以查阅我的kotlin专题博客,在此也要感谢动脑学院...@AndroidEntryPoint:创建一个依赖容器,该容器遵循Android类的生命周期 @Module:告诉Hilt如何提供不同类型的实例 @InstallIn:用来告诉Hilt这个模块会被安装到哪个组件上...1.Room相关基类 使用Room数据库,首先创建Entity,这边加了一个页码的字段: @Entity data class MovieEntity( @PrimaryKey val...,如果是Refresh,那么数据库中没有数据,就要从网络获取数据,Refresh状态下load函数执行完毕后会自动再次调用load函数,此时的LoadType为Append,此时数据库中有数据了,直接返回

    3.9K31

    5年Android 开发要具备哪些知识和技能?

    作为一名有5年以上经验的Android开发工程师,你应该具备以下知识和技能: 1. 基础知识 Java/Kotlin语言: 掌握至少一种主要的Android开发语言,Java或Kotlin。...数据存储 SQLite: 熟练使用SQLite数据库进行数据存储。 Room: 了解Room Persistence Library。...NoSQL数据库: 了解如Firebase Firestore的使用。 6. 多线程和并发 线程和线程池: 理解线程的生命周期,能够使用线程池进行并发操作。...协程: 如果使用Kotlin,需要掌握协程的使用。 7. 性能优化 内存优化: 能够分析和优化内存使用,避免内存泄漏。 CPU优化: 理解如何优化CPU使用,提高应用性能。...团队协作: 能够在团队中有效沟通和协作。 问题解决: 具备良好的问题解决能力。 技能树(持续完善中) END 点赞转发,让精彩不停歇!关注我们,评论区见,一起期待下期的深度好文!

    1.1K10

    Room & Kotlin 符号的处理

    认识 Kotlin 符号处理 随着注解处理器在 Android 上的广泛使用,KAPT 成为了编译时的性能瓶颈。...此外,Java 类中有字段和方法,而 Kotlin 中有属性和函数。 我们决定实现 "Room 需要什么",而不是尝试去追求完美的抽象。...需要注意的是,在此阶段我们只在 X-Processing 项目中运行测试,所以即使我们知道测试的内容没问题,我们也无法保证所有的 Room 测试都能通过 (也称之为单元测试 vs 集成测试)。...幸运的是,Android 支持 Gradle 变体,因此使用 KSP 和 KAPT 来运行我们 Kotlin 集成测试 便相当容易。 下一步 将 KSP 支持添加到 Room 只是第一步。...希望在将来,我们还能对生成 Kotlin 代码提供一些支持,以便在 Room 中为 Kotlin 提供一流的支持。接下来,也许更多 :)。 我能在我的项目上使用 X-Processing 吗?

    94930

    数据库还可以这么看 ?

    大家好,我是秉心说。今天带来的内容是 Android Studio 4.1 版本带来的一个新功能。 对于大部分 Android 开发者来说,Sqlite 数据库肯定不陌生。...记得我人生前几次的面试当中,还遇到过要求徒手写一个增删改查的客户端。那么,你们一般都是如何查看或者调试数据库的呢? 你是如何查看和调试数据库的 ?...我们都知道,数据库文件是存在应用沙盒中的,无法直接查看。...查看个数据库还要我集成一个库?还要我打开浏览器?不知道 Chrome 吃内存吗? 其实,这种无脑的工作就应该交给 IDE 来做嘛。...左侧会列出应用的所有数据库,双击数据库,下拉列表中会展示出该数据库下的所有表。双击表,会在右侧视图中展示当前表中的所有数据。 表中的任何数据都是可以修改的。双击任意一项,修改之后,回车保存。

    83420
    领券