使用Kotlin进行Android开发
buildscript { ext.kotlin_version = '1.0.2'repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0'classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"// NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files}}
在module的build.gradle里配置:
apply plugin: 'com.android.application'apply plugin: 'kotlin-android'android { compileSdkVersion 23buildToolsVersion "23.0.2"defaultConfig { applicationId "com.example.demo_yunbu"minSdkVersion 15targetSdkVersion 23versionCode 1versionName "1.0"} buildTypes { release { minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'} } sourceSets { main.java.srcDirs += 'src/main/kotlin'}} dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.1.1'compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"}repositories { mavenCentral()}
<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/tvMessage"/>
然后在Activity代码里就可以直接使用变量tvMessage了,如果有如下提示:
import kotlinx.android.synthetic.main.activity_main.*
然后可以直接使用变量tvMessage进行操作了,非常方便,再也不用每个控件用findViewById查找一遍了。
package com.example.hellokotlin import android.content.Intentimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState) setContentView(R.layout.activity_main)tvMessage.text = "hello kotlin!";btnOpenActivity2.text = "OpenActivity2"btnOpenActivity2.setOnClickListener({ startActivity(Intent(MainActivity@this, SecondActivity::class.java)) }) }}
buildscript { repositories { jcenter() } dependencies { classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"}}
ext.anko_version = '0.8.2'
再在module的gradle里dependencies添加:
// Ankocompile "org.jetbrains.anko:anko-common:$anko_version"compile 'org.jetbrains.anko:anko-sdk15:0.8.2' // sdk19, sdk21, sdk23 are also availablecompile 'org.jetbrains.anko:anko-support-v4:0.8.2' // In case you need support-v4 bindingscompile 'org.jetbrains.anko:anko-appcompat-v7:0.8.2' // For appcompat-v7 bindings
最后Sync Now,成功后编辑SecondActivity的代码:
package com.example.hellokotlin import android.support.v7.app.AppCompatActivityimport android.os.Bundleimport org.jetbrains.anko.* class SecondActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)// setContentView(R.layout.activity_second)verticalLayout {padding = dip(30)editText {hint = "Name"textSize = 24f}editText {hint = "Password"textSize = 24f}button("Login") {textSize = 26fonClick { toast(button@this.text) } } }}}
这里注释掉了原来由setContentView来设置的xml布局,而使用了代码直接创建,使用起来简单直接了,但是缺点也很明显,不能做到界面设计阶段的实时预览效果,很难做到所见即所得,好在xml还能继续支持。
转载于:https://www.cnblogs.com/simadi/p/6698850.html
使用Kotlin进行Android开发相关推荐
- Kotlin on Android 开发环境介绍
Kotlin 被 Google 采纳为 Android 开发一级编程语言,到现在也一年多了,我们团队从去年 10 月份开始部分项目尝试用 Kotlin 开发,到现在决定推广到全部项目,因为一旦用上 K ...
- 第14章 使用Kotlin 进行 Android 开发
2019独角兽企业重金招聘Python工程师标准>>> 第14章 使用Kotlin 进行 Android 开发 根据Realm Report (2017-Q4,https://rea ...
- 新课程上线 | 学习使用 Kotlin 进行 Android 开发的最佳时机!
作者 / Android 开发技术推广工程师 Kat Kuan 如今,越来越多的人希望考虑能够支持远程办公的职业,而从事应用开发或许可以实现.对于希望获得新机遇的人而言,即使过去没有编程经验,也可以立 ...
- Java vs Kotlin,Android开发人员应该选择哪种语言?
自 Google 于 2017 年宣布 Kotlin 成为 Google IO 的 Android 开发官方语言以来,想要成为Android开发人员的程序员正陷入两难境地. 在讨论这个问题前,我首先要 ...
- 从零开始学android编程_小白也能学得会!谷歌推出免费的Kotlin和Android开发课程...
程序员书库(ID:CodingBook) 猿妹编译 链接:https://android-developers.googleblog.com/2020/07/learn-android-and-kot ...
- 【翻译】ANDROID KTX – 使用Kotlin进行Android开发
原文地址:ANDROID KTX – ANDROID DEVELOPMENT WITH KOTLIN [正在翻译中] 介绍 Android KTX is an open source library ...
- Kotlin成为Android开发首选语言——你绝对不能错过的
继Java 和 C++ 之后,Google 在 I/O 2017 上宣布 Android 加入了对 Kotlin 编程语言的支持. 将Kotlin语言作为安卓开发的一级编程语言.Kotlin由JetB ...
- Kotlin在Android开发中那些让人舒适的地方,flutter项目实战
val str = "hello" // str length : 5 print("KaTeX parse error: Expected '}', got 'EOF' ...
- 如果你现在学Android---学习使用Kotlin进行Android开发
原文地址: http://www.eoeandroid.com/thread-902176-1-1.html?_dsign=650ea146 之前写了一篇<如果你现在学Android–写给新手的 ...
- 58APP引入Kotlin进行Android开发,kotlin高阶函数斐波那契
kotlin代码可与java代码放到相同目录,但是放到一起回比较混乱,为了将kotlin与java代码隔离新建一个kotlin目录,并且sourceSets做以下修改 java.srcDirs = [ ...
最新文章
- 听说你是参加智能车比赛的?
- 北京AI产业联盟来了!百度牵头,小米美团滴滴旷视纷纷入会
- 笔记-项目合同管理-要约、承诺和要约邀请
- Python批量添加库搜索路径
- 1-1docker加速器
- kotlin 编译时常量_Kotlin程序| 编译时常量示例
- php 项目中引用对方接口_关于PHP中为什么要写接口的问题说明
- 人大提出新模型,将Two Stage的Video Paragraph Captioning变成One Stage,性能却没下降...
- 编程入门先学什么python-编程零基础应当如何开始学习 Python?
- 混淆矩阵confusion matrix
- Ubuntu下配置lazarus开发环境
- 《云计算核心技术剖析》学习笔记
- linux下安装java
- 如何调整Exadata DB节点文件系统大小
- UIM28RS-IE RS485/脉冲二合一28 闭环/开环步进一体机
- 555定时器原理及应用(报告)
- (转)Pod 2g简谈越狱的意义
- 汇率兑换Python
- 2019领克车展 Max Co币机诞生记
- 家乡菜之回锅茄子_wizard_新浪博客
热门文章
- thinkphp 每个页面自定义加载对应指定的js、css
- php 小米路由器_云水日记-捣鼓小米路由器开发版本
- 基于springboot+vue的医院预约系统(前后端分离)
- Servlet和Tomcat底层分析
- 计算机设备硬件设备,计算机硬件设备有哪些
- 下列属于usb转串口的芯片是_USB转串口常用芯片
- oracle帮助系统,Oracle1 0g扩展的帮助文件的安装
- php之通过curl模仿表单提交(get,post)抓取其他页面的内容
- 7-8 mmh学长的Excel表格 (20分)
- Centos7 安装solr及配置