用Kotlin开发Android应用(II):创建新项目
这是关于Kotlin的第二篇。各位高手发现问题,请继续“拍砖”。
原文标题:Kotlin for Android(II): Create a new project
原文链接:http://antonioleiva.com/kotlin-android-create-project/
原文作者:Antonio Leiva(http://antonioleiva.com/about/)
原文发布:2015-03-23
在对Kotlin是什么和它能够为我们做什么有了清晰的概念后,该是配置Android Studio了,让它来帮助我们用Kotlin开发Android APP。开始只需要做几个步骤,而后续对每个新项目都需要进行Gradle的配置。
在这组文章中,我将创建简化版本的Bandhook,Bandhook是我之前开发的,它主要是链接音乐Rest API,而后返回一组乐队的信息。去Github的Bandhook Kotlin项目下可以查看到相关代码。
创建新项目并下载Kotlin插件
按照创建普通项目那样,在Android Studio中,创建仅有一个Activity的基本Android项目。
完成后,要做的第一件事就是去下载Kotlin插件。在Android Studio的Preferences中找Plugins项。在那里搜索Kotlin插件。然后安装Kotlin插件并重启IDE。
添加Kotlin插件依赖关系到应用的build.gradle
根build.gradle需要新的依赖关系,这是在我们的主模块使用Kotlin的要求:
- buildscript {
- repositories {
- jcenter()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:1.1.3'
- classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.11.91'
- }
- }
配置build.gradle模块
首先,应用Kotlin插件:
- apply plugin: 'com.android.application'
- apply plugin: 'kotlin-android'
然后,添加Kotlin库到你的依赖关系中:
- dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
- compile 'org.jetbrains.kotlin:kotlin-stdlib:0.11.91'
- }
最后,你需要添加Kotlin文件夹,它是在下一步创建的,用来存放源代码的文件夹:
- android {
- compileSdkVersion 22
- buildToolsVersion "22.0.0"
- ...
- sourceSets {
- main.java.srcDirs += 'src/main/kotlin'
- }
- }
或者,你可以跳过这一步,使用Android Studio功能做下一步:
我更喜欢手动做这步,管理我的Gradle文件组织,但是,第二个选择更容易一些。
创建Kotlin文件夹
你可以很容易的直观地由“Android”变换到“Project(项目)”。进入“app->src->main”,创建名为“kotlin”的文件夹:
转换Java Activity到Kotlin文件
Kotlin插件可以把Java Activity转换到Kotlin类。在“Code”菜单中,选择“Convert Java File to Kotlin File”,我们可以非常容易地将我们的Activity转换到Kotlin类:
IDE建议将新文件移至到Kotlin文件中。点击“Move File”(如果你们看见这个选项可以手动移动文件)。
你会得到转换为Kotlin的非常相似代码。我建议你去阅读这些代码,直至你理解它们的区别:
- public class MainActivity : ActionBarActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
- }
- override fun onCreateOptionsMenu(menu: Menu): Boolean {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_main, menu)
- return true
- }
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- val id = item.getItemId()
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true
- }
- return super.onOptionsItemSelected(item)
- }
- }
主要差异
只要阅读前面的代码,我们就可以看到一些明显的差别。更多的不同会在后续的文章中读到:
- 使用冒号替代“extends”关键字
- 显式地使用“override”:在Java中,我们可以用注释使我们的代码更清晰,但不是必须的。而Kotlin强制我们这么做。
- 对于函数用“fun”:Kotlin是面向对象的函数式开发语言,它非常类似其他开发语言,如Scala。Java的方法是以函数表示的。
- 函数参数用不同的命名方法:类型和名称以另一种方式编写,用冒号分割。
- 选项用分号:每行结束不需要分号。如果要用也可以。但是,不用分号可以节省我们的时间,而且代码更清晰。
- 其它次要细节:在介绍一文中,我已经谈过‘?’符号。它表示参数可以是空(null)。对于空的处理不同于在Java的用法。
总结
虽然我们可以认为使用一门新的编程语言会是很困难,但是Kotlin是有JetBrains团队创建的最简单的和可互操作的编程语言,并覆盖Java不足的需要。由于Android Studio也是基于JetBrains的产品,这将很容易地集成到这个IDE中,并开始使用它。
在下一篇文章中将介绍一些技巧和窍门,让我们在用Kotlin开发Android APP时更加轻松。
前一篇:http://www.cnblogs.com/figozhg/p/4983919.html
用Kotlin开发Android应用(II):创建新项目的更多相关文章
- 使用Kotlin开发Android应用(II):创建新工程
在基本了解什么是Kotlin以及Kotlin可以做什么之后,接下来就到了配置Android Studio并使用Kotlin开发Android apps的时候了.首次配置Android Studio需要 ...
- Android Studio开发第二篇创建新项目
创建新项目很简单,File-New-New Project,这个没什么好说的跟Eclipse都差不都. 第二步SDK选择,有手机平板还有Wear,TV,汽车Auto,谷歌眼镜等几个种平台,这里就先选择 ...
- 用Kotlin开发Android应用(I):介绍
关于Kotlin,网上已有一些介绍的文章,包括Antonio Leiva的这组blog翻译稿.不过,我还是想跟进它们.翻译它们,以锻炼自己的英文翻译.各位高手发现问题,请及时“拍砖”. 原文题目:Ko ...
- 使用Kotlin开发Android应用(I):简单介绍
使用Kotlin开发Android应用(I):简单介绍 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 Kotlin是一门基于JVM的编程语言.它正成长为Androi ...
- 让你的代码量减少3倍!使用kotlin开发Android(一)
让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客:wing的地方酒馆 写在前面 使用kotlin开发android已经两周多了.得到的好处 ...
- android studio: 一个Android studio 3.3.2 无法创建新项目的问题
记录一个AS无法创建新项目的问题. 今天想写一个测试Demo,点击上面的“Start a new Android Studio Project” ,填写完包名和项目路径后,点“Finish”, AS无 ...
- 让你的代码量减少3倍!使用kotlin开发Android(二) --秘笈!扩展函数
本文承接上一篇文章:让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客wing的地方酒馆 上一节说到,kotlin可以省去getter,se ...
- 用Kotlin开发Android的Hello Kotlin!!
1 创建新项目 android studio 新建一个项目 只有一个空MainActivity 2 安装kotlin file-seeting-plugins-install jetbrains pl ...
- 使用Kotlin开发Android应用 - 环境搭建 (1)
一. 在Android Studio上安装Kotlin插件 按快捷键Command+, -> 在Preferences界面找到Plugins -> 点击Browse repositorie ...
随机推荐
- 理解DOM事件流的三个阶段
本文主要解决两个问题: 1.什么是事件流 2.DOM事件流的三个阶段 事件流之事件冒泡与事件捕获 在浏览器发展的过程中,开发团队遇到了一个问题.那就是页面中的哪一部分拥有特定的事件? 可以想象画在一张 ...
- 【原创】开源Math.NET基础数学类库使用(12)C#随机数扩展方法
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...
- 安装ClouderaManager以及使用ClouderaManager安装分布式集群的若干细节
目录 前言 整体介绍 分步安装介绍 总结 一.前言 周末干了近四十个小时中间只休息了五个小时终于成功安装了ClouderaManager以及分布式集群,其中各种辛酸无以言表,唯有泪两行. ...
- 相克军_Oracle体系_随堂笔记005-Database buffer cache
本章主要阐述SGA中的Database buffer cache. Buffer cache { 1.pin (读写瞬间的状态) 2.clean 3.dirty 4.unused } --Databa ...
- chrome扩展程序开发
首先,明确两个概念的区别:chrome扩展程序和Web Apps.具体参考:http://www.chromi.org/archives/10106 本文只讨论chrome扩展程序. 最好的开发教程莫 ...
- 原创:从零开始,微信小程序新手入门宝典《一》
为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习:一:微信小程序的特点张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使用的 ...
- PHP之时间处理
面试的时候有一道题是这样的:封装一个函数实现,给你一个时间,输出这个时间的对应的这一天是星期几,其实无非就是一些时间格式的处理: date_default_timezone_set('PRC'); / ...
- Revit读取当前rvt的所有视图与其名称
1)读取所有视图: public static ViewSet GetAllViews(Document doc) { ViewSet views = new ViewSet(); FilteredE ...
- MVC 自定义Htmlhelper扩展
在MVC中,我们不仅可以使用它原来的方法,我们还可以自定义,这不不仅加大了我们开发的效率,同时使界面更简洁. 具体什么是扩展方法,你可以这样理解,必须是静态且在形参中第一个参数是以this开头,大概先 ...
- windows phone 水印TextBox
原文来自:wp教程网 原理:在失去焦点和获取焦点的时候,判断Text值是否为空或者是否与水印值相同,然后修改TextBox中的Text和Foreground. 代码如下: /* =========== ...