Kotlin:我干爹是Google !

Android 设备管控实战:一层透明遮罩,如何限制下拉状态栏底部导航手势? 普通三方 Android 平板无法修改 ROM、也没有 Device Owner 时,怎样限制顶部下拉底部导航手势?本文用两个透明 TYPE_ACCESSIBILITY_OVERLAY 窄窗口,给出窗口参数、WindowInsets 尺寸、旋转重建、启停生命周期与目标机型验收方法。 阅读详情

上一篇:互联网最值得加入的173家国企汇总!!

5年前的2017 Google I/O大会上,谷歌宣布:官方正式支持将 Kotlin 作为 Android 开发的 First-Class 语言。
自此,Kotlin 开发商 JetBrains 和谷歌一直围绕 Kotlin 进行紧密合作,并共同创立了 Kotlin 基金会。
330076be68a1ad298760faa375514c7f.png

正如最初 I/O 公告中所强调的那样,Kotlin 是可互操作、成熟、适用于生产环境和开源的编程语言。

此外还具有出色的 IDE 支持,因为 JetBrains 同时开发了该语言及其配套工具。

现在,距离这则官宣消息已经过去了五年。

我们一起回顾 Kotlin 在 Android 上的重要发展事件。

2017

  • 2017:First-Class,谷歌宣布 Kotlin 成为 Android 官方支持开发语言

在谷歌 I/O 2017 开发者大会上,官方宣布将支持 Kotlin 作为 Android 开发的 First-Class 语言。

此消息一出,立即引发了国内外相关从业者对此事件的广泛关注和热烈讨论。

55912eaf5b27d3fc342c5dd88b6ce54c.png

2019

  • 2019:Kotlin-first,谷歌宣布 Kotlin 成为 Android 开发首选语言

在 2019 Google I/O 大会上,谷歌宣布,Kotlin 成为 Android 应用程序开发者的首选语言。

当时谷歌 Android 首席布道师 Chet Haase 表示:

“在过去的两年中,Kotlin 受欢迎程度一直在提高,超过 50% 的专业 Android 开发人员现在使用 Kotlin 开发他们的应用”。

他还说道,我们正在采取的下一个重大步骤是 Kotlin-first,Android 开发将越来越多地以 Kotlin 为主。

Chet 还表示,许多新的 Jetpack API 和功能将首先在 Kotlin 中提供。

如果用户要开始一个新项目,用户可以使用 Kotlin 编写,用 Kotlin 可以大量减少代码量,同时也减轻了测试和维护的负担。

d4da5c6dd7c86e313c2b6fbc04a9e2e3.png

2020

  • 2020:Kotlin 成为第二受欢迎的 JVM 语言

在这年的调查中,Kotlin 大受欢迎,从去年的 2.4% 使用率增长到了 5.5%。

从初始支持 Kotlin 再到 “Kotlin-first”,谷歌一直在对其进行多方位扶持,先后推出了 Kotlin 免费在线课程和使用 Kotlin 构建 Android 应用的课程。

同时不断完善着相关生态,比如开源了 gRPC-Kotlin/JVM,让开发者可以在 Kotlin 项目中更方便地使用 gRPC,等等。

352da50812fef0807fae72e3d7b30020.png

2021

  • 2021:JetBrains 宣布 Jetpack Compose for Web,使用 Kotlin 开发适配多端的 Web UI

JetBrains 宣布了一款名为 “Jetpack Compose for Web” 的新工具,官方介绍称此项目基于 Google 现代 UI 工具包 Jetpack Compose,支持使用 Kotlin 编写响应式 Web UI。

Jetpack Compose 是用于构建原生界面的新款 Android 工具包。它可简化并加快 Android 上的界面开发。

使用更少的代码、强大的工具和直观的 Kotlin API,快速让应用生动而精彩。UI 代码和预览如下图所示:

280818a079982c50de866f0d7ddae1ec.png

总而言之,Kotlin这几年的发展的确非常之快,相关的技术生态也在不断发展。

