让你的代码量减少3倍!使用kotlin开发Android(一)
2017-05-19 17:09
429 查看
让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程
本文同步自博主的私人博客:wing的地方酒馆写在前面
使用kotlin开发Android已经两周多了。得到的好处太多,敲代码简直是爽的飞起。kotlin简单,易用,代码量少。这么爽的东西,不敢私藏,所以写出来与大家分享。可能标题说减少3倍你不信,但事实上并不夸张。通过学习本系列文章,你会发现,代码。真的少了很多。
本系列文章将会使用kotlin从无到有撸一个android小应用程序(不是微信小程序= =!),而并非传统的学习语言方式(如:《21天精通kotlin》、《kotlin从入门到精通》)。在创作的过程中学习语法,我认为单纯的学语法没什么意义,学了也会忘。因为本身不是为了学而学,而是为了用而学。用得多了,也就记住了。
至于Kotlin是什么,简单的说就是跑在jvm上的新语言,他的特点就是短小 快,至于有什么好处,那就说不完啊,挑特点来说。
无缝对接java,可以java代码和kotlin代码互相调用
一键java转kotlin,如果你有遗留的java代码,可以一键转换
函数扩展功能,再也不知道啥叫继承
创建第一个kotlin应用!
首先打开你的AS,像往常一样,创建一个Android应用。然后在Setting里找到Plugin选项,搜索kotlin插件。从官方仓库下载安卓即可。
在app的gradle下加入如下代码
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'1
2
3
4
1
2
3
4
[/code]
在project的gradle下加入如下代码(注意你自己配置的时候,改成最新版本)
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.4"1
2
1
2
[/code]
接下来切换到MainActivity 同时按下cmd + alt + shift + k (mac下),即可把java代码转换成kotlin代码。
分析转换的代码
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
[/code]
转换后
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } }1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
[/code]
将两断代码做一个比较,可以看到的语法变化有:
extends 变成了 :
函数定义关键字变为了fun
分号不见了
变量名称写在了类型前面
这些是语法的变化,到后面还会有一些,用得多了,也就记住了。后面再遇到语法变化还会继续总结。
将Hello World编为Hello Kotlin
首先给xml文件里的textView加一个id<TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" />1
2
3
4
5
6
7
1
2
3
4
5
6
7
[/code]
在以往的Java代码中,想要改变textview的文本,需要先findviewbyid()之后再setText(),控件多了就很臃肿。是时候试试kotlin了!
下面用kotlin实现同样的功能,代码如下:
textView.text = "hello kotlin"1
2
3
1
2
3
[/code]
纳尼????就一句话??? 卧槽??? 什么鬼????
额。。你冷静一下,我知道你内心很卧槽。但确实是这样,如你看到的,findviewbyid不见了,取而代之的是直接写id。kotlin可以直接根据id找到控件,而避免findviewbyid,这时候你需要注意一下import头,导入这个东西才可以
import kotlinx.android.synthetic.main.activity_main.*1
2
3
1
2
3
[/code]
另外,setText也不见了。这是kotlin的一个特性,所有getter和setter可以省略,直接变为 .text
感觉如何?代码量是不是减少了许多,实际上这只是凤毛麟角而已啦。
本文这就结束了(嫌文字太短?不要急啦,你先去动手创建个工程咯。。系列文章,既然挖了坑,就不会拖更的(吧..))
本项目使用的代码地址
如果你是Android开发者,那么你还可以来 wing的酒馆: 425983695 来分享你的开发经验哦
相关文章推荐
- 让你的代码量减少3倍!使用kotlin开发Android(一)
- 让你的代码量减少3倍!使用kotlin开发Android(四) kotlin bean背后的秘密
- 让你的代码量减少3倍!使用kotlin开发Android(四) kotlin bean背后的秘密
- 让你的代码量减少3倍!使用kotlin开发Android(二) --秘笈!扩展函数
- 让你的代码量减少3倍!使用kotlin开发Android(一)
- 让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程
- 让你的代码量减少3倍!使用kotlin开发Android(三) 缩短五倍的Java Bean
- 让你的代码量减少3倍!使用kotlin开发Android(三) 缩短五倍的Java Bean
- 让你的代码量减少3倍!使用kotlin开发Android(四) kotlin bean背后的秘密
- 让你的代码量减少3倍!使用kotlin开发Android(三) 缩短五倍的Java Bean
- 让你的代码量减少3倍!使用kotlin开发Android(二) --秘笈!扩展函数
- 让你的代码量减少3倍!使用kotlin开发Android
- 让你的代码减少三倍!使用kotlin开发Android(五) 监听器
- 让你的代码减少三倍!使用kotlin开发Android(五) 监听器
- 让你的代码减少三倍!使用kotlin开发Android(五) 监听器
- 使用Kotlin开发Android
- 使用Kotlin开发Android应用(II):创建新工程
- 使用Kotlin开发Android应用(I):简介
- 使用Kotlin开发Android应用(I):简介
- android 开发,用一行代码操作只使用一次的 view