Building Android apps in Kotlin

这套课程是针对如何使用 Kotlin 进行 Android 开发,从 “Hello
World”开始由浅入深,本课程从在一个屏幕上构建基本的交互式用户界面开始,到以一个多屏幕
Google Developer Group(GDG) Finder
应用程序结束。在每一课中,你将使用一个实际架构的应用程序并实现关键特性。

在这个过程中,你将了解 Android Jetpack
组件,如数据库空间、后台处理工作管理器、导航组件等等。还有使用库来简化常见的任务,例如用于图像加载的
Glide、用于网络的 Retroeft 以及用于 JSON 解析的
Moshi。这门课程教授主要的 Kotlin 特性,比如
cooutines,以帮助学习者更快、更简洁地编写应用程序代码。

总的来说,整套课程将创建超过 10 个应用程序。

图片 1

图片 2

图片 3

这两门课程是 Codelabs (谷歌的免费开发者资源)的一部分,根据该网站,每个
Codelab 提供一个指导、教程和动手编码经验,大多数
Codelab 是逐步完成构建小型应用程序或向现有应用程序添加新功能的课程。下面是两门课程的地址:

  • Kotlin
    Bootcamp
  • Building Android apps in
    Kotlin

(文/开源中国)    

图片 4

视频 & 播客

图片 5

link image

Android Dialogs: ViewModel &
LiveData(www.youtube.com)你如何配置ViewModel
和 LiveData从网上获取数据? Lyla Fujiwara
带我们使用这些架构组件,加上一些小撇步在什么保存在ViewModel vs
onSaveInstanceState.

Flutter
和跨平台开发(fragmentedpodcast.com)在这里,该团队深入Flutter,
最受欢迎话题之一 with GDE Eugenio Marletti.

该在线教程是谷歌与 Udacity
(一家在线教育机构,教学语言为英语)合作共同推出,为帮助 Kotlin 的学习者,提供基于视频的课程,以及如何在
Kotlin 构建 Android 应用程序,这两门课程分别是:

ViewModel With
SavedState:ViewModel提供了一种在发生配置更改时保存UI数据的简单方法,但在进程死亡的情况下不会保存应用程序状态。使用SavedState的ViewModel允许您消除样板代码。使用带有简单API的ViewModel和SavedState来保存和检索您的ViewModel中的数据。

302

2018年3月25日

近日,我们报道微软推出 Python 免费在线视频教程,该课程名为 Python for
Beginners,为
Python 初学者提供学习材料。无独有偶,谷歌近日也宣布推出两个
Kotlin 免费在线课程,正如苹果将
iOS 开发人员从 Object-C 转移到 Swift 一样,谷歌也在将 Android 开发者从
Java 转移到 Kotlin。

安全性:通过让这个库为您实现安全性最佳实践,使应用程序的数据处于静止状态的安全性最大化。它为银行和聊天等消费应用程序提供了平衡加密和性能的强大安全性。它还为需要具有用户存在的硬件支持的keystore的应用程序提供了最大程度的安全性,并简化了许多操作,包括密钥生成和验证。

工作

Android
Developer(Stockholm,
Sweden)编写干净的和可维护的代码。你将使用现代的和创新的Android
架构如MVP和MVVM(MVC太旧了)没有恐高症 –
我们在29楼可以360全景浏览斯德哥尔摩。

| Senior Android Dev – Android Excellence
App(巴黎,
或者远程根据欧洲时区)Fabulous获得了谷歌的设计奖, 在google
play商店被提名为最佳应用奖,并且是一个Android优秀的应用。你想帮助人们构建健康的习惯吗?加入我们!
|

| 库 & 代码 |

图片 6

link image

Hiroaki(github.com)使用Kotlin编写流畅的API集成测试(Unit
和 Instrumentation)

recordablesurfaceview(github.com)GLSurfaceView的直接替代品,可以被用来记录一个mp4电影。
|

kotlintest(github.com)强大的,优雅的和灵活的Kotlin测试框架

android-text-styles(github.com)Zeplin
扩展,用于使用自定义字体输出文本格式

kotlinconf-app(github.com)这是官方的KotlinConf
App并且包含了应用源码.应用全部都是用Kotlin编写实现的。在后端,前端和手机应用都是Kotlin
应用。是的,Kotlin在故事的每个部分都是强大的。

Store(github.com)Android
库用于异步数据载入和缓存 |

Kotlin Bootcamp

在本套教程中,用户将学习如何使用
Kotlin 编程,从基本知识开始,比如如何编写 Kotlin
语句,以及如何处理函数操作等等,完成
Kotlin 语言的学习后,该课程还有为使用 Kotlin 开发
Android 应用提供所需的基础。谷歌为使用 Kotlin 开发 Android
应用提供了一流的支持,包括 Kotlin 的 Android API 和 API 扩展。

