自 2020 年底,Android Gradle 插件 (AGP) 已经开始使用新的版本号规则,其版本号将与 Gradle 主要版本号保持一致,因此 AGP 4.2 之后的版本为 7.0 (目前最新的版本为 7.2)。在更新 Android Studio 时,您可能会收到一并将 Gradle 更新为最新可用版本的提示。为了获得最佳性能,建议您使用 Gradle 和 Android Gradle 插件这两者的最新版本。Android Gradle 插件的 7.0 版本更新带来了许多实用的特性,本文将着重为您介绍其中的 Gradle 性能改进、配置缓存和插件扩展等方面的内容。
自 Google I/O 大会,Google 正式宣布 Kotlin 成为 Android 开发的官方语言的五个月以来,不少开发团队都开始使用 Kotlin 对 Android 应用进行重写。本文分享
https://github.com/EasyKotlin/Kotlin-for-Android-Developers
算了一下,上个版本1.6.1已经是半年前推出的了,而整个开源项目自2014年推出以来,我已经维护了有四年之久。这四年以来,我不断地完善着LitePal的代码,修复各种大家提出的bug,以及补充各式各样好用的新功能。而今天,时隔半年,LitePal终于迎来了一次大的版本更新,正式发布了2.0.0版本!
改不完的 Bug,写不完的矫情。公众号 杨正友 现在专注移动基础平台开发 ,涵盖音视频, APM和信息安全等各个知识领域;只做全网最 Geek 的公众号,欢迎您的关注!精彩内容不容错过~ 一. kotlin 简介 Kotlin 拥有强大的生态,因为 Kotlin 是一门跑在 Java 虚拟机上的函数式语言,完全符合 JVM 的设计规范,如: 类型擦除,装箱和拆箱等等。所以也可以像 Java 一样支持 Android 原生环境开发,服务端,甚至大前端方向。那么 Kotlin 和 Java 有什么共同点
众所周知,kotlin是google力推的用以取代java的android开发语言 kotlin使用起来比较方便,同时有许多语法糖 本文主要讲解了一些比较实用的kotlin技巧
一般activity创建之后会有两个文件,一个是实现逻辑的kotlin文件或者java文件,一个表示当前activity对应的xml布局文件,用来展示界面
Activity的活动页面跳转是App最常用的功能之一,在前几章的demo源码中便多次见到了,常常是点击界面上的某个按钮,然后跳转到与之对应的下一个页面。对于App开发者来说,该功能的实现非常普通,使用Java编码不过以下两行代码而已:
Anko (https://github.com/Kotlin/anko) 是一个用 Kotlin 写的Android DSL (Domain-Specific Language)。长久以来,Android视图都是用 XML 来完成布局的。这些 XML可重用性比较差。同时在运行的时候,XML 要转换成 Java 表述,这在一定程度上占用了 CPU 和耗费了电量。
Gradle作为一个脚本工具,在开发的过程中,最痛苦的莫过于「调试」,大部分时候,我们都是通过Log的方式来进行调试,在编译过程中,可以很清楚的看见执行过程,同时也能看到系统的其它执行的Task。
今年五月份的 Google I/O 上,我们正式向全球宣布 Kotlin-first 的这一重要理念,Kotlin 将成为 Android 开发者的首选语言,十月份举办的 Android Dev Summit 2019 大会上,我们发布了使用 Kotlin API 开发的 Jetpack Compose 开发者预览版。
过去两年,我们在掘金平台上发表过一些文章,小彭也收到了大家的意见和鼓励。最近,我会陆续搬运到公众号上。
Retrofit对协程的支持非常的简陋。在kotlin中使用不符合kotlin的优雅
Android 系统中 Activity 承载了界面组件,负责与用户交互,Service 则在后台“默默运行”,给用户提供“服务”,它不与用户直接交互。如果说 Activity 是剧院的大舞台,是呈现“节目”并且负责和“观众互动”,那么Service 就是这个“舞台”的“幕后”,它为现场的活动做“幕后保障”工作。
这是因为kotlin中不能像java那样使用AActivity.this,kotlin无法识别为Context
另外,Anko支持动态生成视图,语法简单,结构清晰,但是不能预览,预览插件:
根据Realm Report (2017-Q4,https://realm.io/realm-report/2017-q4 ) ,过去的一年在Android 端的开发:Java 从 95% 降低到 Java 85%, 而 Kotlin 从 5% 涨到 15% ,如下图所示
随着Google I/O大会的召开,Google宣布将支持Kotlin作为Android的开发语言,最近关于Kotlin的文章、介绍就异常的活跃。
在实现Router机制之前,我们还可以对项目的组织架构进行优化,将gradle中公用部分抽出来 有了上一篇的基础,我们初步实现了架构分层,目前有三个module:
效果图:自己复制代码运行,我自己测试的是正常的,原生的不做处理,快速点击,确实会出现两个界面的情况
在使用 Java 编程语言时,最常见的痛处之一是在存取空引用 (null reference) 成员时,系统会报出 NullPointerException。Kotlin 可有效地避免这问题的发生,它通过将可空类型 (nullable type) 与非空类型 (non-nullable type) 汇入类型系统,帮助您消除代码中的 NullPointerException 错误,从而提升 app 的整体质量。Kotlin 代码调用写入 Java 语言中的 API 时,会依靠上述 API 中的可空性注解来决定每个参数的可空性,以及返回值类型。未注解的参数和返回值类型将被视为平台类型,从而弱化 Kotlin 的空值安全保证。
自从LitePal在2.0.0版本中全面支持了Kotlin之后,我也一直在思考如何让LitePal更好地融入和适配Kotlin语言,而不仅仅停留在简单的支持层面。
使用 Android Studio 自带的 Add Parcelable Implementation ,然后你就得到了。。。
前几年的Google I/O大会上,Google正式宣布,Kotlin将会成为Android开发的官方支持语言。除了Android外,Kotlin还可以完全作为服务端开发的语言,比如在未来的Spring 5就将对Kotlin提供强大的支持。以及浏览器编程语言,与JS进行交互。
配置缓存是一个提升 IDE 和命令行构建速度的基础构建块。这是 Gradle 6.6 版本提供的一个高度实验性功能,它可以使构建系统记录一次任务的图谱信息,并在接下来的构建中进行复用,从而避免再一次配置整个工程。这一功能也是配置阶段改进的延续,这些改进中引入了 惰性配置 (lazy configuration),以避免在构建的配置阶段进行不必要的工作。这些改进对于快速迭代开发的重要性不言自明,而后者也是 Android Studio 团队所持续关注的一个用例。
一直以来,技术圈里面只要涉及 Android Library 的文章,几乎都在讲如何发布到 Maven/Jcenter,却很少见到有文章来指导大家如何编写一个规范又好用的 Android Library。
众所周知,kotlin是google力推的用以取代java的android开发语言
在 Kotlin 中 , :: 双冒号操作符 的作用是 获取 类 , 对象 , 函数 , 属性 的 类型对象 引用 ;
上一篇介绍了 ardf(android rapid development framework,Android 快速开发框架) 基于 DataBinding 对 RecyclerView 的封装实现和使用,ardf目的是封装一系列 Android 开发框架帮助开发者快速开发提高开发效率。本篇是 ardf的第二篇,将介绍基于 DataBinding + Koin 实现的 MVVM 模式页面快速开发框架的使用和详细实现。
最近我们在做区块链相关的钱包项目,新的App使用全新的技术栈。在Android中我们使用Kotlin+RxJava+Android Architecture Components,在iOS中使用Swift+RxSwift。本文不讨论App的架构,只讨论项目中所使用到的Kotlin的特性。
由代码可见,mHomeWorkId 是一个不能为null的String。然后通过intent.getStringExtra 方法给mHomeWorkId赋值。
使用懒加载,将需要的配置在此处配置好,inline 对函数再次调用,可以查一下这样用的优点。
看名字就知道这是 Kotlin 官方的序列化框架了,它支持 JSON/CBOR/Protobuf,下面我们主要以 JSON 为例介绍它的功能(因为后面那俩不是给人看的啊)。
Android JetPack是一整套的库,工具和指南。可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。
Android Studio是Android的官方IDE。它是专为Android而打造,可以加快您的开发速度,帮助您为每款Android设备构建最优应用。 它提供专为Android开发者量身定制的工具,其中包括丰富的代码编辑、调试、测试和性能分析工具。
从事Android开发的童鞋都知道,自从去年的Google I/O大会上Kotlin被定为Android开发的官方语言以来,关于Kotlin就成为每个开发人员学习的目标,的确,Kotlin以它独有的魅力正在吸引这传统的Java程序开发人员。或许很多的童鞋已经对Kotlin进行了深入的学习,甚至已经运用到了自己的项目当中,但是还有较多同学可能只是听过Kotlin或简单了解过,本文将从宏观的角度来介绍Kotlin相关的内容。 在介绍Kotlin之前,先来安利一波,本人去年年底开始写作的关于Kotlin的书下个月就要出版了,有兴趣的可以关注下,目录如下。
在Kotlin的世界里,我们可以重载算数运算符,包括一元运算符、二元运算符和复合赋值运算符。
当应用程序为对象分配内存,而对象不再被使用时却没有释放,就会发生内存泄漏。随着时间的推移,泄漏的内存会累积,导致应用程序性能变差,甚至崩溃。泄漏可能发生在任何程序和平台上,但由于活动生命周期的复杂性,这种情况在 Android 应用中尤其普遍。最新的 Android 模式,如 ViewModel 和 LifecycleObserver 可以帮助避免内存泄漏,但如果你遵循旧的模式或不知道要注意什么,很容易漏过错误。
json是App进行网络通信最常见的数据交互格式,Android也自带了json格式的处理工具包org.json,该工具包主要提供了JSONObject(json对象)与JSONArray(json数组)的解析处理。下面分别介绍这两个工具类的用法:
2017-09-30 by Liuqingwen | Tags: Kotlin Android 翻译 | Hits
本文最初发布于 Dropbox 技术博客,经原作者授权由 InfoQ 中文站翻译并分享。
之前的例子中,关于url和Activity之间的关系,是写死在一个Map中的,可以看做是一个静态路由。随着项目规模的扩大,这样一个个的手写那张表是个工作量比较大的工作,那么有什么简单的方式可以实现自动化呢?
R8 是 Android 默认的程序缩减器,它可以通过移除未使用的代码和优化其余代码的方式降低 Android 应用大小,R8 同时也支持缩减 Android 库大小。除了生成更小的库文件,库压缩操作还可以隐藏开发库里的新特性,等到这些特性相对稳定或者可以面向公众的时候再对外开放。
在分析安装过程之前,需要先了解一下 Android 项目是如何经过编译->打包生成最终的 .apk 格式的安装包。谷歌有一张官方图片来描述 apk 的打包流程,如下图所示。
Gradle的Kotlin DSL提供了一种替代传统Groovy DSL的语法,它在受支持的ide中增强了编辑体验,具有更好的内容辅助、重构、文档等功能。本章详细介绍了主要的Kotlin DSL结构,以及如何使用它与Gradle API进行交互。
通过反射获取ContentView注解,并最终调用Activity的setContentView方法
静态代理: 由我们开发者自己手动创建或者在程序运行前就已经存在的代理类,静态代理通常只代理一个类,动态代理是代理一个接口下的多个实现类。
原文链接:http://wetest.qq.com/lab/view/383.html
“用指尖改变世界” 📷 趋势科技的安全研究人员在上周发现了一款名为“Swift Cleaner”的恶意应用程序,他们认为这可能是首款使用开源Kotlin编程语言开发的Android手机恶意软件。 根据趋势科技在1月9日发布的博客文章,该应用程序已经被下载了1000到5000次之间。它伪装成手机系统清理工具,描述为可以提供系统和缓存清理以及内存优化等实用功能。 📷 但实际上,它能够执行恶意远程命令、信息窃取、未经授权的SMS发送和URL转发以及点击或广告诈骗。同时,它还能够在未经许可的情况下,给受害者注册高级
IT派 - {技术青年圈} 持续关注互联网、区块链、人工智能领域 在使用Kotlin进行了一段时间的Android开发之后,我深深地体验到了它的美好,Kotlin 取代 Java 只是时间问题,觉得
领取专属 10元无门槛券
手把手带您无忧上云