rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

kotlin

kotlin クラス継承 継承元クラスに丸括弧を付けるのは継承元クラスのコンストラクタを呼び出すため?

2022 Oct. 23. 出典 Kotlin - コンストラクタ - 覚えたら書く コンストラクタを宣言していないクラス継承し、なおかつコンストラクタを持たないクラスの場合は、スーパークラスが引数を持たなかったとしても、スーパークラスのコンストラクタを明示的に呼び…

kotlin : 'lateinit' modifier is not allowed on properties of primitive types

2022 Jul. 19. 対応その1 出典 kotlinで値がprimitive wrapperのためにlateinitできない場合 - Be an Idealistic Realist Kotlin : 'notNull delegate' vs 'lateinit' - Qiita var myInt: Int by Delegates.notNull() 対応その2 出典 'lateinit' modifier is…

kotlin 高階関数

2022 Mar. 08. 解説サイト [Kotlin]高階関数入門 – 関数を引数に取るメリットとは?

kotlinで"File!"のように!が付いたクラス名の意味

2022 Mar. 08. 出典 Kotlin : as, !, ? 周りのチートシート - i++ Java コード呼び出し時の引数や返り値に型の後ろについていて、T! は T もしくは ? を表す。 nullable な型でもそうでない型でもどちらでも使用できる。 Kotlin コードを書いている際に直接…

kotlin / java ファイルに1文字書き込み

