• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 在Android中用Kotlin的Anko运行后台任务(KAD 09),kotlinanko

在Android中用Kotlin的Anko运行后台任务(KAD 09),kotlinanko

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了kotlin anko,android anko,kotlin android,androidstudio kotlin,kotlin开发android等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在Android中用Kotlin的Anko运行后台任务(KAD 09),kotlinanko


作者:Antonio Leiva

时间:Jan 19, 2017

原文链接:https://antonioleiva.com/anko-background-kotlin-android/

 

Anko是由Jetbrains用Kotlin开发的Android库,它可以用于很多不同的方面。它的主要特性是使用DSL代码创建视图。

 

虽然这可能是很有趣的,然而事实是我很久以来一直很好地使用XML。所以还没有太多地试用这一特性。

 

其实它还有其他非常有用的特性,这就是我今天要告知你它是十分酷的原因。

 

Anko用于执行后台任务

 

在Android中,主线程经常被其之外的操作运行而阻塞。

 

从几个提供框架(如AsyncTask或Loader)到库,有成千上万选择。有些为此使用RxJava。

 

所有有效的选项都有其自身的优劣。

 

但它们之中大多数都是非常复杂的,就算是实现简单的在主线程之外做一些繁重任务。

 

Anko利用Kotlin能力提供简单轻量的解决方案,从长时间运行任务中释放主线程。

 

在你的项目添加依赖关系

 

首先,包含依赖关系。

 

如Anko做许多事一样,库的规模失控了。所以需要决定将其拆分。

 

例如,你仅需要导入:

1 compile 'org.jetbrains.anko:anko-common:0.9'

 

在后台线程运行任务

 

如果你记得,在前一篇文章中我们实现一个非常基本的doAsync函数,它能够在后台运行。Anko能够用执行上下文来完成一件事或其他事。我们稍后会见到一个例子。

 

现在,代码非常类似这样:

1 doAsync {
2     var result = runLongTask()
3 }

 

但是,我们怎样返回到主线程?

 

返回主线程

 

这是非常简单的。你只需在doAsync内部加入uiThread代码块,它将运行主线程。

1 doAsync {
2     var result = runLongTask()
3     uiThread {
4         toast(result)
5     }
6 }

 

toast() 是Anko提供的另一个有用的函数,它简化了我们在APP中显示消息的方法。

 

但是重要的是uiThread部分。这是运行在主线程。

 

你知道了吗?如果一个Activity调用doAsync,那么如果该Activity消亡(isFinishing返回true)uiThread代码是不会执行的。这样,我们就避免了AsyncTask经常出现的错误或其他没有注意activity生命周期的任何回调函数。

 

结论

 

如你所见,Anko提供了一组共用程序,在我们编写Android APP简化我们的工作。还有其他许多,如对话的创建或数据库的维护,我可以在接下来的文章读到这些。

 

但是,如果你真想要冒险用Kotlin创建APP,那么你可以从我的免费指南开始,它将帮助你用Kotlin创建你的第一个Android项目。

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在Android中用Kotlin的Anko运行后台任务(KAD 09),kotlinanko

相关文章

  • 2017-05-26【RecyclerView与Glide】实现一个Android电子书阅读APP,gliderecyclerview
  • 2017-05-26Android 四大组件之Activity(续2),androidactivity
  • 2017-05-26美女的秘密项目源码,美女秘密项目源码
  • 2017-05-26我的android学习经历11,android学习经历11
  • 2017-05-26Android中View实现弹性滑动的方法——Android开发艺术探索笔记
  • 2017-05-26Java虚拟机 JVM,java虚拟机jvm
  • 2017-05-26手机安全卫士——在设置中心 自定义view和自定义属性,安全卫士view
  • 2017-05-26【React Native开发】React Native控件之ViewPagerAndroid讲解以及美团首页顶部效果实例(17)
  • 2017-05-26android 对话框,android
  • 2017-05-26Android开发笔记(5)——方法调用(基础),android笔记

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 悬浮对话框的实现,悬浮对话框实现
    • Atitit.android js 的键盘按键检测Back键Home键和Menu键事件,atitit.androidmenu
    • Android 手机卫士--9patch图,
    • 硅谷新闻11--极光推送的集成,硅谷新闻11--极光
    • hellocharts-android-Android图表开源库的使用(一)
    • [android] 手机卫士读取联系人,android卫士
    • 4.1.3 Activity登堂入室
    • 转载:android MVC设计模式,androidmvc
    • Android--根据子控件的大小自动换行的ViewGroup,android--viewgroup
    • 53.Android Canvas Paint相关内容介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有