图片 7

}

文章和教程

探索Android P: Fingerprint
Dialog(medium.com)在这篇文章,
Joe Birch 介绍了Android P为我们提供的新控件FingerPrint Dialog.

使用Store和Retrofit
的仓库模式(medium.com)仓库模式给软件开发者一个中间层介于应用层和从数据源获取的元数据之间。Roberto
Orgiu 演示如何实现它。

图片 8

link image

使用Kotlin学习Android(store.raywenderlich.com)关于学习Android开发的书籍和教程有很多,但是大部分都是基于Java的。直到现在,有了它!
raywenderlich.com
发布一系列新的教程,书籍和录像来帮助你使用Kotlin开发Android。. Get 20%
off before March 30th!

RecyclerView —
少量代码提供大量动画(medium.com)ListAdapter
在最新支持库中的一个新类,简化了使用RecyclerViews需要的代码。总而言之,你可以写更少的代码做更多的recycler
view 动画了。

Android Test
Orchestrator(medium.com)Piotr
Zawadzki 开始使用Android Test Orchestrator来做instrumentation测试.
这篇文章,他介绍了这是什么,它解决了什么及如何解决。

图片 9

link image

高级Android开发者需求旺盛(www.bignerdranch.com)Adv
Android Bootcamp. 四月 30日-五月 4日.由Big Nerd Ranch
Guides的作者培训。与其他开发者一起交流。
从指定项目得到帮助,Registration close
soon.注册即将关闭(还不快报名的意思)

|
我是如何黑进口袋应用来减少我的浏览器标签的.(chrisguzman.svbtle.com)Chris
Guzman
想解决一个问题:他在他的手机浏览器中打开了太多的标签页。这篇是讲他如何构建一个有用的公用应用。
|

| 构建一个Android视频播放器应用 ( 第2部分 /
5)(medium.com)这一系列文章的目的是让你开始使用ExoPlayer来构建一个简单的视频播放器应用。在第二部分,
Nazmul Idris 介绍了 ExoPlayer 播放列表, UI 自定义, 和 事件. |

关于潜在的 Android P App
禁令(commonsware.com)”未来的Android版本也将会限制不设置target为最新的API
level和故意影响性能或安全的应用.” Mark Murphy
深入探讨了这句话可能的意思。. |

使用Mockito模拟Kotlin
classes — 最快的方式(engineering.21buttons.com)你是否全部声明了你的Kotlin
类 为’open‘来使用Mockito? Brais Gabín Moreira 给了我们一个更好的方式. |

颜色轮 – Part
1(blog.stylingandroid.com)Mark
Allison 演示了如何动态编码创造一个在应用中经常用到的颜色轮. |

Cucumber on
Android(medium.com)在这篇推送
Emma Suzuki 将带你领略如何使用Cucumber测试你的Android 应用。

| SPONSORED |

Place a sponsored post & reach over 63k Android
devs(androidweekly.net)

LiveData和Lifeclunswithcooutines:生命周期&LiveDataKTX支持常见的一次性异步操作,因此您可以使用知道生命周期的Kotlin协同操作。提供与生命周期相关联的coroutine范围、具有生命周期感知的cooutine调度程序以及使用新的LiveData构建器支持简单的异步链,使您可以安全地使用kotlin协同器。

新闻

图片 10

link image

Activity Recognition’s new Transition
API(android-developers.googleblog.com)Google已经让识别活动过渡API开发给所有的Android开发者了。这个API帮助决定用户是否开始或者结束如行走或者开车这样的活动。

材料设计的盒子和动画从一开始,所以很容易创建美丽的应用程序充满了运动。

Android集团的产品经理KarenNg领导了Jetpack的撰写工作。她告诉VentureBate,她的团队希望解决主要的开发人员的痛点,UI是Jetpack尚未解决的一个领域。

不要尝试在任何生产项目上编写Jetpack-工具包还远远没有准备好。Android的首席拥护者切特·哈斯(Chet
Haase)告诉VentureBate:“这甚至不是阿尔法。”不过,谷歌将从今天开始,公开开发Jetpack写作,希望能让开发者们分享他们的想法。

Ng解释说:“Jetpack构图是用Kotlin的所有优点构建的。”因此,它完全可以与Java互操作。它是完全声明性的,用于定义UI组件,包括绘图和自定义布局,这并不是非常常见的。因此,这意味着您可以将您的UI描述为一组函数。然后,框架本身处理引擎盖下的所有UI优化,并自动更新视图层次结构,而不是让应用程序开发人员自己维护它。它与所有现有视图兼容。因此,您可以将我们当前的视图与我们所称的可组合视图进行混合和匹配。然后从一开始就用材料和动画来设计。“

图片 11

