kotlin

kaixue.io: Kotlin 和 Jetpack 的上手指南

廉价感情. 提交于 2020-11-25 03:17:30
大家好,我是扔物线。 距离上一次 HenCoder 视频到现在,已经又是三个月的时间了。不过,这一次我不是要推出新一期的 HenCoder 视频或者文章,而是要向大家推荐一个更紧急的新项目:kaixue.io。 这一年多来我一直在做 HenCoder,专注的是高级 Android 工程师的基础部分的技术,比如大家看到最多的是自定义 View,另外前段时间开始了 HTTP 方面的。但最近我要暂时倾斜一下重心,先重新把内容输出转到新技术上一段时间,具体来说主要是 Kotlin 和 Jetpack。 另外呢为了让这件事更快更高效,我喊了一些高手来和我一起写,还建立了一个专门的网站。现在我们的网站已经正式上线,就是前面我提到的:kaixue.io,名字叫「码上开学」,代码的码。我们要做的,是一个 Kotlin 和 Jetpack 的系列化上手指南。 为什么转战输出新技术? 其实我的观点一直是,中国的 Android 目前最缺的是基础技术,而不是各种新技术,所以我才做了 HenCoder。但 Kotlin 和 Jetpack 这次不太一样。他们虽然在 Android 开发领域还比较新,可是他们是很明显的趋势,也就是说,未来我们肯定会长时间、大量地使用它们。而且关键是它们还特别好用!这个用过的人应该都清楚。不过我就不在这里安利了。 我现在想说的是,Kotlin 和 Jetpack 虽然好用

原创|Android Jetpack Compose 最全上手指南

旧时模样 提交于 2020-11-25 02:55:34
在今年的Google/IO大会上,亮相了一个全新的 Android 原生 UI 开发框架-Jetpack Compose, 与苹果的SwiftIUI一样,Jetpack Compose是一个声明式的UI框架,随着了今年安卓和苹果两大移动平台相继推出自己的UI开发框架Jetpack Compose 和SwiftIUI,标志着移动操作系统正式全面拥抱声明式 UI 开发模式。 一、声明式 UI 的前世今生 其实声明式 UI 并不是什么新技术,早在 2006 年,微软就已经发布了其新一代界面开发框架 WPF,其采用了 XAML 标记语言,支持双向数据绑定、可复用模板等特性。 2010 年,由诺基亚领导的 Qt 团队也正式发布了其下一代界面解决方案 Qt Quick,同样也是声明式,甚至 Qt Quick 起初的名字就是 Qt Declarative。QML 语言同样支持数据绑定、模块化等特性,此外还支持内置 JavaScript,开发者只用 QML 就可以开发出简单的带交互的原型应用。 声明式 UI 框架近年来飞速发展,并且被 Web 开发带向高潮。React 更是为声明式 UI 奠定了坚实基础并一直引领其未来的发展。随后 Flutter 的发布也将声明式 UI 的思想成功带到移动端开发领域... 声明式UI的意思就是,描述你想要一个什么样的UI界面,状态变化时,界面按照先前描述的重新

Jetpack Compose 将支持桌面应用开发 ?

十年热恋 提交于 2020-11-24 19:53:56
可能在未来的某一天,Google 的工程师会使用通过 Compose 开发的 IDE 来开发 Compose 。 今天瞎逛的时候发现了一个大瓜, Jetpack Compose 可能将支持 Desktop UI ,从下面的 Google Source 链接就可以看到: https://android-review.googlesource.com/c/platform/frameworks/support/+/1290729 打不开链接的给大家截个图。 目前官方的相关信息还比较少,从下面的截图中可以窥探到一些关键信息。 首先,多平台通用。 Windows 自然不用说,也提供了 Linux , MacOs 支持。 其次,图片最后划出来的 SkiaWindow.kt ,同 Flutter 一样,也是通过 Skia 引擎来完成最后的绘制。 Jetbrain 作为一家 IDE 公司,生产出了 Kotlin 语言。在现有的 Kotlin 用户群体中,毫无疑问,Android 开发者占绝大部分。但是,Kotlin 的野心绝不仅止于此。 如果你有留心 Kotlin 的官网,你会发现一个完全不一样的 Kotlin 。看看官网首页的这张图。 大概因为 Android 已经吃定了,被放在了最后一项。 你大概能看到 Kotlin 的宏伟蓝图了。 移动端跨平台 、 Native 、 数据科学 、

