成都android培训
达内成都高升桥中心

18684047202

热门课程

介绍Android KTX: 更甜的Kotlin开发Android

  • 时间:2018-02-07 16:20
  • 发布:成都达内
  • 来源:成都达内

今天我们宣布了Android KTX预览版 —— 一套扩展程序,目的在使编写Android的Kotlin代码更加简洁、习惯和愉快。Android KTX在Android框架和支持库之上提供了一个很不错的API层,让你更加自然的编写你的kotlin代码。

现在Android KTX覆盖Android框架部分已经可以使用了,在我们的Github repo。我们邀请你去试一试,然后给我们你的反馈和贡献。Android KTX其余覆盖Android支持库的部分,将在即将到来发布的支持库可用。

让我们来看一些如何使用Android KTX的示例代码,去帮助你编写更自然和简洁的Kotlin代码。

使用Android KTX示例代码

String 转 Uri

让我们从这个简单的示例开始,正常情况下你将会调用Uri.parse(uriString)。Android KTX 添加了扩展功能到String类,允许你更自然的去转换String到 URIs。

Kotlin

val uri = Uri.parse(myUriString)

Kotlin with Android KTX

val uri = myUriString.toUri()

编辑Sharepreference

编辑Sharepreference是一个非常常见使用的情况,代码使用了Android KTX稍微短了些并且读写更自然。

Kotlin

sharedPreferences.edit() .putBoolean(key, value) .apply()

Kotlin with Android KTX

sharedPreferences.edit { putBoolean(key, value) }

翻译路径差异

下面的代码,我们通过100像素在两个路径之间翻译。

Kotlin

val pathDifference = Path(myPath1).apply { op(myPath2, Path.Op.DIFFERENCE)}val myPaint = Paint()canvas.apply { val checkpoint = save() translate(0F, 100F) drawPath(pathDifference, myPaint) restoreToCount(checkpoint)}

Kotlin with Android KTX

val pathDifference = myPath1 - myPath2

canvas.withTranslation(y = 100F) { drawPath(pathDifference, myPaint)}

动作在View onPreDraw

这个示例代码利用一个View的onPreDraw回调触发一个动作,没有Android KTX,这儿有相当多的代码需要你自己去写

Kotlin

view.viewTreeObserver.addOnPreDrawListener( object : ViewTreeObserver.OnPreDrawListener { override fun onPreDraw(): Boolean { viewTreeObserver.removeOnPreDrawListener(this) actionToBeTriggered() return true } })

Kotlin with Android KTX

view.doOnPreDraw { actionToBeTriggered() }

这儿有许多更多Android KTX能够简化你的代码,你能够在Github上阅读更完整的API参考文档。

入门

对于开始在你的Android kotlin项目中使用Android KTX, 添加如下到你的app模块的build. gradle文件。

repositories { google()}dependencies { // Android KTX for framework API implementation 'androidx.core:core-ktx:0.1' ...}

然后你将同步你的项目,扩展程序自动出现在IDE的自动完成列表中。选择扩展程序自动添加必要导入语句到你的文件中。

当心那些在预览期间可能会改变的API.如果你决定在你的项目中去使用它,你应该期望在我们的稳定版到达之前打破变化。

androidX: Hello world !

你或许建议Android KTX使用包名以androidx开头,这是一个新的包名前缀,我们将在未来的版本的Android支持库使用。我们希望版本在android.*与androidx.*之间。使API被绑定的平台更显而易见,对于静态库app开发者工作贯穿了Android的不同版本。

下一步是什么?

今天的预览版启动只是一个开始,过了接下来的几个月,我们将迭代API,正如我们纳入你们的反馈和贡献。当API已经稳定并且我们能够提交到API兼容性,我们计划发布Android KTX 作为Android支持库。

我们和你一起朝着去构建Android KTX,Kotlin-ing 快乐!

(via Android Developers Blog — Introducing Android KTX: Even Sweeter Kotlin Development for Android )

上一篇:Android消息机制原理解析
下一篇:Android组件化框架设计与实践

如何自学android?正确姿势在这里!

如何处理Android 配置Activity横屏、竖屏、全屏?

优化android中的网络和电量,提高App性能

andriod培训分享之代码、图片和布局优化

选择城市和中心
贵州省

广西省

海南省