首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

你还在用 MyBatis 吗,Ktorm 了解一下?

Google 宣布 Kotlin 成为 Android 的官方语言,Kotlin 可以说是突然火了一波。其实不仅仅是 Android,在服务端开发的领域,Kotlin 也可以说是优势明显。...甚至,在与 Kotlin 共存的时候,还会出现一些奇怪的问题,比如: Kotlin 遇到 MyBatis:到底是 Int 的错,还是 data class 的错?。...接下来我们将介绍实体的概念,了解如何将数据库中的表与实体进行绑定,这正是 ORM 框架的核心:对象 - 关系映射。...hireDate: LocalDate var salary: Long var department: Department } 可以看到,Ktorm 中的实体都继承了 Entity...实体的属性则使用 varval 关键字直接定义即可,根据需要确定属性的类型及是否为空。

2.2K30

XTask与Kotlin Coroutine的使用对比

案例分析 高仿网红产品的流程 1.获取产品信息 -> 2.查询可生产的工厂 -> 3.联系工厂生产产品 -> 4.送去市场部门评估售价 -> 5.产品上市 实体设计 这里主要涉及3个实体: Product...实体设计 这里主要涉及6个实体: BriefInfo、Product、FactoryInfo、PriceInfo、PromotionInfo 和 RichInfo。...上手难度 1.如果抛开kotlin Flow不谈的话,Kotlin Coroutine上手还是相对比较容易的。相比于RXJava而言,可能更适合我们Android开发。...性能 在性能上,XTask为了实现业务与数据之间的隔离,设计了共享数据的结构,相比较Kotlin Coroutine而言,多了数据拷贝以及数据存储的过程,所以无论是在时间还是空间上而言,Kotlin Coroutine...; 如果站在日后项目的稳定性和可维护性角度,选择XTask一定不会让你失望; 如果你使用kotlin进行开发,那么别想了,就选Kotlin Coroutine了; 如果你还是非常钟爱于用Java开发Android

90240

Kotlin学习日志(五)与对象

} 然后我们再声明对应的属性字段,用于保存入参的数值,加入按照Java的编码思路,下面的代码应该是这样的。...还是在之前的嵌套Tree中,加一个内部类Fruit ,示例代码如下, package com.llw.kotlinstart.custom_class class Tree(var treeName...在Android实际开发中,我们经常需要定义一些实体来存放返回的数据,在Java中一个数据的通常我完成以下工作: (1)定义实体的每个字段,以及对字段进行初始赋值的构造函数。...这对于开发者来说无疑于一个繁琐的工作,而Kotlin鉴于此,推出了名为“数据”这样的骚操作,其实说起来也比较简单,数据的定义仅仅只要在class前面增加关键字data,并声明拥有完整输入参数的构造函数...val或者var //数据不能是基也不能是子类,不能是抽象,也不能是内部类,更不能密封 //我就是我,是颜色不一样的烟火 data class Plant( var name: String

1K20

《Kotin 极简教程》第13章 使用 Kotlin 和 Anko 的Android 开发

Android开发中,它可以替代 SQLite 和 ORM 框架。相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,以及加密支持。...:realm-annotations:0.87.1" kapt "io.realm:realm-annotations-processor:0.87.1" 13.9 添加日程实体 我们先从领域模型的建立开始...首先我们需要设计一个极简的待办事项的实体 Todo, 它有主键 id、标题、内容三个字段。...var title: String = "日程" open var content: String = "事项" } 然后,我们写一个应用程序入口MyTodoApplication继承android.app.Application...where(Todo::class.java).findAll() 是去 Realm 数据库中查询出所有Todo对应的实体记录。

3.4K30

转向Kotlin——数据和封闭

数据和封闭Kotlin中的两种特殊的,今天一起了解一下。 数据Kotlin的一个语法糖。Kotlin编译器会自动为数据生成一些成员函数,以提高开发效率。...数据的使用 无论是Java服务器开发还是Android开发,实体自然是特别熟悉,它就是讲json格式转化为一个只包含数据和基本操作方法的实体,以方便网络存取和数据库存取。...= name var mAge: Int = age } 我们定义实体,除了要保存数据之外,还需要输出对象的值,比较对象等操作,前者会用到toString函数,后者会用到equals函数,如下...我们再写一个数据,如下: data class Person(var name: String, val age: Int) 可以看出,原本十几行几十行的代码,现在一行就搞定了,其余的Kotlin编译器会自动生成...编写一个数据需要注意: 主构造器至少要有一个参数; 主构造器的参数要用varval修饰; 数据不能是抽象、open、封闭或者内部类。

91220

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

