谷歌2017 I/O大会后续:Android Studio 3有哪些新特性?(翻译)

原文链接地址

本文将介绍AS3(Android Studio 3)预览版的主要新特性。

预览版官方下载地址
预览版国内下载地址

一、内置支持Kotlin
本次大会上宣布的一个重大消息是谷歌让Kotlin成为了安卓开发最好的语言。尽管之前AS可以通过插件的形式支持Kotlin,现在将Kotlin内置AS后可以让开发者更加容易开始使用Kotlin。

AS3支持三种方式使用Kotlin.
方式一:新建Kotlin工程
首先,你会在创建工程的向导中看到”Kotlin support”复选框。如下图:
image

当你勾选后,AS会自动产生支持Kotlin的所有代码。假如你打开工程build.gradle文件,你将会在buildscript里面看到你正在使用的Kotlin版本:

buildscript {
  ext.kotlin_version = '1.1.2-4'
  repositories {
      maven { url 'https://maven.google.com' }
      jcenter()
  }

假如你打开模块build.gradle文件,你会发现一些Kotlin相关代码被添加进来。

apply plugin: 'com.android.application' 
apply plugin: 'kotlin-android'
...
...
...
dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
      exclude group: 'com.android.support', module: 'support-annotations'

  })

  compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

方式二:将已有的java文件转换为Kotlin

-在Project视图下选择你要转换的文件(单个)
-在AS工具栏选择Code > Convert Java file to Kotlin file此步骤通过转换器将java文件转换为等价的Kotlin代码
-此时AS会提示你Kotlin在你的工程没有配置,点击该提示语中的Configure 按钮。
-选择Android with Gradle
-从All modules, All modules containing Kotlin files中选择,或者选择你想要支持Kotlin的module.
-点击OK

方式三:给已经存在工程增加Kotlin类
在你想要创建Kotlin文件的目录右击,然后选择New > Kotlin file / class,假如你的工程没有配置支持Kotlin,AS同样会出现配置提示语音,解决方法同上。
假如你对Kotlin不熟悉,并想知道要注意的细节,你可以参考这系列文章。
点此打开该系列文章

二、一个新的Android Profiler
AS3预览版用一个全新的Android Profiler替换了 Android Monitor窗口。打开该新工具的方式为,View > Tool Windows > Android Profiler ,或者点击IDE窗口底部的Android Profiler 按钮。
类似于Android Monitor, Android Profiler也只能连接正在运行的app,所以你要确保你想要测试的app在模拟器或真机上运行,这样才能在屏幕上可见。点击下拉菜单选择你想要分析的设备和进程。
一旦你选择了一个进程,Android Profiler会自动连接到该进程,并且显示当前运行app的网络时间表,还有CPU,内存使用情况,它们都是实时更新。
imag

如果想查看它们的详细信息,只需要点击Android Profiler按钮,你会看到一个专门显示你选择主题(比如说CPU)的新profiler。

Network Profiler
该Profiler展示了网络活动时间表,显示发送的数据和接收的数据,以及当前的连接数。要注意的是,Network Profiler只能支持HttpURLConnection 库和OkHttp 库,所以假如你使用了不同的库,你可能无法看到你的app网络活动情况。
CPU Profiler
该Profiler展示了你的app的CPU使用和线程活动情况。你还能够精确的看到哪些方法正在被执行,并且每个方法消耗CPU资源的情况,这些通过记录一个方法的踪迹完成。
为了记录踪迹,打开下拉菜单,选择Sampled 或Instrumented,然后点击Record 按钮。花一些时间在你的app交互上以确保你想要记录的内容被你都操作过,然后点击Stop recording按钮。CPU Profile就会展示刚才采样周期的数据记录。
Memory Profiler
该Profiler通过展示app内存使用情况图表帮助你识别内存泄漏,内存抖动和不合理的内存分配方式。你还以使用它捕获heap dump,提供app内存分配快照,知道每一个对象占用了多少内存,以及每一个对象在你的代码中的什么地方被引用。最后点击Record memory allocations按钮,你能够记录app内存分配情况。

三、创建独立的即时app模块
安卓即时app可以让用户通过URL快速运行app,而无需先安装app。基于此,你就可以将你app中的大部分重要功能面向更多的用户,而不是希望他们下载安装整个app。