2020 Feb. 06. androidのアプリ固有のストレージ領域のファイルに1文字書き込むkotlinコード例 lateinit var fos: FileOutputStream try { val saveFile = File(appContext.filesDir, getString(R.string.saveFileName)) // appContext.filesDir: アプリ固有…

android開発 ViewModel コルーチンで非同期ワーカースレッド内での処理結果をBoolean値で取得する

2021 Sep. 17. 概要 下記コード例では、 getConnectionSmb()において、非同期ワーカースレッドでSMB接続を行うconnectSmb(): Booleanの結果を取得している。 getConnectionSmb()内でviewModelScope.launch(Dispatchers.IO) { }を利用し、その中でconnectSmb(…

SMBサーバーからランダムに1つの音声ファイルを取得するkotlinコード

2022 Feb. 13 2021 Sep. 18. 2021 Sep. 12. SMBサーバーへの接続にjcifs-ngを利用する。 data class AudioFileProperty(val smbPath: String, val fileSize: Long) val audioExtension: String = "\\.mp3|\\.wav|\\.aac|\\.au|\\.gsm|\\.m4a|\\.ogg|\\.flac"…

kotlin 文字列の一番後ろのピリオド以降に指定した正規表現文字列が含まれていればtrueを返す関数

2021 Sep. 06. /* * target文字列の一番後ろのピリオド以降にconditionStr正規表現文字列が含まれていればtrueを返す */ private fun isMatchTail(target: String, conditionStr: String): Boolean { // target中の一番後ろのピリオド(ファイル拡張子の区切…

jcifs-ngによるSMBサーバー接続認証

2021 Sep. 03. 2021 Aug. 31. Up-to-date val prop = Properties() // java.util.Properties prop.setProperty("jcifs.smb.client.minVersion", "SMB202") prop.setProperty("jcifs.smb.client.maxVersion", "SMB300") val baseCxt = BaseContext(PropertyCo…

kotlin Resultクラスによる例外処理

2021 Aug. 19. 例外を補足するrunCatching { }の結果はResult<T>オブジェクトに格納される。 Resultのメソッドで例外発生有無を判定したり、処理の返り値としてResult<T>に格納されたTクラスのインスタンスを取得したりできる。 参考ページ 【Kotlin】try-catch が</t></t>…

kotlin ファイル拡張子が複数の検索拡張子のいずれかに該当するか調べる

2021 Aug. 15. kotlinで、ファイル拡張子が複数の検索拡張子のいずれかに該当するかを、大文字小文字を区別せずに調べる val strTarget: String = "FILENAME.m4a" val strExtension: String = "\\.mp3|\\.wav|\\.aac|\\.au|\\.gsm|\\.m4a|\\.ogg|\\.mkv|\\.3…

kotlin 文字列の一番後ろのドット以降に検索正規表現文字列が含まれていればtrueを返す関数

2021 Aug. 15. kotlinで、文字列の一番後ろのドット以降に、検索正規表現文字列が(大文字小文字区別なしに)含まれていればtrueを返す関数 /* * target文字列の一番後ろのピリオド以降にconditionStr正規表現文字列が含まれていればtrueを返す */ private f…

kotlin 空のMutableListインスタンス初期化

2021 Aug. 14. var myMutableList: MutableList<T> = mutableListOf<T>()</t></t>

kotlinは省略できることが多いのでコード記述が楽になるが、javaの方がコードを読みやすい

2020 Jul. 19. 2020 Jul. 18. kotlinは省略できることが多いのでコード記述が楽になるが、javaの方がコードを読みやすい。 SAM変換(Single Abstract Method)されたkotlinコードはどうも読みにくい。

kotlin アクティビティへの参照/Contextの取得

2020 Jul. 20. 2020 Jul. 05. 参照元 https://stackoverflow.com/questions/41617042/how-to-access-activity-this-in-kotlinJava MyActivity.thisKotlin this@MyActivity

kotlinでのクラス。コンストラクタ,init{}初期化処理,継承サブクラスでのコンストラクタ実行

2020 Jun. 28. init{}初期化処理はプライマリコンストラクタから呼ばれる。 セカンダリコンストラクタでの初期化処理は initキーワードを使わず,constructor() : this() {}ブロックに記述する。 参考元 https://www.web-knowledge-info.com/posts/kotlin23.…

kotlinでの"クラス名.class"(クラスオブジェクト/クラス名)の参照方法

2020 Jul. 05. 2020 Jun. 27. 参照元 https://bsblog.casareal.co.jp/archives/3479 https://qiita.com/sekitaka_1214/items/5d0765d314c70d1c70b6 https://qiita.com/hituziando/items/fa2dc4097b24ab78276e javaでの"SOMECLASS.class"は kotlinでは"SOMECL…

Activity以外のクラスからのViewインスタンスへのアクセス android開発 kotlin

2020 May 30. activity!!.INSTANCE_OF_VIEW でアクセスする。AnotherClass.kt activity!!.textView.setText(R.string.dialog_ok)

kotlinでのIntentの受け取り(Intent.dataはNullable) Android開発

2020 May 03. 2020 May 02. val GET_FILE_CODE: Int = 1100 fun onClick(view: View?) { if ( buttonGetFile == view ) { val getFileIntent = Intent(Intent.ACTION_GET_CONTENT) getFileIntent.setType("*/*") startActivityForResult(getFileIntent, GET_…

KotlinでのAlertDialog例 android開発

2020 May 30. 2020 Apr. 29. 表示中に画面回転すると破棄されるAlertDialog カメラパーミッションを許可する時のAlertDialog例 private fun allowCameraPermission() { if (shouldShowRequestPermissionRationale( Manifest.permission.CAMERA )) { // ユー…

kotlin / java 配列の記述

2020 Apr. 29. kotlin: arrayOf(Manifest.permission.CAMERA)java: new String[]{Manifest.permission.CAMERA }

Kotlinでのリスナのセット

2020 Apr. 29. import android.util.Log import kotlinx.android.synthetic.main.activity_main.* override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button_test.setOnCli…

Kotlinではインスタンスのプロパティで値を設定・取得できる

2020 Apr. 29. setINSTANCE()、getINSTANCE()は不要。 Viewインスタンスの例 https://buildbox.net/kotlin-textview-property-method// クラスインスタンスの例 https://ja.stackoverflow.com/questions/65960/android-kotlin%e3%81%a7%e3%81%aeactivity-let…

Kotlin Android ExtensionsでViewのインスタンスを簡単にコードで取得する android開発

2021 Jun. 13. 2020 Apr. 29. 参照元 https://qiita.com/kafumi/items/391dafe997064da2bb6c Kotlin Android Extensions の利用 android開発 - rokkonet ・Kotlin Android Extensionsはデフォルトで有効になっている ・レイアウトのViewのIDをそのまま変数名…

Kotlin Android Extensions の利用 android開発

2020 Apr. 29. 参照元 https://qiita.com/kafumi/items/391dafe997064da2bb6c デフォルトで有効になっていて、設定不要。