代码以kotlin为例,java也类似差不多的。...:1.1.1" kapt "android.arch.persistence.room:compiler:1.1.1" 需要注意的是,使用的是kotlin,annotationProcessor...简单的使用: 第一步,在entiy包中增加实体的定义,每个实体对应一个表,,前面加@Entity注解,默认名就是最终生成的表名,如果不想让一致,可以指定表名(@Entity (tableName...第三步,添加room数据库并封装个单例操作, //AppDb.kt package com.xxx.xx.room import android.arch.persistence.room.Database...当修改表字段或者增加表结构时,数据库升级注意事项: 无论是增加新表还是只是修改表字段或增加表字段,都需要增加下数据库的版本号并增加Migration处理, @Database(entities = [User

3K50

Android Jetpack - Room

使用@Database注释的应满足以下条件: 继承了 RoomDatabase 的抽象 在注解中包含与数据库相关联的实体列表 包含一个无参抽象方法,并返回使用 @Dao 注释的。...然后,应用程序使用每个 DAO 从数据库中获取实体,并将对这些实体的任何更改保存回数据库。最后,应用程序使用实体来获取和设置与数据库中的表列对应的值 Room 组件关系图 ?...Repository 抽象出对多个数据源的访问。存储库不是体系结构组件库的一部分,但是建议的代码分离和体系结构的最佳实践。...在最常见的示例中,Repository 实现了用于决定是从网络获取数据还是使用在本地数据库中缓存的结果的逻辑,既避免了 ViewModel 和数据的直接交互又统一了单一真实数据源的逻辑 Repository...codelabs/android-room-with-a-view-kotlin https://developer.android.com/reference/android/arch/persistence

1.8K70

为什么我要改用Kotlin

name: String, val price: Float, var author: String) //支持默认参数值,减少方法重载 fun Context.showToast(message:...另外用var表示变量,val表示常量更加的简洁 方法也很简单,连function都缩写成了fun,平添了几分双关之意。...在Android开发中,我们经常使用SharedPreference来存储数据,如果忘记调用apply或者commit则数据修改不能应用。...对于个人的项目来转向Kotlin,通常不是很难的选择,毕竟Kotlin是那么优秀的语言,相信很多人还是愿意尝试并使用这个事半功倍的语言的。...这个时间和体验对应编程中的,我想应该是高效率和高可读性,可维护性的代码。 现在好了,有了Google的支持,KotlinAndroid相信在不久的将来就会全面展开。

61720

编写你的第一个 Android 单元测试

Android 单元测试(kotlin 代码)。...、数据库等   如果你的项目中代码与 Android 框架耦合比较高,那么可能就不得不先对目标代码进行重构,然后再编写测试代码。...编写第一个 Android 单元测试  SETUP   Android 单元测试主要使用是 JUnit 测试框架 + Mockito Mock 库 + Mockito-kotlin 的扩展库,需要在...fun onError()  } 可以看到它是也是一个接口,顾名思义它是一个 recipe 的数据仓库,定义了一系列的数据获取和更新接口,至于从哪里获取并不需要我们不关心,可以是本地文件、数据库...Android 框架,运行太慢,二 Repo 可能依赖了网络或者数据库或者文件,不够稳定),就可以使用 mock() 方法来创建一个模拟的(这里 mock() 是一个泛型方法,使用了 kotlin

1.6K20

MVVM框架的搭建(二)——项目搭建

] //*************************库maven地址************************** kotlin_base = [kotlin_stdlib_jdk8...再来讲一下分别的作用 ● Model层:负责提供数据源给ViewModel,包含实体,网络请求和本地存储等功能 ● ViewModel:将Model层提供的数据根据View层的需要进行处理,通过DataBinding...代码实现 首先我们创建一个 /** * @author yangzc * @data 2018/9/6 13:58 * @desc * */ class Onclick(val who:...根据我们的这个结构图 我们简单阐述一下 各个模块的作用 Model层:负责提供数据源给ViewModel,包含实体,网络请求和本地存储等功能 ViewModel层:将Model层提供的数据根据View...Model(MVVM 中的V),负责提供ViewModel中需要处理的数据 * */ class Onclick(val who: String, var count: Int) 下面我们在看看ViewModel

1.3K20

干货|Kotlin入门第一课:从对比Java开始

如果需要在Android项目中编写Kotlin代码,建议用Android Studio,虽然目前只能通过安装插件的形式来支持Kotlin,但使用起来毫无违和感。...自动生成的,如果类声明不加data,只会打印出一串数字(应该是的内存地址),而不是当前对象的属性信息。...先举一个简单粗暴的列子: 1 var str: String? = null 2 //do something to assign str 3 val str2: String = str!!...因为Java中如果既不能改变原有,又想在其基础上添加方法,就得通过新建来继承的方式。 而现实是Java中只能是单继承,这个机会太珍贵了,更残酷的是有些还是不能继承的。...3.总结 这篇文章主要是介绍Kotlin,给出目前较好的学习资源,通过数据定义、变量空安全、方法扩展及lambda表达式四个方面来和Java做了一个简单的比较,顺带提了Kotlin其他一些基础知识。

969110
领券