当前位置: 首页 > 科技观察

AndroidPieSDK更兼容Kotlin

时间:2023-03-13 20:37:42 科技观察

使用Java编程语言时,最常见的痛点之一是在访问空引用(nullreference)成员时,系统会报NullPointerException。Kotlin可以有效避免这个问题。它通过将可空类型和不可空类型导入类型系统来帮助您消除代码中的NullPointerException错误,从而提高应用程序的整体质量。当Kotlin代码调用Java语言编写的API时,会依赖上述API中的可空性注解来判断每个参数的可空性和返回值类型。未注释的参数和返回类型将被视为平台类型,从而削弱Kotlin的空安全保证。最新的Android9包括对AndroidSDK的更新,为许多最常用的API添加了可空性注释。当您的Kotlin代码调用SDK中任何带注释的API时,null安全保证是完整的。即使在使用Java编程语言时,您仍然可以通过使用AndroidStudio检测可空性协议违规来从这些注释中获益。作为Android9联合发布的一部分,新的AndroidSDK包括一些常用API的可空性注释。当Kotlin在SDK中调用任何带有注解的API时,它可以预留null-safetyAssure。使用Java的开发人员还可以通过使用AndroidStudio捕获可空性契约违规来利用这些可空性注释。小改动,大改进通常,违反Kotlin中的可空性协议会导致编译错误。为确保带注释的API与您现有的代码兼容,我们采用了Kotlin编译器团队提供的内部机制来注释新带注释的API。新注释的API只会触发警告,不会触发Kotlin编译器的错误。这必须使用Kotlin插件1.2.60或更新版本。最近添加的可空性注解只会产生警告而不是错误,但在明年的AndroidSDK中我们会提高错误的严重性。此举的目的是让开发人员有足够的时间来调整代码。如何使用更兼容Kotlin的SDK首先,在AndroidStudio中选择Tools>SDKManager。在左栏中选择“AndroidSDK”并确保“SDKPlatforms”选项卡已打开。△在AndroidStudio中使用SDKManager安装SDKforAPILevel28Version6勾选Android8.+(P),点击OK。此步骤可安装AndroidSDK平台级别28版本6(如果之前未安装)。此后,将项目编译的SDK版本设置为API级别28,以激活新AndroidPieSDK的可空性注释。△使用项目结构对话框将项目编译后的SDK版本改为API28。如果你当前的Kotlin插件还没有更新到最新版本,需要通过AndroidStudio更新。请选择“ToolsKotlin>ConfigureKotlinPluginUpdates”检查并确保Kotlin插件版本为1.2.60或更新版本。设置配置后,如果您的代码违反了AndroidSDK中的可空性协议,您的项目将显示警告。此外,如果您调用不满足可空性要求的AndroidAPI,AndroidStudio的代码编辑器也会显示警告。具体示例如下:△AndroidStudio在将空引用作为非空类型传递给android.graphics.Path中带注释的参数时发出警告API使用Java编程语言中的可空性注释即使您的代码使用Java编程语言,您仍然可以从中受益新的可空性注释。默认情况下,AndroidStudio会显示违反可空性协议的警告,具体示例如下:如果你开启了检查功能,你可以进入IDE的设置页面,搜索“Constantconditions&exceptions”检查,确保相关项被选中。△使用“设置”下的检查页面,确保已激活对“常量条件和异常”代码的检查。如果您使用的是Java编程语言,则违反可空性协议不会生成任何编译器警告或错误。只有IDE的代码检查功能可以检测到这些问题。此外,您可以检查整个项目的代码并查看整体结果。单击“分析>检查代码...”以启动该过程。下一步AndroidSDKAPI有很多接口,到目前为止,我们只标记了一小部分API,还有很多工作等着我们。在接下来的几个AndroidSDK版本中,我们将继续为现有的AndroidAPI添加可空性注释,并确保所有新的API也被注释。借助与Kotlin更兼容的AndroidSDK、AndroidX(Jetpack系列的一部分)中的可空性注释以及AndroidKTX,我们将继续为使用Kotlin的开发人员改进AndroidAPI。如果您还没有尝试过Kotlin,我们希望您会。Kotlin不仅让你的代码更加简洁,还提高了你的应用程序的稳定性。