不明点の洗い出し

詰まったので立ち止まって整理してみる。

何を作ろうとしているか

KotlinでTwitterクライアントを作ろうとしている. 投稿ができればいいだけ.

わかんないこと

・認証をどうするのか ・認証したアカウントを保存するのはどうするのか ・Twitter4jなどのjarは使えるのだろうか

さいごに

Javaと完全互換とか言ってた気がするし、多分Twitter4jなんかのjarは使えるのかな. kotlinも二週間くらい書いてなかったから書き方思い出すところからやらないと… デザインも特に決めてないし…. また色々解決したらきます.

kotlinでMediaPlayer

javaでいうMediaPlayerがkotlinにもないのかなと思いインターネットの大海を探してみたがそれらしいものがなかった。 もしかしてそのまま使えるんじゃないかと思い書いてみたらコンパイルが通った。

使い方

javaの書き方と同じでこんな感じ

class MainActivity : AppCompatActivty{
 // ここでcreateするとアプリ起動時に落ちる
  var a : MediaPlayer = MediaPlayer()

  override fun onCreate(savedInstanceState: Bundle?){
    ...
    // 再生する
    a.seekTo(0)
    a.start()
  }

  override fun onResume(){
    ...
    // 引数の2つ目で再生したいファイルのidを書く
    a = MediaPlayer.create(this, R.raw.id)
    ...
  }

 override fun onPause(){
    ...
    // ここで解放しないとメモリに残る
    a.release()
    ...
  }

}

Javaと同じように書くから誰も大海に残さなかったんだろうなぁと。 kotlin使いだしてから1週間くらいしか経ってないし、英語の記事読むのつらいから気づくまでに時間がかかった。

追記

javaのMediaPlayerだとwavファイルの再生がおかしくなるみたいだけど、kotlinでは問題なく使えるっぽい。(Xperia Z4で検証)

kotlinでボタン押下時の挙動を書く

kotlinでボタン押下時の挙動を書く。書き方として何パターンかある。 自分が試したのは以下の2パターン。

パターン1

setOnClickListener内に直接書く

var button : Button = R.id.id as Button 
button.setOnClickListener{ view ->
  ...
}

パターン2

onClickメソッドを使う。

   ....
    override fun onCreate(savedInstanceState: Bundle?) {
        ....
        var onBtn : Button = findViewById(R.id.id) as Button
        onBtn.setOnClickListener(this)
    }  
    override fun onClick(v: View?){
        ....
    }  

パターン2の時はView.onClickListenerをオーバーライドするのを忘れずに

あとがき

kotlin使うのが楽しくなってきた。 自分にデザインセンスがあったら何か作って公開したいなぁ…。

kotlinですごい簡単なアプリを作ろうとしたのにつまづいた

やったこと

kotlinの勉強も兼ねてボタンを押したときに表示するメッセージ変えるだけの簡単なアプリを作った。

つまづいた

 val Btn = findViewById(R.id.button) as Button
 Btn.setOnClickListener{ v ->
           .....
 }

のsetOnClickListenerの部分にunresolved reference setOnClickListenerが出た。

原因

java.awt.Button を間違えてインポートしてしまっていた。 android.widget.Buttonに変えて解決。

おわりに

まさかの単純なミス。 これに1日気づかずに悩み続けてたなんて…。

Android Studio3.0 Canary3入れた

入れる

Android Studio プレビューを入手する | Android Studio

ここでzipファイルをダウンロード

 

ダウンロードしたzipファイルを解凍して出てくるandroid-studioを好きなディレクトリに置く。

(解凍先ディレクトリ)/android-studio/bin/studio.exe でandroid studioが起動。

 

おわり

 
最後に

自分がここまでスーツが嫌いだとは思わなかった....