您的位置:首页 > 移动开发 > Android开发

Android--初识Kotlin以及Android Studio3.0的新特性

2017-06-14 10:23 645 查看
       今年的I/O大会谷歌宣布,将Kotlin作为安卓开发的一级编程语言,而且从Studio3.0开始,将直接集成Kotlin而不需要安装任何插件。真是一石激起千层浪啊,之后Kotlin出现在了各大技术网站的热帖和博客,一时间Kotlin将取代Java的声音充满整个Android开发圈中,我认为段时间内是取代不了的,以后怎么样就要看谷歌的态度了,但谷歌推动Kotlin相关安卓开发的发展,使得使用Kotlin来开发安卓应用更加高效这一点应该没有问题。

       以前我也只是知道这门语言,但也从来没研究过。现在自己已经开始学习Kotlin了,好多语法的东西由于刚开始学习本篇文章不作过多涉猎,只是让大家对Kotlin有更多的了解以及在Android Studio3.0预览版上的使用。

一、为什么使用Kotlin?

1,kotlin与java的关系

       首先kotlin这门语言是由JetBrains(如果不知道那你就自己抽自己一下然后去百度)开发的,是一门基于JVM的编程语言。它受到欢迎,主要是因为它可以运行在Java虚拟机上,可以和java一起使用来构建应用程序。 这意味着开发人员可以使用现有的代码,轻松地构建新的功能或替代Java代码。
由于Kotlin依赖于Java,所以这两种语言都将继续得到支持。kotlin自己的标准库只是基于 Java 的语言框架做了许多扩展,你在Kotlin 当中使用的集合框架仍然跟你在Java当中一样。如果你想要在 Kotlin 中使用 ArrayList以及像Volley、OkHttp这些开发框架都没有问题。

2,Kotlin的优势?

        1)JavaBean对象的写法,之前我们需要声明变量,什么get set 方法,构造方法等等,现在Kotlin使用一行代码创建一个包含 getters、 setters、 equals()、 hashCode()、 toString() 以及 copy() 的 JavaBean对象只需要:

      data class Customer(val name: String, val email: String, val company: String)

      2)想要单例只需创建object就可以了

object ThisIsSingleton{

var companyName:String=“JetBrains”

}


       3)我们说一下就是常用的findViewById(),在kotlin中就没有那么复杂了

text1.setText(CharSequence text)
login_in.setOnClickListener(this@LoginFragment)


      4)空安全

fun demo() {
val string1: String = "string1"
val string2: String? = null
val string3: String? = "string3"

 println(string1.length)
println(string2?.length)
println(string3?.length)

}
输出结果为:
7
null
 7
   String2为空,但我调用它的属性时并没有报空指针异常,而是直接输出null,只是因为我们在String后添加了一个“?”

Kotlin的好处挺多的,自己刚开始学习好多东西还没接触到,总之你使用了Kotlin之后会感到代码简化和方便了许多。

二、Kotlin在Studio的使用

      1,  在Studio3.0之前的版本使用Kotlin需要添加插件,下边总结一下在3.0之前的版本中的使用,最后总结在3.0版本的使用。

首先File-->Settings(或者 Ctrl+Ait+S)-->Plugins



   

 之后右击包名,New-->你会看到多出两个选项,如下图所示:






然后我们新建一个KotlinTestActivity如下图所示:











并且我们也可以将java代码转化为Kotlin,进入MainActivity中,Code-->Convert Java File to Kotlin File






之后java代码就全变成了Kotlin代码



我们运行的话会提示你Kotlin not  configured  然后你点击右侧的Configure去配置,之后运行结果如下图:



       2,在今年的I/O大会上谷歌宣布Android Studio3.0将集成Kotlin不再添加插件,Studio3.0是预览版所以当你使用3.0时不会对你现在使用的稳定版本有任何影响。现在我们就去看看Android Studio3.0预览版的神奇之处。

     Android Studio3.0的下载地址:https://developer.android.com/studio/preview/index.html

  进入Studio3.0:

