Kotlin¶
デベロッパーガイド¶
Android Git pushできないとき¶
- 次の設定をつける
- または
.git/config
の[remote "origin"]
のurlを適切に書き換える
- または
1 |
|
- ブランチが
master
かmain
かにも注意する.
Android Studio Designが動かない: design editor is unavailable until after a successful project sync¶
- Android Emulatorをインストールして対応した.
- メニューの File > Go to File > Sync Project with Gradles Filesを選択すれば解決する
installed build tools revision 32.0.0 is corrupted. remove and install again using the sdk manager.
と出た- これ(の次の記述)に沿って対応
- OSに合わせて次のどちらか(の適切なバージョン)にアクセス
C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0
~/Library/Android/sdk/build-tools/31.0.0
- 上記ディレクトリにいる前提で次の処理
- OSに合わせて次のどちらか(の適切なバージョン)にアクセス
1 2 3 |
|
Android Studio M1 MacでAVDを動かす¶
- 参考
- Download optionsを選択してダウンロードリストにジャンプ
- Mac(64bit, ARM)を選ぶ
Android Studio デバイスが追加できない¶
- URL
- メニューの
tools > SDK Manager
に進む SDK Platforms
を確認し, 適切な対象をインストールする- 2022/11時点で
Wear OS
を追加したときは次の対処を踏んだ - 右下の
Show Package Details
をチェック Android 11.0
配下のWear OS 3 ARM 64 v8a System Image
を選択
- 2022/11時点で
Android: java.lang.NullPointerException: findViewById(R.id.listView1) must not be null
¶
- URL
setContentView
の前でfindById
を実行するとnull
になってKotlinだと落ちるfindById
はsetContentView
のあとで実行しよう
Androidアプリのテスト¶
Androidアプリパッケージ名の確認¶
AndroidManifest.xml
を見てみよう
Android開発: APIリファレンス¶
Android開発: id紐づけの簡略化¶
2022-06¶
- レイアウトファイルでUIを設定するだけでなく, プログラム上でUI部品に対して指示したりビューを変えられる
- プログラム上でUI部品に指示するとき
- レイアウトファイルとJavaで連携
- findViewById()メソッドの呼び出しが必要: 面倒
- kotlin
- プラグインのKotlin Android Extensionsを使えばfindViewById()メソッドの呼び出し不要
- Activity側でレイアウトファイルをインポートすればidが紐づけられる
import kotlinx.android.synthetic.main.[レイアウトファイル名].*
build.gradle
のandroid.buildFeatures
に次の項目を追加
1 2 3 4 5 6 7 8 |
|
- ソースコードは次のように書く
1 2 3 4 5 |
|
OBSOLETE¶
Module
レベルのbuild.gradle
にkotlin-android-extensions
を追加するplugins
にid 'kotlin-android-extensions'
kt
ファイルにはimport'kotlinx.android.synthetic.main.activity_main.*
追加
Android開発: realmのインストール¶
- 参考1
build.gradle(Project)
に次を追加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
build.gradle(Module)
のplugins
にid 'kotlin-kapt'
,id 'realm-android'
の順で追加
1 2 3 4 5 6 |
|
settings.gradle
のrepositoriesMode.set()
の値をRepositoriesMode.PREFER_SETTINGS
に変更
1 2 3 4 5 6 7 8 |
|
File > Project Structure
を開く
Android開発: 画面遷移・intentの処理¶
- 送信元で
intent.putExtra
する前にval intent = Intent(this, SecondActivity::class.java)
で初期化する必要がある intent.putExtra
のあとではSecondActivity
にデータが送られない- 実際に試してみよう
1 2 3 4 5 |
|
Android開発: ログを仕込む¶
1 2 3 4 5 6 |
|
Android StudioのJDK指定¶
Android Studioで突然Cannot Resolve symbolで赤線が大量に出た¶
- URL
File -> 'Invalidate Caches / Restart'
を実行
SAM変換: Single Abstract Method¶
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Testing in Jetpack Compose¶
ラムダ式の省略記法¶
- 引数が1つなら省略可能:
it
で呼び出す - メソッドの最後の引数がラムダ式なら関数のbodyを (...) の外に書ける
- 無引数ならば引数の記述を省略できる