之前也学过一段时间Kotlin,也看到身边Android开发的小伙伴写过不少Kotlin代码,别的不说,代码信噪比是真的高,而且看起来也比较简洁,这一点印象还是颇深的~

来源|OSC开源社区(ID:oschina2013)

全文完,感谢你的耐心阅读。如果你还想看到我的文章,请一定给本文“在看”、“点赞”,新文章推送才会第一时间出现在你的微信里。

END - 

热门推荐:
首批元宇宙公司已经发不出工资了!
面试通过,背调凉了。。
想要我加班?门都没有。怼的太爽了吧
用 Arthas 定位 Spring Boot 接口的超时问题,让应用起飞~

人在新加坡,刚下飞机,原地失业!上交大佬刚到新加坡,就被虾皮取消了offer,作者发声了...
PS:如果觉得我的分享不错,欢迎大家随手点赞、转发、在看
DIKW模型实战:用Obsidian打造个人知识库的5个关键步骤 本文详细介绍了如何利用DIKW模型在Obsidian中构建高效个人知识库的5个关键步骤,从数据收集到智慧应用的全流程实践。通过标记系统、信息加工引擎知识结晶方法,帮助知识工作者实现从原始数据到决策智慧的认知跃迁,提升个人知识管理效率。 阅读详情

相关推荐

MAPLAB X IDE仿真调试

一、开发环境 操作系统:Windows 10 调试工具:Pickit3 单片机型号:PIC24FJ32GA002 二、操作步骤 1、连接Pickit3仿真器于单片机对应的烧写口如图示: 2、点击调试项目进入调试模式,这时底下输出框显示"运行"代表成功进入调试模式。 3、选择断点,该IDE只支持两个断点,使用超过两个时,超过的断点亮灰色代表无效。设置好断点后需暂停然后再重新点击运行才能生效。可以看到在断点处有绿色光标。 ...

RealHero的博客 5043

Kotlin:我干爹Google

这是「进击的Coder」的第 721篇分享来源:OSC 开源社区 (ID:oschina2013)“ 阅读本文大概需要 5 分钟。 ”5 年前的 2017 Google I/O 大会上,谷歌宣布:官方正式支持将 Kotlin 作为 Android 开发的 First-Class 语言。自此,Kotlin 开发JetBrains 谷歌一直围绕 Kotlin 进行紧密合作,并共同创立了 Kot...

静觅 252

Android Performance】进程性能配置三板斧——task_profiles、IO优先级与sched_boost调度提升实战

本文系统讲解Android系统中为关键进程"提性能"的三板斧配置手段,以update_engine(OTA升级服务)为贯穿示例。文章先建立全局认知:进程性能受三层资源制约——CPU调度、IO优先级、调度器boost行为,对应三种配置手段各司其职;随后逐一拆解:task_profiles机制(在init rc文件中用一行task_profiles指令为service挂载预定义性能配置组。

weixin_44081096的博客 435

Android16 默认第三方Launcher为主桌面

【代码】Android16 默认第三方Launcher为主桌面。

qq_19447521的博客 26

Android ANR实战排查:主线程SystemClock.sleep导致页面启动偶现无响应

🔍 ANR问题全链路解决方案 摘要:本文系统讲解Android ANR问题的全链路解决方案。首先指出单纯依赖Logcat无法定位根因的局限,详细介绍了两种ANR日志抓取方法:adb pull /data/anr/(适合开发板)dumpsys dropbox(适合商用手机)。通过真实案例堆栈分析,揭示了主线程调用第三方SDK同步方法导致SystemClock.sleep()阻塞的根因,并强调该问题偶现性特征。最后提出分层解决方案:应用层采用协程异步初始化,或SDK层改造为异步回调模式,并列出了五大开发避坑

知道的越多,不知道的越多。 359

rk3568安卓13驱动适配-SPDIF数字音频

本文介绍了在rk3568安卓13 SDK中适配SPDIF音频接口的具体过程,为类似开发提供了实用参考。

x150061的博客 42

手机远程控制电脑全平台横测:iOS安卓鸿蒙谁更强

一、手机控电脑,到底有多刚需?你可能也经历过这些场景:下班刚到家,老板打电话说有个紧急数据需要从公司电脑里拉出来周末在外面逛街,突然想起家里电脑上的渲染任务还没点"开始"出差在高铁上,只能用手机远程登上工作电脑改一个配置父母打电话说电脑出了奇怪的问题,你人在千里之外干着急这些时刻,不再是"可选项",而是"救命稻草"。但市面上的远程控制 App 一个比一个能吹——“高清流畅”、“低延迟”、“一键连接”。真用起来呢?画质糊成马赛克、触控操作反人类、键盘输入比手写还慢……到底哪一款才是真正好用的。

2401_89864609的博客 292

第一个安卓程序

本文简要介绍如何使用Android Studio创建第一个安卓HelloWorld程序:1)新建EmptyViewActivity项目并命名;2)定位到layout目录下的activity_main.xml文件;3)配置虚拟设备(需提前下载系统镜像);4)运行程序。通过这四步即可完成基础安卓应用的创建与测试。全文以操作流程为导向,适合初学者快速入门。(98字)

