Android Studioで始めるKotlin入門

連載Android Studioで始めるKotlin入門

Kotlinアプリケーションの種類

 状態:終了  閲覧数:611  投稿日:2018-03-23  更新日:2018-04-17

2種類


A.「コンソールアプリケーション」
・「Android Studio」にて「コンパイル&実行」することは出来ない

B.「Android Studio」で作成した「Androidアプリケーション」

「コンソールアプリケーション」のコンパイル


Command Line Compiler
GitHubのKotlinコンパイラアーカイブをダウンロードし、任意のディレクトリに展開することで、Kotlinコンパイラおよび実行コマンドを使用できる


手動インストール
スタンドアロンコンパイラをディレクトリに解凍し、必要に応じてbinディレクトリをシステムパスに追加します。 binディレクトリには、Windows、OS X、Linux上でKotlinをコンパイルして実行するのに必要なスクリプトが含まれています。


Microsoft Windows [Version 10.0.16299.309]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\□□>cd /d L:

L:\>cd Android

L:\Android>dir
ドライブ L のボリューム ラベルは HD-LBU2 です
ボリューム シリアル番号は D408-46D6 です

L:\Android のディレクトリ

2018/03/24  12:54    <DIR>          .
2018/03/24  12:54    <DIR>          ..
2012/07/30  01:53    <DIR>          3_Pr
2018/03/24  12:28    <DIR>          Android Studioで始めるKotlin入門
2018/03/19  19:38    <DIR>          AndroidStudioProject
2018/03/24  12:22               696 FizzBuzz.kt
2018/03/24  12:35                73 helloworld.kt
2018/03/24  12:54    <DIR>          kotlinc
2018/03/22  14:53    <DIR>          kotlinc-996
2018/03/24  12:39    <DIR>          kotlinc-998
2018/03/24  12:12    <DIR>          kotlinc-999
2018/02/27  11:02    <DIR>          kotlin_projects
2018/02/27  11:13    <DIR>          Sdk
2014/12/27  07:54    <DIR>          workspace
              2 個のファイル                 769 バイト
             12 個のディレクトリ  103,899,385,856 バイトの空き領域

L:\Android>kotlinc FizzBuzz.kt -include-runtime -d FizzBuzz.jar
'"java"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

L:\Android>kotlinc FizzBuzz.kt
'"java"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

L:\Android>kotlinc FizzBuzz.kt
'"java"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

L:\Android>kotlinc FizzBuzz.kt -include-runtime -d FizzBuzz.jar
'"java"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

L:\Android>


kotlin-compiler-1.2.31.zip


Microsoft Windows [Version 10.0.16299.309]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\□□>cd../

C:\Users>cd ../

C:\>cd Android

C:\Android>cd../kotlinc FizzBuzz.kt -include-runtime -d FizzBuzz.jar
指定されたパスが見つかりません。

C:\Android>kotlinc FizzBuzz.kt
'"java"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

C:\Android>dir
ドライブ C のボリューム ラベルは Acer です
ボリューム シリアル番号は 76F9-1B13 です

C:\Android のディレクトリ

2018/03/26  13:20    <DIR>          .
2018/03/26  13:20    <DIR>          ..
2018/03/26  13:20               275 FizzBuzz.kt
2018/03/26  13:20    <DIR>          kotlinc
              1 個のファイル                 275 バイト
              3 個のディレクトリ  426,096,156,672 バイトの空き領域

C:\Android>kotlinc FizzBuzz.kt
'"java"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

C:\Android>kotlinc FizzBuzz.kt -include-runtime -d FizzBuzz.jar
'"java"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

C:\Android>



Android Studio のkotlinプロジェクトで、kotlin動作確認目的のHelloWorldを表示
Windowsでkotlin-compiler使用するにはJAVA設定が必要?

Kotlinサンプルの実行

 閲覧数:300 投稿日:2018-03-27 更新日:2018-04-15

特徴


セミコロン
・先頭のpackage、import文は、末尾にセミコロンがない

継承
・継承にextendsキーワードを使うJavaと異なり、コロンを使用して継承元クラスであるAppCompatActivityを指定

MainActivity.kt
package tokyo.w3c.android0.kotlin_20180327

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_main)
   }
}




Unresolved reference: button
▼activity_main.xml
    <Button
       android:id="@+id/button"








Kotlinでイベントハンドラ

 閲覧数:310 投稿日:2018-04-15 更新日:2018-04-16
書き換え後、実行してボタンをクリックすると、TextViewが書き換わる

▼MainActivity.kt
package tokyo.w3c.android0.kotlin_20180327

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import android.widget.Toast


class MainActivity : AppCompatActivity() {

   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_main)

       //表示用TextViewインスタンスを取得
       val textView = findViewById<TextView>(R.id.myLabel) as TextView

       //ボタンインスタンスを取得
       val button = findViewById<Button>(R.id.button)

       //ボタンのイベントハンドラを設定
       button.setOnClickListener { v ->
           textView.text = "Clicked !"
       }
   }
}


▼L:\Android\AndroidStudioProject\kotlin_20180327\app\src\main\res\layout\activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context="tokyo.w3c.android0.kotlin_20180327.MainActivity">

   <TextView
       android:id="@+id/myLabel"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Hello World!"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintLeft_toLeftOf="parent"
       app:layout_constraintRight_toRightOf="parent"
       app:layout_constraintTop_toTopOf="parent" />

   <Button
       android:id="@+id/button"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Click me!"
       tools:layout_editor_absoluteX="16dp"
       tools:layout_editor_absoluteY="16dp" />

</android.support.constraint.ConstraintLayout>








週間人気ページランキング / 9-15 → 9-21
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/9/22 1:02 更新