2021-01-01から1年間の記事一覧
2021 Sep. 17. SmbFile#list()で例外が発生するかどうかで確認できる。 接続先パスがファイルでもディレクトリでも同じように動作した。 SmbFileのコンストラクト時に接続成否を把握できなかった。 サンプルkotlin androidコード fun connectSmb(): Boolean …
2022 Jul. 18. 2022 Feb. 13. 2021 Dec. 05. 2021 Nov. 14. 2021 Sep. 16. ソース保管場所 https://bitbucket.org/arsmus/randomsmbsoundplay/src/master/ 概要 SMBサーバーからランダムに1つの音声ファイルをストリーミング再生する。 SMBサーバーにつなが…
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"…
2022 May 02. 2021 Sep. 12. 出典 Invalid URI at getting path in different android api - Stack Overflow 端末 Android 11 (API レベル 30) 概要 ContentResolverにて、collectionにuriを、projectionに"_data"をセットしqueryする サンプルkotlinコード …
2022 Dec. 04. 2022 Jan. 30. 2021 Sep. 12. Intent#setPackageでアプリを指定する 音声uriとVLCメディアプレーヤーを指定するインテント例 // audioUri: Uri URI of an audio content val audioIntent = Intent() audioIntent.action = Intent.ACTION_VIEW …
2021 Sep. 11. 事象 TextViewへのsetText()の引数に、変数・式といったリテラル以外を含む式を入れると"Do not concatenate text displayed with setText. Use resource string with placeholders."と警告される。 対応 コードではなく、Stringリソース(R.st…
2021 Sep. 09. 下記コードではワーキングスレッド(Dispatchers.Default)が5秒間停止する。 viewModelScope.launch { withContext(Dispatchers.Default) { Thread.sleep(5000L) } } 参考ページ Kotlin Coroutine 入門1: 起動と suspend - Qiita
2021 Sep. 06. /* * target文字列の一番後ろのピリオド以降にconditionStr正規表現文字列が含まれていればtrueを返す */ private fun isMatchTail(target: String, conditionStr: String): Boolean { // target中の一番後ろのピリオド(ファイル拡張子の区切…
2022 Nov. 23. 2021 Sep. 05. 2021 Sep. 04. インストールしたandroid端末 android バージョン 10 コンパイル環境 compileSdkVersion 30 minSdkVersion 24 targetSdkVersion 30 android studioのプロジェクトのapp/libsにjcifs-ngライブラリを配置 jcifs-ng-…
2022 Jul. 23. 2021 Sep. 03. ViewModelクラス内でLiveDataを設定する 各LiveData対象について、書き換え可能なMutableLiveDataと読み込み専用のLiveDataの2つの変数を作る。 private val _FOO: MutableLiveData by lazy { MutableLiveData() } val FOO: Liv…
2021 Sep. 05. 2021 Sep. 03. 参考ページ android ViewModelScopeコルーチンでメインスレッドを停止する方法は? - スタック・オーバーフロー コルーチンのlaunchブロック内のデータをlauchブロック外に渡すことはできない。 コルーチン内の結果で返り値を決…
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…
2021 Aug. 28. build.gradle(module:app)への設定 dependencies { implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0-alpha03" } viewModelScope のデフォルトCoroutineDispatcherはDispatchers.Main viewModelScope のデフォルトの Corout…
2021 Aug. 29. 2021 Aug. 28. 概要 ViewModelを継承した引数付きクラスを定義する ViewModelProvider.Factoryを継承した、ViewModelの引数付きインスタンスを生成するためのクラスを定義する MainActivity内でViewModelProvider.Factoryの前記サブクラスのイ…
2021 Aug. 23. 次の記述で動いた plugins { id 'com.android.application' id 'kotlin-android' } apply plugin: 'kotlin-kapt' 次の記述ではFailedとなった apply plugin: 'kotlin-kapt' plugins { id 'com.android.application' id 'kotlin-android' }
2021 Aug. 21. スマホでは、共有機能で、ブラウザで開いているページをメールアプリに簡単に送ることができる。 LinuxやWindowsには共有機能がない。 Firefoxなら、「メニュー-> IDメールアドレス -> 1個のタブを端末に送信」でまずスマホに送り、スマホのFi…
2021 Aug. 19. 「"4"と"空白文字"と"アンド記号"と"L"と"T"と"セミコロン"と"空白文字"と"5"」で 4 < 5 アルファベットは大文字でも小文字でもよい。 アンド記号(アンパサンド)とセミコロンにはさまれたアルファベットで各種特殊文字を表す。
2021 Aug. 19. 例外を補足するrunCatching { }の結果はResult<T>オブジェクトに格納される。 Resultのメソッドで例外発生有無を判定したり、処理の返り値としてResult<T>に格納されたTクラスのインスタンスを取得したりできる。 参考ページ 【Kotlin】try-catch が</t></t>…
2021 Aug. 15. 出典 「imwheel」でマウスホイールのスクロール移動量(スピード)を大きく | Pagent about:configでmousewheel.default.delta_multiplier_yの値を変更する
2021 Aug. 15. /* * リモートのSMBファイルをandroid端末にコピーする * コピー先は、android端末の外部ストレージのアプリキャッシュ領域 * smbFile コピー元リモートのSMBファイル * 返り値 コピー先ファイル */ private fun cpSmbFile2android(smbFile: S…
2021 Sep. 06. 2021 Aug. 15. /* * SMBサーバーのすべてのノーマルファイルを取得する再帰関数 * パラメータ * givenDir 取得対象のSMBディレクトリパス。 * tmpSmbNormalFiles 空のMutableList<SmbFile>型変数。 * 1つ前の再帰関数実行結果を次の再帰関数に渡すため</smbfile>…
2021 Aug. 15. { private val myPlayer: MediaPlayer = MediaPlayer() override fun onDestroy() { // 終了時のMediaPlayerの破棄 if (myPlayer != null) { myPlayer.reset() myPlayer.release() } override fun onCreate(savedInstanceState: Bundle?) { my…
2021 Aug. 15. kotlinで、ファイル拡張子が複数の検索拡張子のいずれかに該当するかを、大文字小文字を区別せずに調べる val strTarget: String = "FILENAME.m4a" val strExtension: String = "\\.mp3|\\.wav|\\.aac|\\.au|\\.gsm|\\.m4a|\\.ogg|\\.mkv|\\.3…
2021 Aug. 15. kotlinで、文字列の一番後ろのドット以降に、検索正規表現文字列が(大文字小文字区別なしに)含まれていればtrueを返す関数 /* * target文字列の一番後ろのピリオド以降にconditionStr正規表現文字列が含まれていればtrueを返す */ private f…
2021 Aug. 14. var myMutableList: MutableList<T> = mutableListOf<T>()</t></t>
2021 Sep. 06. 2021 Aug. 14. androidでjcifs-ng・コルーチンを使ってSMBサーバーに接続し、ディレクトリ内のファイルを再帰的に取得する実装例 app/libsに配置するライブラリ bcprov-jdk15to18-1.69.jar Maven Repository: org.bouncycastle » bcprov-jdk15…
2021 Aug. 14. java "nullなList"は初期化されていない "空のList"は要素が入っていないが初期化されている
2021 Aug. 14. jcifs-ngのSmbFileインスタンスがディレクトリでない時、listFiles()は失敗する。 listFiles()実行前に、SmbFileインスタンスがディレクトリかファイルかを確認する必要がある。 androidでの実装例 MainActivity.kt // 認証情報 /////////////…
2021 Aug. 14. 2021 Aug. 13. SMBサーバーに接続するjcifs-ngライブラリでのSmbFileクラスのコンストラクタの引数とするURLは末尾にスラッシュ(/)を付ける。 出典 android - jcifs-ngのSmbFile#listFiles()で得られるファイルが実際と異なるもの(フルパス…
2021 Aug. 13. val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager imm.hideSoftInputFromWindow(it.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS)