Kotlin编程开发Android运用程序的相关介绍

  • Kotlin编程之AndroidStudio(包括3.0与2.x版本)配置与使用
  • Kotlin编程开发Android运用程序(Volley+Gson依赖库)
  • Kotlin编程之Kotlin Android Extensions(扩展插件)
  • Kotlin编程之Glide v4 Generated API(Unresolved reference GlideApp)
  • Kotlin Android Extensions+Android MVP项目(RxJava+Rerotfit+OkHttp+Glide)
  • Anko Layout+MVP(Glide,Retrofit,OkHttp,RxJava)开发Android运用程序

Android Studio 3.0以下版本配置


这使用的Android Studio 2.3版本,因此,需要添加Kotlin插件。

在Android Studio中添加Kotlin语言依赖包

kotlin 标准库依赖:File–> Setting–>Plugins–>搜索Kotlin–>安装,如下所示:

安装完后,重启Android Studiio。

原本的AndroidStudio 存Java语法项目转成支持Kotlin语法的项目

以下几步操作,AndroiStudio自动下载进行配置,以免手动配置出错。

1. 将Java文件转换成kotlin文件:

打开Java文件,然后点击Code–>Convert Java File to Kotlin

2. 添加kotlin的配置:configue–>android Gralde:

3. 选中添加的配置,这里选择当前包含Kotlin的项目中添加插件

4. 配置好后,在Project的Gradle中添加sync now,AndroidStudio将会自动下载配置

5. 配置好的Projcet的Gralde如下

6. 配置好的module的Gradle如下

解读MainActivity中,Java转成Kotlin后的代码

/** *  一个类继承父类和实现接口的方式; class 类名 :超类名(),接口名 */class MainActivity : AppCompatActivity() {    /**     * override用于覆写继承父类或者实现接口中方法。     *     * fun 用于标识方法     *     * 参数形式: 参数名: 类型     *     *  ? 是用于指定可以为空对象     *     */    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)    }}

运行效果如下

Android Studio 3.0创建Kotlin项目


Android Studio 3.0及其以版本上是支持Kotlin开发的。

1. 下载和安装Android Studio 3.0

Android Studio 3.0下载: 进入下载页面

Android Studio预先版本是可以与电脑现有安装的AndroidStudio版本共存 , 详情请看多个AndroidStudio共存安装教程.

2. 使用AndroidStudio创建Kotlin的项目

在AndroidStudio 中 ,在Welcom toAndroid Studio页面中点击 Start new Android Studio project或者在原本工作区间中点击File–>New –>New Projcet 。接下来,在Creat New Projcet中,勾选上include Kotlin Support,最后点击Next一路走下去。

最后Kotlin文件和Java文件存放路径相似,存放在src/main/java目录下。

3. 在项目中添加Kotlin:

在File–>New –>在菜单中进行选择文件类型,如下如图所示:

如上图所示向导进行操作后,在New Android Activity页面中选择Kotlin作为开发语言,然后一路next。

Android Studio是很强大的,还提供其他方式创建Kotlin文件

点击Flie–>New –>Kotlin File/Class 创建一个基本文件。在New Kotlin File/Class 弹窗中,输入文件名,可以从多中Kind选择一种类型。不必要担心创建错文件类型,在编写代码中声明类型时候,文件会自动切换到声明所对应的类型。

修改Kotlin所存放的路径

默认情况下,Kotlin文件存放在src/main/java/,与java在同一个文件夹下。若是需要隔开java文件和Kotlin文件,指定一个专门存放Kotlin文件的文件夹。例如,在src/main路径下创建一个kotlin目录,然后需要在Gralde指定sourceSets配置:

android {   sourceSets {       main.java.srcDirs += 'src/main/kotlin'   }}

3. 转换Java代码到Kotlin代码

在项目中,打开一个java文件,点击最上面窗口中Code–>Convert Java File to Kotlin File

一种方式是,在Kotlin文件中拷贝Java代码,然后出现提示,将convert the code toKotlin,勾选中选择下次不提示该弹窗,这样也实现Java代码转成Kotlin。

4. 在Kotlin语言中使用Android API

Kotlin与Java语言是互通的,交互使用。因此,Kotlin调用Android API与Java调用方式类似。

这里列举几个案例,进行比对(来源官方)

编写Activity:

  • Java:
public class MyActivity extends AppCompatActivity {  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity);  }}
  • Kotlin:
class MyActivity : AppCompatActivity() {  override fun onCreate(savedInstanceState: Bundle?) {    super.onCreate(savedInstanceState)    setContentView(R.layout.activity)  }}

为View设置点击事件

  • Java:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);fab.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {    ...  }});
  • Kotlin:
val fab = findViewById(R.id.fab) as FloatingActionButtonfab.setOnClickListener {  ...}

创建item点击事件

  • Java:
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener    = new BottomNavigationView.OnNavigationItemSelectedListener() {  @Override  public boolean onNavigationItemSelected(@NonNull MenuItem item) {    switch (item.getItemId()) {      case R.id.navigation_home:        mTextMessage.setText(R.string.title_home);        return true;      case R.id.navigation_dashboard:        mTextMessage.setText(R.string.title_dashboard);        return true;    }    return false;  }};
  • Kotlin:
private val mOnNavigationItemSelectedListener    = BottomNavigationView.OnNavigationItemSelectedListener { item ->  when (item.itemId) {    R.id.navigation_home -> {      mTextMessage.setText(R.string.title_home)      return@OnNavigationItemSelectedListener true    }    R.id.navigation_dashboard -> {      mTextMessage.setText(R.string.title_dashboard)      return@OnNavigationItemSelectedListener true    } } false}

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. 读取android手机流量信息
  4. Android(安卓)Activity界面切换添加动画特效
  5. android 使用html5作布局文件: webview跟javascript交互
  6. Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner Proces
  7. android“设置”里的版本号
  8. Android开发环境搭建
  9. Android(安卓)Resource介绍和使用

随机推荐

  1. fragment android
  2. Android(安卓)DeviceUtils-设备相关工具
  3. js 判断手机操作系统(ios或Android)
  4. Qt5.9.4搭建Android开发环境
  5. android 报错 Proguard returned with er
  6. Top Android(安卓)App使用的组件 3
  7. Android(安卓)Activity界面切换添加动画
  8. Android(Java):音量调节
  9. android 状态选择器
  10. Android自动化测试MonkeyRunner