与现有视图兼容,因此您可以按照自己的速度混合、匹配和采用,直接访问所有的Android和Jetpack
API。

其中7个库位于alpha中:

使用LivePreview等工具加速开发,并应用更改。

文本(“Hello$name!”)

用于定义UI组件的完全声明性,包括绘制和创建自定义布局。只需将您的UI描述为一组可组合的函数,该框架将处理UI优化和对遮罩下的视图层次结构的更新。

图片 12

提供可重用的构建块,使您可以更容易地构建自定义小部件,并且无需从头开始。

去年,谷歌称支持库被游戏商店中99%的应用程序所使用。今天,Cuthbertson透露,在游戏商店的1000款应用中,80%都在使用Jetpack。

3月份,google发布了稳定的Jetpack
WorkManager和捷联导航。该公司今天宣布的10家新图书馆被认为已经准备好投入生产,尽管它们还没有完全完工。

ViewPager
2:ViewPager现在基于回收视图,支持垂直滚动和RTL布局。它还提供了一种更容易侦听页数据更改的方法。registerOnPageChangeCallback.

@Composable

谷歌表示,这些API是根据Android开发者的反馈形成的。该公司特别提到了它的早期访问开发程序、用户研究以及Reddit、Stack溢出和Sack上的社区。

下面的代码将字符串打印到屏幕上。

import androidx.ui.core.*

图片 13

想想Android
Jetpack作为支持库的后继者,一组件使得在保持向后兼容性的同时更容易利用新的Android功能。当谷歌去年在2018年I/O发布Jetpack时,Android产品经理斯蒂芬妮·卡斯伯森(StephanieCuthbertson)将其描述为“旨在加速应用程序开发的下一代Android
API”。

CameraX:在应用程序中创建相机驱动体验,而不必担心底层设备行为或向后兼容性。该API向后兼容Android5.0或更高版本,确保相同的代码在市场上的大多数设备上都能工作。它利用了Camera
2的功能,但使用了一种更简单、基于用例的方法,这种方法能够感知生命周期。与摄影师2相比,这消除了大量的样板代码。它还使您能够在受支持的设备上访问与本机相机应用程序相同的功能。此外,可选扩展功能,如肖像,夜,HDR和美容。

图片 14

Google通过说开发者喜欢反应性API和喜欢Kotlin来证明Jetpack写作是合理的。因此,该公司正在投资于声明式编程的反应性方法,并创建一种使用Kotlin构建UI的方法。团队正在构建包含几个核心原则的Jetpack:

生物识别提示:为您的用户提供一种一致和安全的方式,通过生物识别登录输入他们的凭据。这个库提供了一个简单的系统提示,为用户提供了值得信赖的体验。

JetPackComposed应用程序由可组合的函数组成,这些函数将应用程序数据转换为UI层次结构。要创建一个可组合的函数,只需将@Composable注释添加到函数名中即可。Jetpack组合使用了一个定制的Kotlin编译器插件,当底层数据发生变化时,可以重新调用可组合的函数来生成更新的UI层次结构。

图片 15

有趣的问候(名称:String){

图片 16

用于汽车的安卓系统:为您的用户提供一个司机优化版本的应用程序,该应用程序将自动安装在车辆的信息娱乐系统中。Android汽车。此操作系统还允许您的应用程序使用Android汽车应用程序.

Benchmark:测试应用程序代码的快速方法,无论它是用Kotlin、Java还是本机代码编写的。确保您在AndroidStudio的开发环境中不会在代码中引入任何延迟。轻松度量数据库查询、查看通货膨胀或“回收视图”滚动。该库负责提供可靠和一致的结果所需的内容,例如处理热身周期、删除异常值和锁定CPU时钟。

企业:您的托管企业应用程序可以关键应用状态的形式向企业移动管理提供商发送反馈信息。此外,您还可以利用与托管配置的向后兼容性。

其余三个库处于测试版:

在其I/O
2019年开发者大会上,谷歌宣布了10个新的安卓Jetpack库,其组件、工具和指南旨在加速应用程序的开发。该公司还推出了Jetpack
Composet,一个新的未捆绑的Kotlin工具包。

import androidx.compose.*

图片 17

喷气背包组合

谷歌今天也开放了Jetpack写作的早期预览。新的未绑定工具包旨在通过将反应性编程模型与Kotlin相结合来简化UI开发。

与AndroidJetpack本身一样,Composed是由单独的组件组成的,您可以按照自己的速度采用这些组件,这些组件与现有视图兼容。谷歌要求开发者提供反馈文件错误在AOSP上。

使用Kotlin带来的好处构建-简洁、安全和完全可与Java编程语言互操作。设计的目的是大幅度减少你必须编写的样板代码,这样你就可以专注于你的应用程序代码,并帮助避免整个错误类别。

10个新的Android Jetpack库