在工程中增加安卓即时app功能的第一步是将你的app划分为更小的module,以便用户下载你的工程中的某一部分。由于将你的app被划分为多个独立的module不是一件容易的事,AS3预览版引入了将你的任何类模块化的新特性。
-打开你想模块化的类,并且选中该类名。
-右击,选择Refactor > Modularize.
这里写图片描述

-选择Preview 来查看即将被融合到新模块中的类,方法和资源。
-你可以反选不需要被引入到新模块的子项。假如你不删除某些子项,你一般都需要花些时间来调整代码以确保能够正确运行。
-当你选择好了以后,点击OK,创建模块。

四、改善对Java8的支持
AS3预览版内置对Java8语言特性子集的支持,并且支持使用了这些特性的第三方库,比如:
-Lambda 表达式
-方法引用
-类型注解
-默认和静态接口方法
-重复注解
除此之外,如下的Java8特性兼容API24及更高

java.lang.annotation.Repeatable
java.util.function
java.lang.reflect.Method.isDefault()
java.lang.FunctionalInterface
java.util.stream
annotatedElement.getAnnotationsByType(Class)

为了改善对Java8的支持,你需要将Gradle插件 更新到v 3.0.0-alpha1(或者更高)。打开gradle-wrapper.properties文件,修改distributionUrl:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip

然后打开工程build.gradle文件,确保你正在使用谷歌的最新Maven 库。
将Gradle插件 更新到v 3.0.0-alpha1,

buildscript {
  repositories {
      maven { url 'https://maven.google.com' }
      jcenter()
  }

   dependencies {
       classpath 'com.android.tools.build:gradle:3.0.0-alpha1'

为了使用AS对Java8支持的改善,假如你之前打开了Jack 编译器,你需要关闭它。为了删除Jack,打开modlue的build.gradle,删除jackOptions 部分,
`android {



defaultConfig {

   // Remove the following block//

   jackOptions {
       enabled true
       ...
   }

}`
最后你需要增加Java8的compileOptions 到 build.gradle文件:

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

五、更加容易的自定义字体
给app增加自定义字体,通过在Android O版本上将字体这种资源提升至完全被支持的资源类型,谷歌正在让这件事变得更加容易。虽然我们已经研究了 working with custom fonts
但是,AS3预览版增加更加方便的特性,该特性可以更加方便的浏览自定义字体,并且更加方便的添加到工程。
-打开任何包含TextView的layout资源文件
-选择Design 按钮
-在编译器里面选择TextView,Properties 菜单会出现在AS窗口左侧。
-滚动菜单的textAppearance 部分,并且点击箭头展开。打开fontFamily 下拉框,选择More fonts。你就会打开一个可供下载的字体库窗口。
这里写图片描述
-如果想要增加字体,选中后点击OK -打开工程的res/font文件夹,你就会看到刚才被增加的字体,准备被你使用。-为了将此字体应用于任何文本,只需要增加属性android:fontFamily="@font/name-of-your-font"

六、其他值得注意的更新
一些有用的新工具
APK Debugger
该工具使得分析和调试apk更加容易,在AS工具栏选择 File > Profile or debug APK,然后选择你想要查看的APK 。或者在AS的Welcome 界面选择Profile or debug APK。
Device File Explorer
与设备的文件系统交互,包括查看,复制,删除以及上传文件到设备。右击AS屏幕,选择Device File Explorer,或者从AS工具栏选择View > Tool Windows > Device File Explore。
Adaptive Icon Wizard(可适应的icon向导)
在Android O中,原始的设备制造商能将mask应用到设备上的所有app启动图标。为了确保应用图标正确的展示,而不用考虑mask,你需要提供一个adaptive launcher icon。
虽然,我们之前探索过相关话题,但是AS3预览版引入了专用向导,有了它就可以更容易的创建可适应的icon。打开向导的方法,右击工程的 res文件夹,选择New > Image Asset。在出现的窗口中,打开 Icon type下拉框,将它设置为 Launcher Icons (Adaptive and Legacy)。选择前置背景层和后置背景层后创建可适应的icon.
这里写图片描述

结语
本文探索了AS3预览版的新工具和特性,包括内置Kotlin语言支持,对Java8支持的改进,新的Android Profiler。

原文链接地址

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值