/var/log/messages

Oct 9, 2015 - 2 minute read - Comments - android

Kotlin な環境作るなど

以下を参考にしつつすすめています。

Install Jetbrains Plugin はボタンでした。M14 になるのかどうか。

ハロワ

以下見つつすすめてみます。

とりあえず、ふつーにハロワな project 作って Kotlin に convert する模様。メニューバーの Code -> Convert Java File to Kotlin File で云々、で良いのかどうか。

次に、メニューバーの Tools -> Kotlin -> Configure Kotlin in Project なのかどうか。これで build.gradle が Kotlin 対応になる模様。sync してどうなるか。

とりあえず

実行はできたので以下を確認しつつ控えを。

ええと、以下を追加したのですが翻訳エラーになっている模様。

import kotlinx.android.synthetic.activity_main.*

ええと、build.gradle の buildscript の中の dependencies に

classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

入れても駄目で、plugin 見てみるに Kotlin Extensions For Android というソレを発見して入れてみたところ、問題解決できたようです。いやはや。

以下なカンジで View が参照できる模様。

        main_text.setText("Hello World")

Button 付けてみた

レイアウトに main_button という id な Button を追加。以下なソレは動きました。

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstaceState)
        setContentView(R.layout.activity_main)
        main_button.setOnClickListener(object: View.OnClickListener {
            public override fun onClick(view: View) {
                Toast.makeText(view.getContext(), "button clicked", Toast.LENGTH_LONG).show()
            }
        })
    }       

以下なリポジトリ確認してみます。

ソースは読めるんですが、build ができない。Java のバージョンが云々と言われてるのですが、さっきのハロワは動いたしなぁ。

以下で解決でした

とは言えその後も Gradle あたりの問題がいくつかあったりなんかして。

  • com.android.support:appcompat-v7:22.2.1 な記述に修正
  • buildToolsVersion の修正
  • compileSdkVersion、targetSdkVersion の修正

ソース読み

MainActivity.kt はまだ Java 風味です。

            getSupportFragmentManager().beginTransaction().add(R.id.container,
                    RssFragment.newInstance("http://rss.asahi.com/rss/asahi/science.rdf") as Fragment)
                    .commit()

as Fragment は cast ってことにしておこう。

このリポジトリのソース確認はエントリを改めたいと思います。良さげなもくもくネタですし。

ソラコム試してみるか Kotlin メモ

comments powered by Disqus