UE星空 171

Android录屏内部音频录制完全指南:原理、限制与方案选型

本文解析了安卓录屏无声问题的根源解决方案。核心要点包括: 1)安卓10+才支持内部音频捕获,低版本系统无法实现; 2)音频来源分内部音频、麦克风静音三种模式; 3)部分应用会禁止音频捕获进行版权保护; 4)给出参数设置建议方案选型(系统自带、第三方工具、电脑投屏),推荐快录屏APP; 5)提供6步排查清单。文章指出多数情况是系统限制或配置问题,帮助用户针对性解决录屏无声问题。

343

Unity Android 平台适配:Java/Kotlin 与 Unity 跨语言交互实战

剖析 Unity 与 Android 交互的 JNI 桥接机制:一次 Call 背后是查类、查方法加双向封送的多次往返,local reference 表溢出是隐形炸弹。文章给出双向调用完整示例、AndroidJavaProxy 回调选型、三条线程规则与 AAR 加 Gradle 的工程化上架清单。

游戏人生 127

保姆级智能座舱测试入门:从 Android Automotive OS 到 SOA 服务的 7 层验证

本文介绍了智能座舱的7层测试体系,从底层OS到顶层用户体验全覆盖验证。随着智能座舱复杂度提升,传统手工测试已无法满足需求。7个层级包括:OS内核层(L1)、硬件抽象层(L2)、框架层(L3)、应用层(L4)、SOA服务层(L5)、HMI/UX层(L6)性能层(L7)。每层详述了测试目标、核心测试项及工具链,如LTP、VTS、CTS、CANoe等。

XiuSLjie的博客 237

Android出海系列-GTS测试介绍

GTS(GMS Test Suite)是用于验证设备是否符合Google移动服务(GMS)要求的自动化测试工具,主要检查GMS集成、系统配置协议条款等。测试需在Linux环境下进行,要求安装最新ADB、AAPT工具及OpenJDK 11。待测设备需配置User版本系统,并满足网络、屏幕、SIM卡等硬件条件。测试前需部署Widevine Keybox(Android 16除外)、Device ID(Android 13+)CSR信息。测试方法包括单机测试分布式多设备并行测试,通过tradefed工具执行

u010345983的博客 1920

电脑远程控制安卓:隔离不明应用测试,保护主力手机数据安全

【职场防坑指南:电脑远程控制安卓手机的安全测试技巧】通过AirDroid实现电脑远程操控备用安卓手机(需Android7+/鸿蒙1-4),既避免主力机风险又提升效率。关键步骤:在被控手机开启远程权限并防杀后台,电脑端登录同账号即可实现跨设备控制。这种"替身测试法"让打工人安全测试可疑应用,数据无忧效率翻倍,堪称职场数字安全必修课。

