mybatis-plus的kotin配置.md

很久没有写分享了,因为最近一直在用 kotlin 写 spring,作为 kotlin 新人遇到的坑基本都能 Google 到,也就没必要在写一次了。今天将我在开发过程中使用 kotlin 加 mybatis-plus 遇到的问题写出来,给即将入坑的朋友。 先给kotlin打个广告 如果你正在写 Java 代码,可以尝试使用 kotlin,历史的积累不会失去,kotlin 的优雅会让你爱不释手。 正文 mybatis-plus 在 kotlin 中使用已经可以完美使用了,这一篇主要写 mybat...阅读全文

Segmentfault 2019-09-30 20:03:33 范儿

Kotlin协程教程(3):操控协程

在之前的文章中,已经讲了如何启动协程、协程的作用域是如何组织和工作的以及各种协程构造器(builder)的特性。 本篇将讲解对协程的各种操作,包括挂起、取消、超时、切换上下文等。 挂起 fun main() { runBlocking(Dispatchers.Default) { for (i in 0 .. 10) { println("aaaaa ${Thread.currentThread().name}") delay(1000) // 这是一个挂起函数 println("bbbbb $...阅读全文

Segmentfault 2019-08-29 21:03:33 好奇码农君kross

Kotlin协程教程(2):协程作用域与各种builder们

作用域与上下文 协程作用域本质是一个接口,既然是一个接口,那么它就可以被某个类去实现(implement),实现它的那个类,也就具备了一些能力。 class MyClass: CoroutineScope { // MyClass就具备了CoroutineScope的一些能力 } 那么它具备了哪些能力呢? 当然是启动协程的能力和停止协程的能力。除了runBlocking有一些特殊外,launch和async其实都是CoroutineScope的扩展方法,它们两个都必须通过作用域才能调用。 比如我...阅读全文

Segmentfault 2019-08-29 21:03:33 好奇码农君kross

Kotlin协程教程(1):启动

协程 协程简单的来说,就是用户态的线程。 emmm,还是不明白对吧,那想象一个这样的场景,如果在一个单核的机器上有两个线程需要执行,因为一次只能执行一个线程里面的代码,那么就会出现线程切换的情况,一会需要执行一下线程A,一会需要执行一下线程B,线程切换会带来一些开销。 假设两个线程,交替执行,如下图所示 线程会因为Thread.sleep方法而进入阻塞状态(就是什么也不会执行),这样多浪费资源啊。 能不能将代码块打包成一个个小小的可执行片段,由一个统一的分配器去分配到线程上去执行呢,如果我的代码...阅读全文

Segmentfault 2019-08-27 23:03:33 好奇码农君kross

Android控件之TextView全解析

前言 大家好!在前几篇文章里,我们详细介绍了Android中的常用布局,使大家对Android中的页面布局有了一定认识,而对于布局中使用的一些UI控件如Button、TextView等,有的读者可能还存在一些困惑。在接下来文章中,我们将详细介绍Android开发中经常使用的UI控件,敬请期待! 简介 TextView(文本框),是Android中用于显示文本的一个控件。 常用属性详解 id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方...阅读全文

Segmentfault 2019-08-15 16:03:35 叮咚丶桑

布局大杀器—ConstraintLayout

前言 Hi,大家好,看到标题后大家是不是一脸懵逼,这是啥?这小编搞事情?说好的六大布局咋又来个布局杀手?这就是咱们公众号和其他公众号的不同,我们并不是照本宣科的讲解Android知识,而是将项目当中实际运用到的并且是好用的东西分享给大家,还等什么呢?赶紧开始我们的学习吧!! 引入 简介:约束布局(ConstraintLayout) 是一个ViewGroup,它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整View。 说明:本博文是以ConstraintLayout1.1.3为基础...阅读全文

Segmentfault 2019-08-15 16:03:34 叮咚丶桑

六大布局之非常用布局

前言 Hi,大家好,新的一周开始啦,让我们继续遨游在Android的知识海洋中吧!上一次我们讲到了RelativeLayout,相信不少小伙伴已经着手实战,那么今天我们为大家带来六大布局中剩下的三个布局。本篇文章可以和前面的FrameLayout一同归类到Android非常用布局之中,虽然不常用,但是小伙伴们也要知道它的一些基础属性哦~ 六大布局之AbsoluteLayout 简介 AbsoluteLayout(绝对布局), 之所以把这个放到最后,是因为绝对布局,我们基本上都是不会使用的,当然你...阅读全文

Segmentfault 2019-08-15 16:03:33 叮咚丶桑

六大布局之RelativeLayout

前言 上一期我们给大家讲解了FrameLayout的使用,这一期我们为大家讲解一下RelativeLayout(相对布局)的使用,RelativeLayout是Android的六大布局之一,也是我们常用的布局之一,下面我们一起开始学习吧~ 简介 相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。相对布局和LinearLayout,FrameLayout相比较来说,性能不是最好的,但是它可以大大减少布局的结构层次,从而达到...阅读全文

Segmentfault 2019-08-15 16:03:33 叮咚丶桑

六大布局之FrameLayout

前言 上一期我们给大家讲解了LinearLayout,这一期我们为大家讲解一下FrameLayout(帧布局)的使用,相较于其他布局,FrameLayout可以说的上是最简单的一个,并且其使用范围相对来说也相对较小,但是也是Android中的六大布局之一,面试的时候还是会碰到的,所以让我们赶紧开始学习吧~ 简介 在FrameLayout中,这个布局直接在屏幕上开辟出一块空白的区域,所有添加到这个布局中的视图都是以层叠的方式显示,而它会把这些试图默认放到这块区域的左上角,第一个添加到布局中视图显示...阅读全文

Segmentfault 2019-08-15 16:03:32 叮咚丶桑

六大布局之LinearLayout

1. 什么是Layout? Layout——界面布局,为应用程序提供界面架构。控制Activity中控件的大小、位置、颜色等属性的方法. Layout 与 ViewGroup的关系 ViewGroup是一个容器,继承自View. ViewGroup是Layout和一些其它组件的基类. 在Android中提供了几个常用布局:LinearLayout 线性布局 RelativeLayout 相对布局 FrameLayout 帧布局 AbsoluteLayout 绝对布局 TableLayout 表格...阅读全文

Segmentfault 2019-08-15 15:03:36 叮咚丶桑

Android四大组件之Service

前言 Hi,大家好,上一期我们讲了如何使用BroadcastReceiver,这一期我们讲解Android四大组件之Service相关知识。每天一篇技术干货,每天我们一起进步。 耐心专注不仅仅是美德,更是一笔财富。 1.简介与定义 简介 Service是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。Service可由其他应用组件启动,而且即使用户切换到其他应用,Service仍将在后台继续运行。 此外,组件可以绑定到Service,以与之进行交互,甚至是执行进程间通信 (IPC)。...阅读全文

Segmentfault 2019-08-15 15:03:36 叮咚丶桑

Android四大组件之BroadcastReceiver

前言 Hi,大家好,又双见面啦,上一期我们讲了如何使用Activity,肯定有不少小伙伴已经创建了属于自己的FirstActivity,那么这一期我们主要为大家介绍第二个重要组件BroadcastReceiver(广播接收器)。作为Android的四大组件之二,其应用场景非常多。下面,就详细介绍下 BroadcastReceiver 的相关知识。 1. 定义 BroadcastReceiver(广播接收器)即广播,是一个全局的监听器。 Android 广播分为两个角色:广播发送者、广播接受者。 ...阅读全文

Segmentfault 2019-08-15 15:03:35 叮咚丶桑

WorkManager从入门到实践,有这一篇就够了

前言 上一次我们对Paging的应用进行了一次全面的分析,这一次我们来聊聊WorkManager。 如果你对Paging还未了解,推荐阅读这篇文章: Paging在RecyclerView中的应用,有这一篇就够了 本来这一篇文章上周就能够发布出来,但我写文章有一个特点,都会结合具体的Demo来进行阐述,而WorkManager的Demo早就完成了,只是要结合文章一起阐述实在需要时间,上周自身原因也就延期了,想想还是写代码容易啊...阅读全文

Segmentfault 2019-08-15 10:03:34 idisfkj

浅谈函数式编程

本文首发于泊浮目的简书:https://www.jianshu.com/u/204... 1. 前言 一个风和日丽的下午,我看着日常看代码做重构迁移,看到这么段代码: 突然,我看到了这样的代码: private void getTopicsDiskSizeForSomeBroker(int brokerID, AdminClient admin, Map<String, Long> topicsSizeMap) throws ExecutionException, InterruptedExce...阅读全文

Segmentfault 2019-08-11 19:03:33 泊浮目

Paging在RecyclerView中的应用,有这一篇就够了

前言 AAC是非常不错的一套框架组件,如果你还未进行了解,推荐你阅读我之前的系列文章: Android Architecture Components Part1:Room Android Architecture Components Part2:LiveData Android Architecture Components Part3:Lifecycle Android Architecture Components Part4:ViewModel 经过一年的发展,AAC又推出了一系列新的...阅读全文

Segmentfault 2019-07-31 10:03:34 idisfkj

百臂巨人与塔尔塔罗斯

前言 一款静态代码检测工具,包含阿里java规约检测和lint检测,支持自定义pmd和lint配置,结合git在代码提交时进行增量检测插件,赫卡同克瑞斯,也就是百臂巨人,来自希腊神话,是天空神乌拉诺斯和地神盖娅的儿子,拥有50头和100个手臂,在帮助宙斯夺得神位后,成为了塔尔塔罗斯的守门人,塔尔塔罗斯就是希腊神话中的地狱。 为什么要写百臂巨人 很多时候有些bug就是因为代码不规范造成的,这种低级错误往往会造成重大损失,之前就曾经碰到过在主线程加载图片的情况,之前因为运营配置的图片较小,所以也就没...阅读全文

Segmentfault 2019-07-23 22:03:36 滑板上的老砒霜

AndroidUtilCodeKTX !是时候提升你的开发效率了 !(持续更新中...)

前言 第一次接触 Kotlin 还是 2017 年,当时 Kotlin 还没扶正,也不是 Android 的官方开发语言。至于我是怎么被安利的,没记错的话,应该是 开源实验室 的 Kotlin 教程。当时身边几乎没有人在学 Kotlin,网上相关的资料也很少,我还翻译了一部分官网文档,写了一本 GitBook 。 当然现在有更好的 Kotlin 语言中文站 了,对于英文基础不是很好的同学,这是一个不错的入门资料。 两年半时间过来了,Kotlin 摇身一变,稳坐 Android 官方开发语言。尽管...阅读全文

Segmentfault 2019-07-19 16:03:35 秉心说

Android之使用Kotlin构建Gradle

Android Studio Gradle 3.4.2 5.1.1 首先kotlin-dsl不是什么新鲜的东西了,Gradle5.0发布的时候就有了Gradle Kotlin DSL目前的版本是1.0.2 现在是否可以抛弃groovy拥抱kotlin了呢,~~迁移还是有点小麻烦的! 目前在Android Studio中创建项目时,默认情况下使用Groovy创建Gradle脚本,那如何向kotlin-dsl迁移呢? 语法替换 一般情况下,Groovy中使用单引号或者双引号来表达字符串。但是Kotl...阅读全文

Segmentfault 2019-07-19 13:03:33 Reducto

只需三步实现Databinding插件化

首先为何我要实现Databinding这个小插件,主要是在日常开发中,发现每次通过Android Studio的Layout resource file来创建xml布局文件时,布局文件的格式都没有包含Databinding所要的标签<layout>。导致的问题就是每次都要重复手动修改布局文件,添加<layout>标签等。 所以为了能够偷懒,就有个这个一步生成符合Databinding的布局文件。 这篇文章不会详细讲每一个代码的实现,因为这样太浪费大家的时间,我会通过几个要点与关键代码来梳理实现过...阅读全文

Segmentfault 2019-07-17 09:03:34 idisfkj

ReentrantLock 实现原理笔记(一)

java.util.concurrent.locks.ReentrantLockexclusive : adj. (个人或集体) 专用的,专有的,独有的,独占的; 排外的; 不愿接收新成员(尤指较低社会阶层)的; 高档的; 豪华的; 高级的 reentrant : 可重入; 可重入的; 重入; 可再入的; 重进入 一切从 Thread 线程开始 独占线程 exclusiveOwnerThread 出场: package java.util.concurrent.locks; /** * A sy...阅读全文

Segmentfault 2019-07-12 02:03:37 陈光剑