Jetpack Compose 重磅更新!

我只是一个虾纸丫 提交于 2020-11-24 14:20:59
Jetpack Compose 是Google发布的一个Android原生现代UI工具包,它完全采用Kotlin编写,可以使用Kotlin语言的全部特性,可以帮助你轻松、快速的构建高质量的Android应用程序。如果你还不了解Jetpack Compose是什么?建议你读一下我前面的2篇文章: 原创|Android Jetpack Compose 最全上手指南 Jetpack Compose,不止是一个UI框架! 去年的Google IO 大会上,Google宣布了Jetpack Compose的面世,但是在去年11月份,它才发布第一个预览版-Developer Preview1,此后,基本保持每两周发布一个小版本,到现在,半年的时间过去了,中间发布了十多个小版本,今天,终于迎来了重大更新,Developer Preview2 发布了。 Jetpack Compose Developer Preview1发布后,开发者最关心的几个问题是,没有Compose版本的RecyclerView、Constriantlayout、动画等一系列问题。这些问题在Preview2都解决了。 当然,从Preview1 到现在发布的Preview2,变化非常大,甚至很多API都已经变了,有的属性或者类的增加或者删除。具体的变换化太多,就不在这里一一讲解,感兴趣的可以看看官方的每个小版本的更新日志

DataBinding的简单使用(java/kotlin)

南笙酒味 提交于 2020-11-23 19:16:34
效果: 一 依赖 implementation ‘com.google.android.material:material:1.0.0’ implementation ‘androidx.lifecycle:lifecycle-extensions:2.2.0’ 二 启用 在build.gradle(app)中的testInstrumentationRunner上面添加一句 dataBinding.enabled= true 三 ViewModel java: private MutableLiveData < Integer > number ; public MutableLiveData < Integer > getNumber ( ) { if ( number == null ) { number = new MutableLiveData < > ( ) ; number . setValue ( 0 ) ; } return number ; } public void changednumber ( Int newnumber ) { number . setValue ( number . getValue ( ) + newnumber ) ; } kotlin: private val _number : MutableLiveData < Int > by

人类文明极简史

狂风中的少年 提交于 2020-11-23 05:22:27
何谓文明? 知识发现 技术发明 时间跨度 一万年 四千年:核心文化的建立 亚伯拉罕(形成希伯来与阿拉伯民族):犹太文化(祭司-文士) 夏禹商周秦汉唐宋(华夏民族):道儒释 三大阶段 原始文明:石器 人们必须依赖集体的力量才能生存,物质生产活动主要靠简单的采集渔猎,为时上百万年。 农业文明:铁器 农业精神 农业精神来自于中国传统农业,体现和贯彻中国传统的天时、地利、人和以及自然界各种物质与事物之间相生相克关系的阴阳五行思想,精耕细作,轮种套种,是它的典型工作生产模式。中国在长期的农业社会中形成了,具有典型的农业特点的农业精神。 农业社会的生产 人口的生产 物资资料的生产(主要是粮食) 衡量社会是否稳定的重要标准:人均物资资料(社会总物资资料/社会总人数)。冷兵器战争时代。 人类农业社会的运动演化 资本垄断统治集团利益与思想和文化的自由 从春秋战国,到东晋南北朝,包括近代的民国,所谓的思想多元化的北后,无不是生灵涂炭,流血漂橹。 中国的朝代更替大多都是农民起义推翻掌权的王朝,从而建立起新的王朝,在战乱的年代,由于战争,瘟疫,饥荒等等原因,人民大量死亡,每一次战乱都损失了大量的人口。每一个朝代的产生都经历了类似的过程,所以历代开国之君实行的都是减少赋税,鼓励人口生产的政策,因为土地并不会随战乱而减少,但是人口大量减少,地大人少,所以需要多一些的人口来补充。随着人口的增长,经济慢慢复苏