AirDroid_cn的博客 415

Android 启动优化(三):Perfetto 实战——启动时间到底花在哪里?

序、众所周知,每一次开始写这种框架系类的文章的时候,就是我在找工作了,有闲暇时间可以写点东西。哈哈哈哈,26年找工作,简直就是。。。。。 重要的事情说三遍 有岗位的请 CALL 我,谢谢大家了。。。。 有岗位的请 CALL 我,谢谢大家了。。。。 有岗位的请 CALL 我,谢谢大家了。。。。

Super 含 的博客 231

Android 包体积优化(四):深入 ReDex——StripDebugInfo、InterDex 与 DEX 重排

APK / DEX 构建完成之后的一层 Bytecode Optimization。它不是:R8 的替代品。而是:更深一步的 DEX 后处理工具。负责:精简 DEX Debug Metadata。负责:优化 Class Ordering DEX Distribution。17.58%7 → 5但更重要的不是:“减少了 17.58%。包体积优化不能只关注 APK 是否变小,还必须关注优化后的 APK 是否仍然正确。所以真正完整的优化流程应该是:Analyze↓Optimize↓。

Super 含 的博客 215

不装 Android Studio,也能把 Vue / React 一键打成 APK:开源工具 lw.Web2Android

lw.Web2Android是一款轻量级开源工具,专注于将Web项目快速打包为Android APK,无需配置复杂的Android开发环境。它支持HTML、Vue、React等静态项目,采用预编译Runtime技术简化构建流程,自动管理APK签名,适合企业内部系统、展示类App等场景。与Capacitor等混合开发框架不同,它保持功能精简,专注于解决"已有Web项目转APK"的核心需求。项目目前处于早期阶段,强调稳定性可靠性而非功能堆砌。

.NET 人工智能实践 284

Android 应用安全防御:APK 加密保护、防反编译与加固最佳实践

原始 APK/AAB] ──> [命令行加固工具 (如 Virbox/易盾)] ──> [对齐优化 (zipalign)] ──> [V2/V3 方案重签名 (apksigner)] ──> [加固完成 APK]| SO 库保护 / Java2C | 隐藏 Native 导出的符号表,对 SO 代码段重构加密,或将 Java 逻辑翻译为 C/C++ | 防 IDA Pro 反汇编与逆向分析 |print("\n--- 步骤 2: 正在进行 V2/V3 方案 APK 签名 ---")

lzj781210的博客 197

Android 13 Settings 设置界面选项裁剪(RK3568平台)

本文详细介绍了在RK3568安卓13平台中裁剪Settings应用界面的方法。通过分析Settings应用的三层架构设计(页面-片段-控制器)动态加载机制,重点讲解如何通过修改XML配置文件实现界面选项的裁剪。这种基于配置文件的修改方案具有低风险、易维护等优点,适合需要简化系统设置界面的定制开发需求,为开发者提供了一套可复用的轻量级裁剪方法。

x150061的博客 245

Android 启动优化(七):Baseline Profile、启动监控与完整性能闭环

序、众所周知,每一次开始写这种框架系类的文章的时候,就是我在找工作了,有闲暇时间可以写点东西。哈哈哈哈,26年找工作,简直就是。。。。。 重要的事情说三遍 有岗位的请 CALL 我,谢谢大家了。。。。 有岗位的请 CALL 我,谢谢大家了。。。。 有岗位的请 CALL 我,谢谢大家了。。。。

Super 含 的博客 85

android-控件-树状控件treeview(第三方库)

核实一下最新的稳定版本号是多少,用那个最稳妥。

weixin_42770272的博客 183

基于ASP.net的企业网站后台管理系统源码.zip

基于ASP.net的企业网站后台管理系统源码.zip

上一篇: 求求你别只会SpringMVC了,太Low了!Spring又官宣了一个更牛逼的替代框架!
下一篇: Java序列化为什么必须实现 Serializable 接口???
xhmj12
博客等级 码龄14年 952粉丝 · 278原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值