Profile or debug apk(studio3.0新添加的功能,apk调试(英文介绍))对于那些只想调试 APK 而不想用 AS 构建项目的人,现在 AS 3.0 可以调试任意的
APK。这对于在另一个开发环境中开发 Android C ++ 代码但想要在 Android Studio 上下文中对 APK 进行调试和分析的人尤其有用。 只要你有一个可调试版本的 APK,你可以使用新的 APK 调试功能来分析,配置和调试 APK。 此外,如果你可以访问 APK 的来源,你可以将源连接到 APK 调试流程,以实现更高保真的调试过程。 通过从 AS 中欢迎界面中的File → Profile or debug APK来选择。学到更多。



我们看到Studio3.0直接有了Include Kotlin support选项,直接包含了对Kotlin的支持,不需要插件



   在Studio3.0中如果你新建一个Activity时可以选择Acitivity的编程语言:



关于在Android Studio3使用Kotlin就总结到这了,(可能在运行3.0的时候会有一些问题),下边我也顺便总结一下Android Studio3.0的新特性。

3,Studio3.0的新特性

   1)首先就是Android Studio3.0增加了对Kotlin的集成,使Kotlin成为Android开发的一级编程语言(这个在上边已经说过了,这里就不多说了)。

   2)在XML中支持字体(英文介绍),只是翻译大概意思:

Android O 让你通过在res/font/folde中添加字体文件,将字体打包成资源。这些字体资源在R文件中编译,并且可以在Android Studio中直接使用,你可以在新的资源类型的帮助下访问字体资源,比如:访问字体资源,可以使用@font/myfont,or R.font.myfont。

   为了将字体作为资源,需要在AS中执行下面的步骤:

1,首先,我们新建Android recource directory       res-->New-->Android  resource directory

2,对Resource type我们选择font  然后点击ok

注意:资源目录的名称必须时font,具体如下图:

   



3,添加你的字体资源到font文件(font-->New-->Font resource file)



或者创建字体组即上图textview_font.xml

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/droidsansfallback"></font>
<font android:fontStyle="italic"
android:fontWeight="400"
android:font="@font/gt_walsheim_bold"></font>
</font-family>在layout中给Textview添加fonts:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/textview_font"/>还有几种方式大家可以看一下英文版怎么实现的
   3)添加了自定义图标向导(Adaptive Icon向导)(英文介绍)Android O 引入了自适应启动器图标,其可以在不同的 Android 设备上显示为不同的形状。全新 Adaptive Launcher Icon 向导可创建新旧两种版本的启动器图标资源并可预览自适应图标在不同启动器屏幕图标蒙版上的外观。创建新资源的方法是:右键点击项目中的 /res 文件夹,然后
→ New → ImageAsset → Launcher Icons (Adaptive and Legacy)Android Studio3.0(不好意思,截屏截到歌词了):



     4)Google的Maven存储区(英文介绍)     
应广大开发者的热切呼声,现在,我们以全新 Maven 存储区的形式在 Android SDK 管理器外部分发 Android 支持库的 Maven 依赖项。对于使用持续集成 (CI) 系统开发的人来说,这样可以简化 Maven 依赖项的管理。结合最新的命令行 SDK
管理器工具和 Gradle 使用时,使用 Google 的 Maven 存储区应该能够简化 CI 构建的管理。要使用全新 Maven 的位置,请在应用模块的 
build.gradle
 文件中添加以下网址。

build.gradle

repositories {
maven {
url "https://maven.google.com"
}
}

      5)在Android模拟器中的应用Bug记录器(英文介绍)    为了帮助你记录你的应用程序中的错误,我们添加了一种更简单的方法来生产错误报告,其中包含所有必要的配置设置和空间来捕获你的重复步骤。此外,如果你想与Android 团队分享一个特定的模拟器错误,我们还添加了一个链接,以便在Android问题跟踪器上快速生成错误。要是用此功能,Emulator
ToorBar-->Extended Contorls-->Help-->Emulator Help-->File a Bug.



       6)Android 中的代理支持[b]Android Emulator 中的 Android Wear 旋转控件英文介绍) 
针对那些需要使用 HTTP 代理访问互联网的用户,我们新增了一个用户界面,可用于管理模拟器所使用的代理设置。现在,默认情况下,Android Emulator 会使用 Android Studio 中的设置,但您可以在您的网络设置中替换这些设置。要进行配置,请导航至 Extended Controls → Settings → Proxy。[/b]





     7)优化工具(Android分析器)(英文介绍)Android Studio 3.0 包含全新的工具包,以帮助调试应用的性能问题。我们对之前的 Android Monitor 工具集进行彻底重写,代之以
