rokkonet

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

android開発 TextView Do not concatenate text displayed with setText. Use resource string with placeholders.

2021 Sep. 11. 事象 TextViewへのsetText()の引数に、変数・式といったリテラル以外を含む式を入れると"Do not concatenate text displayed with setText. Use resource string with placeholders."と警告される。 対応 コードではなく、Stringリソース(R.st…

android開発 kotlin コルーチン内でのThread.sleep( )はコルーチン内でsleep( )を実行したスレッドを指定時間停止する

2021 Sep. 09. 下記コードではワーキングスレッド(Dispatchers.Default)が5秒間停止する。 viewModelScope.launch { withContext(Dispatchers.Default) { Thread.sleep(5000L) } } 参考ページ Kotlin Coroutine 入門1: 起動と suspend - Qiita

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

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

android開発 SMBサーバーの音声ファイルをインテントを使ってアプリでストリーミング再生

2021 Sep. 06. 概要 ViewModelを使ったワーカースレッド内でSMBサーバーに接続する。 SMBサーバーへの接続にはjcifs-ngを利用。 ViewModelのLiveData機能でSMBサーバーファイルのファイルパスをメインスレッドに渡す。 メインスレッド内で、SMBサーバーファ…

android開発 ViewModel、LiveData、jcifs-ngを使ったSMBサーバーからのファイルダウンロード、進捗プログレスバー表示

2021 Sep. 05. 2021 Sep. 04. インストールしたandroid端末 android バージョン 10 コンパイル環境 compileSdkVersion 30 minSdkVersion 24 targetSdkVersion 30 android studioのプロジェクトのapp/libsにjcifs-ngライブラリを配置 jcifs-ng-2.1.6.jar http…

android開発 LiveDataの利用パターン

2021 Sep. 03. ViewModelクラス内でLiveDataを設定する 各LiveData対象について、書き換え可能なMutableLiveDataと読み込み専用のLiveDataの2つの変数を作る。 private val _FOO: MutableLiveData by lazy { MutableLiveData() } val FOO: LiveData get() = …

android開発 ViewModel内のコルーチン内の結果でActivityの動作を決めるには。Boolean型suspend関数の結果をActivityに渡す方法

2021 Sep. 05. 2021 Sep. 03. 参考ページ android ViewModelScopeコルーチンでメインスレッドを停止する方法は? - スタック・オーバーフロー コルーチンのlaunchブロック内のデータをlauchブロック外に渡すことはできない。 コルーチン内の結果で返り値を決…

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…

android開発 ViewModelScopeコルーチンの利用

2021 Aug. 28. build.gradle(module:app)への設定 dependencies { implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0-alpha03" } viewModelScope のデフォルトCoroutineDispatcherはDispatchers.Main viewModelScope のデフォルトの Corout…

android開発 ViewModelを引数付きで生成・初期化する

2021 Aug. 29. 2021 Aug. 28. 概要 ViewModelを継承した引数付きクラスを定義する ViewModelProvider.Factoryを継承した、ViewModelの引数付きインスタンスを生成するためのクラスを定義する MainActivity内でViewModelProvider.Factoryの前記サブクラスのイ…

apply plugin: 'kotlin-kapt' build.gradle(module:app)内の記述場所

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' }

LinuxやWindowsのブラウザでのページURLのメール送信・共有

2021 Aug. 21. スマホでは、共有機能で、ブラウザで開いているページをメールアプリに簡単に送ることができる。 LinuxやWindowsには共有機能がない。 Firefoxなら、「メニュー-> IDメールアドレス -> 1個のタブを端末に送信」でまずスマホに送り、スマホのFi…

Markdown書法での不等号の表現

2021 Aug. 19. 「"4"と"空白文字"と"アンド記号"と"L"と"T"と"セミコロン"と"空白文字"と"5"」で 4 < 5 アルファベットは大文字でも小文字でもよい。 アンド記号(アンパサンド)とセミコロンにはさまれたアルファベットで各種特殊文字を表す。

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

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

firefoxでのマウスのスクロール量を変更する

2021 Aug. 15. 出典 「imwheel」でマウスホイールのスクロール移動量(スピード)を大きく | Pagent about:configでmousewheel.default.delta_multiplier_yの値を変更する

android開発 jcifs-ngで接続したSMBサーバーファイルをandroid端末にコピーする

2021 Aug. 15. /* * リモートのSMBファイルをandroid端末にコピーする * コピー先は、android端末の外部ストレージのアプリキャッシュ領域 * smbFile コピー元リモートのSMBファイル * 返り値 コピー先ファイル */ private fun cpSmbFile2android(smbFile: S…

java/kotlin jcifs-ng SMBサーバーのディレクトリ内の全ファイルを再帰的に取得する

2021 Sep. 06. 2021 Aug. 15. /* * SMBサーバーのすべてのノーマルファイルを取得する再帰関数 * パラメータ * givenDir 取得対象のSMBディレクトリパス。 * tmpSmbNormalFiles 空のMutableList<SmbFile>型変数。 * 1つ前の再帰関数実行結果を次の再帰関数に渡すため</smbfile>…

android開発 MediaPlayer利用時の後始末

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…

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>

android開発 SMBサーバーに接続し、ディレクトリ内のファイルを再帰的に取得する

2021 Sep. 06. 2021 Aug. 14. androidでjcifs-ng・コルーチンを使ってSMBサーバーに接続し、ディレクトリ内のファイルを再帰的に取得する実装例 app/libsに配置するライブラリ bcprov-jdk15to18-1.69.jar Maven Repository: org.bouncycastle » bcprov-jdk15…

java "nullなList"と"空のList"は異なる

2021 Aug. 14. java "nullなList"は初期化されていない "空のList"は要素が入っていないが初期化されている

java jcifs-ng SmbFile#listFiles() SmbFileインスタンスがファイルの時は失敗する

2021 Aug. 14. jcifs-ngのSmbFileインスタンスがディレクトリでない時、listFiles()は失敗する。 listFiles()実行前に、SmbFileインスタンスがディレクトリかファイルかを確認する必要がある。 androidでの実装例 MainActivity.kt // 認証情報 /////////////…

java jcifs-ng SmbFileクラスのコンストラクタ引数のURLは末尾にスラッシュ(/)を付ける

2021 Aug. 14. 2021 Aug. 13. SMBサーバーに接続するjcifs-ngライブラリでのSmbFileクラスのコンストラクタの引数とするURLは末尾にスラッシュ(/)を付ける。 出典 android - jcifs-ngのSmbFile#listFiles()で得られるファイルが実際と異なるもの(フルパス…

android開発 画面上のキーボード(ソフトキーボード)を非表示にする

2021 Aug. 13. val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager imm.hideSoftInputFromWindow(it.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS)

android開発 SMBサーバーの音声ファイルをダウンロードしてMediaPlayerで再生する

2021 Sep. 06. 2021 Aug. 12. インストールしたandroid端末 android バージョン 10 コンパイル環境 compileSdkVersion 30 minSdkVersion 24 targetSdkVersion 30 概要 * SMBサーバーへの接続はメインスレッドでは禁止されており、非同期スレッドで行う必要が…

grub設定 起動待ち時間、起動中画面

2021 Aug. 10. /etc/default/grub に次の行を記述する # OS起動待ち残り時間表示 GRUB_TIMEOUT_STYLE=menu GRUB_HIDDEN_TIMEOUT_QUIET=false # OS起動待ち時間を10秒間に GRUB_TIMEOUT=10 # OS起動中画面表示はOSにまかせる GRUB_CMDLINE_LINUX_DEFAULT="" "…

java 与えられたディレクトリ内のすべてのノーマルファイルを再帰的に取得する

2021 Aug. 14. 2021 Aug. 09. import java.util.ArrayList; import java.util.List; import java.io.File; public class GetChildFiles { public static void main( String[] args ){ File rootDir = new File("/SERACH/PATH"); ArrayList<String> tmpFilePaths = ne</string>…

arch系manjaro linux fcitx 日本語入力をオン・オフするキーの設定 

2021 Aug. 07. fcitx-configtoolをインストール デスクトップからFcitx設定を起動 「全体の設定」を開く 「入力メソッドのオンオフ」に「全角半角キー」と「ひらがなカタカナキー」を設定 「入力メソッド起動のその他のキー」を「無効」に設定