用kotlin开发android
A. 为什么我还不想使用 Kotlin 来开发 Android
我举个例子,你之前一直用一台电脑,很习惯可,现在给你一台新的电脑,但是电脑的很多地方你都不会用,甚至下载一个输入法也不会。虽然你通过其他渠道得知,这个电脑真的好用,可是你还是不会用,因为你不想付出时间去学习。是啊,我有电脑,可以完成日常工作,为什么还要去学新电脑呢?
后来,你要换公司了,出去面试,发现很多公司都有要求要会使用那个新电脑,这个时候你后悔了,早知道去学一下就好了!
发这么多没什么别的意思,只是想说:多学点好的新知识总没错。
B. kotlin开发安卓必备
Kotlin使用了很多函数式编程的概念,比如用到了lambda表达式来更方便地解决问题。
Kotlin Android Extensions:再也不用编写烦人的findViewById()了,如果你集成了ButterKnife,是时候删除对它的依赖了,
Kotlin支持了对于View以id形式访问。
不用写分号,就像你看到的上述代码一样,对于很多写过脚本语言的童鞋来说,不要写分号这一点真是节省了很多时间,对于一
天写几百行几千行甚至上万行代码的童鞋们来说,相当于省了多少个分号.
到这里有的同学想要说了,你说的这些好处确实不错,但是我之前的项目全是用java语言来写的,难不成让我推倒重来过?别急,最后我要说的一个最大的优势就是
与Java语言可混合编程,也就是说我们可以继续使用原来所有用Java写的代码和库,因为两个语言之间高度互操作,想尝试的童
鞋们建议可以从新的小功能小模块入手,对这些模块使用Kotlin代码进行编写,原有的稳定模块之后再逐步重构。
对初学者友好,kotlin对java语言转用kotlin提供了很多便利,对于初学者来说免去很多不必要的烦恼。最贴心的是Kotlin插件
支持一键由Java转Kotlin,为你之后想要重构提供了很大的便利性。
C. kotlin和java开发android哪个好
我觉得还是选java开发比较好,毕竟java开发Android比较多累积,许多问题都有解决方案,kotlin可能还没发展开来。
D. 如何使用kotlin编写android
在Android
Studio中打开Settings,选择Plugins选项,点击Browse
Repositories,在打开的新窗口中搜索Kotlin,如下图所示。
选择Kotlin与
Kotlin
Extenslons
For
Android(obsolete)两个插件分别进行下载安装。当插件安装完毕后,重启Android
Studio即可。
在Android
Studio中使用Kotlin插件
打开Android
Studio新建一个项目,和往常一样建立一个项目就可以了,项目建立好以后,我们会在右键菜单New下看到多出来Kotlin
File/Class和Kotlin
Activity两个选项。
-
Kotlin
File/Class:一个普通的Kotlin类,类似普通的Java类
-
Kotlin
Actiivty:一个Activity类
E. 如何用eclipse+kotlin开发安卓
如何看待Android新的编译工具链Jack??之前的JRebel For Android搞得如火如荼,Google弄出个Instant Run;Kotlin刚发布1.0 release版本,Google说它未来用Jack。。
F. 如何看待Kotlin成为Android官方支持开发语言
Kotlin早已是Android开发中的热门话题了,github上越来越多的项目是用Kotlin开发。但是这门语言一直处于很尴尬的境地。
一方面自己不遗余力的挖掘自己在Android开发方面的作用。
一方面却不是官方支持的语言,导致很多人实际持观望态度。
Kotlin比Java语言新,但其实这门语言早在2015年就有人开始推荐使用了,目前我发现的最早推广Kotlin的是Antonio Leiva。不管有没有谷歌的推荐Kotlin都将成为一门流行的语言。谷歌只不过顺势而为,推了一把,然后事情就这样一发不可收拾了。
G. 为什么我还不想使用 kotlin 来开发 android
我觉得它之所以适合Android开发,主要是因为以下的特点:
2.1 简洁、优雅
写了很多年的Java之后,再写Kotlin,真是觉得如沐春风。
除了不用写分号以及天然支持Lambda表达式之外,它的语法本身就比Java简洁许多。
举几个小例子,比如,类型推导:
val a : Int = 1 // 正常的声明、赋值
val b = 2 // 类型推导,可以省略Int声明
/* 定义函数:自动推导函数的返回值类型 */
fun sum(a: Int, b: Int) = a + b
字符串模板:
val name = "Barry"
val age = 15
print("My name is ${name}, I am ${age} ") // 会打印出: My name is Barry, I am 15
下面这个例子,可以对比体会一下他们的不同—— 遍历一个列表,打印其中的奇数。
如果用java写:
List list = Arrays.asList("H",1,3,10,5,9,20,199);
for(Object number : list){
if(!(number instanceof Integer)) {
continue;
}
if((Integer)number % 2 == 0){
System.out.println((Integer)number);
}
}
H. Kotlin作为Android开发语言相比传统Java有什么优势
从网上大概看了一下,主要是代码量可以减少很多,重要的是更便捷,更加函数化:
Anko 是Kotlin项目的一部分,旨在更快更轻松的开发安卓应用。是一个用Kotlin编写的库,也是专门用来进行安卓开发的DSL(领域特定语言)。 使用该库的一个显着的优势就是大幅的简化了界面的编写。
verticalLayout {
val name = editText()
button("Say Hello") {
onClick { toast("Hello, ${name.text}!") }
}
}
以上的代码对应的界面如下
helloworld
Anko还支持很多其他的特性,比如界面动画,与数据库的交互,实现同步操作,Service,Intent等等。都实现了用更少的代码实现同样的逻辑。
I. 如何使用Kotlin进行Android开发
使用Kotlin进行Android开发的步骤:
1、安装Android Studio Kotlin插件;
2、配置App的build.gradle文件
apply plugin: 'kotlin-android'
dependencies { compile fileTree(dir: 'libs', include: ['*.jar'] compile 'com.android.support:appcompat-v7:23.1.0' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"}buildscript { ext.kotlin_version = '1.0.0' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }}
3、创建Kotlin文件作为Activity,或者直接将Java类转换为Kotlin类。
Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中。
J. 应该使用Kotlin进行Android开发吗
Kotlin的优势
因此,您可能需要考虑切换到设计为在JVM上运行的许多现代编程语言之一。尽管编译为Java字节码的语言不乏,但有一些因素使Kotlin脱颖而出:
与Java的互换性
Kotlin作为Java的潜在替代品的最大优势之一是Java和Kotlin之间的互操作性水平 - 您甚至可以在同一个项目中并行存在Java和Kotlin代码,并且所有内容仍将完美编译。下面,您可以看到由Java Activity和Kotlin Activity组成的项目示例。
事实上,一旦你的混合的Kotlin和Java项目被编译,用户将无法知道您的项目的哪些部分是用Java编写的,哪些部分是用Kotlin编写的。
由于Kotlin和Java类可以并行存在于同一个项目中,所以您可以开始使用Kotlin,而无需像Kotlin一样将整个项目转换为Kotlin,或者专门开始一个新项目,以便您可以在Kotlin尝试您的手。
由于这种互操作性水平,如果您有一个您已经开始工作的项目,您可以在该项目的一小部分中试用Kotlin,而不会影响其余的代码库。而且,如果您确定要继续使用Kotlin,则可以将项目现有的Java代码一次迁移到Kotlin一个文件,也可以将项目的旧Java代码保持原样,并且只能使用Kotlin来实现新的类和功能。
由于Kotlin可以与Java完全互操作,您还可以使用Kotlin项目中的大多数Java库和框架,甚至依赖于注释处理的高级框架。
简单学习曲线
Kotlin旨在加强Java,而不是完全重写,所以您在Java职业生涯中获得和磨练的许多技能仍然适用于您的Kotlin项目。
Kotlin也被设计为Java开发人员有一个温和的学习曲线。 Java开发人员应该发现,Kotlin的大部分语法都很熟悉;例如,用于在Kotlin中创建一个新类的代码与Java非常相似:
1
class
MainActivity : AppCompatActivity() {
Kotlin也被设计为直观易读,所以即使你遇到一些截然不同的代码,你仍然可以得到这个代码的作用。
结合最好的功能和程序编程
目前有一些广泛使用的编程范例,但是当涉及到“哪种方法是最好的”的时候,没有简单的答案。每个编程范例都有自己的优点和缺点,因此尽管功能编程有优势的场景不乏,但程序方法更有效的问题也很多。
那么为什么要在功能和程序之间选择呢?像许多现代编程语言一样,Kotlin旨在通过结合程序和功能编程的概念和元素,为您带来最好的两个世界。
一流的Android Studio支持
Kotlin是由JetBrains开发的,该公司是Android Studio所基于的IntelliJ-IDE的公司。那么,Android Studio对Kotlin有很好的支持并不奇怪。一旦您安装了Kotlin插件,Android Studio就可以在您的项目中配置Kotlin,就像打开几个菜单一样简单。
一旦您为Android Studio设置了Kotlin插件,您的IDE将无需理解,编译和运行Kotlin代码。 Android Studio还为Kotlin提供调试,自动完成,代码导航,单元测试和完全重构支持。
一旦您的Android Studio项目配置为支持Kotlin,您甚至可以将整个Java源文件转换为Kotlin文件,只需点击几下鼠标。
更简洁的代码
如果比较产生相同结果的Java类和Kotlin类,则写入Kotlin的类通常比使用Java编写的一样简洁和紧凑。 而且每个开发者都知道,代码减少意味着更少的错误!
有什么收获?
没有编程语言是完美的,所以虽然Kotlin有很多提供Android开发人员,但您需要注意一些缺点:
额外的运行时大小
Kotlin标准库和运行时将增加您的.apk的大小。虽然这只相当于大约800KB,如果您的应用程序已经在很大的一边,那么额外的800KB可能会提示它在边缘,并让用户在下载你的应用程序之前思考两次。
代码的初始可读性
虽然Kotlin的简洁语法是语言最大的优点之一,但是最初可能会发现一些Kotlin很难解读,因为在这么少的代码中有很多事情要做。 Java可能更冗长,但是上面的一切都是明确的,这意味着不熟悉的Java代码比不熟悉的Kotlin更容易破译。
另外,如果使用不当,Kotlin的操作员重载会导致难以阅读的代码。
缺乏官方支持
Kotlin可能在Android Studio中有很好的支持,但值得一提的是,Kotlin没有得到Google的正式认可。
此外,与纯Java项目相比,当您使用Kotlin时,Android Studio的自动完成和编译往往运行速度稍慢。
更小的社区和更少的可用帮助
由于Kotlin是一种相对较新的语言,所以Kotlin社区仍然相对较小,特别是与围绕更为成熟的Java语言的社区相比。如果您切换到Kotlin,那么您可能无法访问相同数量的教程,博客文章和用户文档,并且可能会在论坛和堆栈溢出等场合遇到较少的社区支持。在撰写本文时,在Stack Overflow上搜索Kotlin只返回标签为Kotlin的4,600个帖子,而包含Java标签的高达1,000,000个帖子。