Android 分析器。您将应用部署到正在运行的设备或模拟器后,点击Android Profiler 标签,即可在实时、统一的视图中访问应用的 CPU、内存和网络活动。每个性能事件映射到 UI 事件时间线中,该时间线突出显示触摸事件、按键和活动变更,以便您更清楚地了解特定事件发生的时间和原因。 点击每个时间线,深入了解应用的性能情况(这个可以多花点时间研究)。

         内存分析器(英文介绍)    
内存使用效率低,可能导致许多设备问题,包括 UI 反应迟钝和内存不足事件等。内存分析器将之前的堆查看器和分配跟踪器的功能集成到一个丰富的界面中,帮助调试应用中的内存使用问题。您可以通过分析内存分配、堆转储等来诊断各种内存问题。



           

网络分析器英文介绍) 通过优化应用的前台和后台网络使用情况,可以提高应用性能和减少应用流量消耗。通过网络分析器,您可以监控应用的网络活动,检查每个网络请求的有效负载,链接回生成网络请求的源代码行。现在,网络分析器可与 HttpURLConnectionOkHttp 及 Volley 网络库配合使用。网络分析器是一项高级分析功能,可在
Android O 之前版本的设备和模拟器上启用,方法是:在 Run Configuration 框的 Profiling 标签中选中 Enable Advanced Profiling 。除了启用网络请求和有效负载分析外,此复选框还可以启用最高等级事件收集、内存对象计数和内存垃圾回收。对于基于 Android O 的设备和模拟器,只需部署应用即可。

 


 由于Android Studio3.0新特性挺多的,所以还有挺多没有去接触,后边用了会陆续更新,我给出其他特性的英文介绍,想要了解的可以自己去看看。

Java 8语言特性(英文介绍

布局编辑器(详细介绍

Android Things支持(英文介绍

IntelliJ平台更新(英文介绍

免安装应用支持(Instant App)- 利用 Android Studio 3.0,您可以在项目中创建免安装应用。免安装应用是一种轻巧的
Android 应用,用户无需安装即可直接运行该应用。为支持免安装应用,Android Studio 引入了两种新模块类型:免安装应用和功能。结合全新的“模块化”重构操作和应用链接助手,Android Studio
可以帮助您将现有应用拓展为免安装应用。为使用此功能,您可以使用 New Module 向导或右键点击某个类并导航至:Refactor→ Modularize(英文介绍

构建速度的提升(英文介绍

Google  Play 系统映像:   在更新 Android O Beta 版本的同时,我们也更新了 Android Emulator O 系统映像,使之包含 Google Play 商店。捆绑 Google Play 商店让您能够使用 Google Play 端到端地测试应用,同时也方便您在 Android Virtual Device (AVD) 中使 Google Play 服务保持最新状态。就像实际设备上的
Google Play 服务更新一样,您也可以在 AVD 上启用同样的更新。为确保应用安全性以及与实际设备一致的体验,包含 Google Play 商店的模拟器系统映像已使用发布密钥签名。这意味着您将无法获得高级权限。如果您要求使用高级权限 (root) 来帮助您排查应用问题,您可以使用不包含 Google 应用或服务的 Android 开放源代码项目 (AOSP) 模拟器系统映像。要开始,请确保您使用的是 Android Emulator v26.1+ 和最新的系统映像 API
24+,然后使用设备定义旁边的 Google Play 图标创建一个新 AVD(详细介绍

Android Emulator 中的 OpenGL ES 3.0 支持(英文介绍

APK 调试(英文介绍

布局检查器(英文介绍Tools → Android → Layout
Inspector


设备文件浏览器(英文介绍)应广大用户的热切呼声,我们将设备文件浏览器从 DDMS 移植到 Android Studio 中,新的浏览器允许查看 Android 设备或模拟器的文件和目录结构。现在,您在测试应用时,可以直接在 Android
Studio 中快速预览和修改应用数据文件。

         Studio3.0添加的新特性确实挺多的,挺实用的,自己现在还没 接触太久,想要尝鲜的朋友可以先去下载预览版去体验一下,为以后稳定版本的使用打下基础。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android kotlin studio3.0
相关文章推荐