rokkonet

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

android開発

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

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

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

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-…

android開発 LiveDataの利用パターン

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

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

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

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

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

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

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…

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…

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サーバーへの接続はメインスレッドでは禁止されており、非同期スレッドで行う必要が…

Android開発 ホーム画面を表示する

2021 Jul. 31. アプリのActivityを消してホーム画面を表示するには、ホーム画面へのインテントを発行する。 出典 Android - androidにてActivityをバックグラウンドにまわすコードは?|teratail var intent = Intent(Intent.ACTION_MAIN) intent.addCategor…

android開発 coroutineによる非同期スレッド実行

2021 Jul. 24. 参考ページ 雰囲気で利用しないためのAndroidにおけるKotlin-Coroutineメモ - Qiita 非同期処理のCoroutine(コルーチン)を始めてみよう!【Android・Kotlin】 ライブラリ導入 build.gradle(Module/App)に下記を記述するだけ jarファイルの配置…

android開発 ソフトキーボードを消す

2021 Jul. 25. ボタンがタップされたらソフトキーボードを画面から消す binding.button1.setOnClickListener { val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager imm.hideSoftInputFromWindow(it.getWindowToken(), InputMe…

android開発 Failed to load class "org.slf4j.impl.StaticLoggerBinder"

2021 Jul. 24. エラーメッセージ Failed to load class "org.slf4j.impl.StaticLoggerBinder" 対処 build.gradle(Module)にライブラリを記述 dependencies { implementation group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.32' }

android開発 Didn't find class "org.bouncycastle.asn1.ASN1ObjectIdentifier"

2021 Jul. 24. エラーメッセージ Failed resolution of: Lorg/bouncycastle/asn1/ASN1ObjectIdentifier Didn't find class "org.bouncycastle.asn1.ASN1ObjectIdentifier" 対処 プロジェクトのapp/libsにbcprov-jdk15to18-1.69.jarを配置する build.gradle(M…

android開発 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/slf4j/LoggerFactory

2021 Jul. 24. エラー現象 jcifsライブラリを利用してandroid端末をsmbクライントにするプログラムを作成したところ、 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/slf4j/LoggerFactory というエラーが出た。 対処 build.gradle(Module)に …

android studio jarライブラリをimportする

2021 Jul. 24. 2021 Jul. 23. jarライブラリをandroid studioのプロジェクトにインポートする方法 出典 [Android Studio] .jar ファイルをインポートする | rakuishi.com 1. android studioのプロジェクトツリーのlibsにjarファイルを配置する 2. build.grad…

android開発 editText テキストの入力有無判定

2021 Jul. 22. 出典 【Android/EditText】入力or未入力の判定に !=null は使えない - Qiita テキストの文字列長がゼロかどうかで判定する if ( edTxt.text.length == 0 ) { } else { }

android開発 EditText ソフトキーボードのデフォルト設定

2021 Jul. 22. 出典 [Android] EditText:キーボードのタイプを指定する | Programming Style inputTypeプロパティに適当なものを指定する

android開発 EditText Attribute `autofillHints` is only used in API level 26 and higher

2021 Jul. 22. 出典 AndroidのEditTextの警告への対処 – senooken.jp minSdk < 26で、autofillHintsを使わない場合,レイアウトxmlファイルのEditText設定にandroid:autofillHints=" " tools:targetApi="o" を指定する

android開発 permission is only granted to system apps

2021 Jul. 22. 現象 AndroidManifest.xmlに<uses-permission android:name="android.permission.ADD_SYSTEM_SERVICE"/>を記述したら "permission is only granted to system apps"というエラーが表示された。 対策 Android Studioにて"File -> Settings -> Editor -> Inspections"と進み ページ内で Android -> Lint -> Correctness </uses-permission>…

android開発 アプリ終了処理

2021 Jul. 31. 2021 Jul. 11. finish():Activityを消去するものの、その後に書かれたコードは実行される android.os.Process.killProcess(android.os.Process.myPid()):後始末なしに強制的に終了する finishAndRemoveTask():タスクのすべてのアクティビテ…

android開発 端末内の音声ファイルをランダムに再生する

2022 Jul. 18. 2022 Feb. 27. 2022 Jan. 30. 最新ソース保管場所 https://bitbucket.org/arsmus/playrandomexternalstoragesound/src/master/ 概要 MediaStoreを利用して取得した、共有領域(アプリ固有領域外)の音声ファイルを、インテントによってオーデ…

android開発 外部ストレージのメディアファイルのURI・ファイルパスの取得

2022 May 02. 2022 Apr. 30. 2022 Feb. 13. 2022 Jan. 30. 2021 Jul. 06. 2021 Jul. 04. 参考ページ 共有ストレージからメディア ファイルにアクセスする | Android デベロッパー | Android Developers ContentResolverを利用して外部ストレージの共有領域の…

android開発 sdkのバージョン管理

2021 Jun. 26. androidプログラミングにおいては、compileSdkVersion・minSdkVersion・targetSdkVersion・インストール先のandroidバージョンを確認すること。 compileSdkVersion・minSdkVersion・targetSdkVersionは(Projectではなく)Moduleのbuild.gradl…

android開発 外部ストレージのアプリ固有領域のパス取得

2021 Aug. 09. 2021 Jun. 20. インストール端末 androidバージョン7(APIレベル24) androidバージョン10(APIレベル29) compileSdkVersion 29 minSdkVersion 24 targetSdkVersion 29 AndroidManifest.xml ファイルアクセスパーミッション設定は、Androidバ…

android開発 対象バージョンと最低バージョンの指定

2020 Sep. 20. 対象バージョン(ターゲットバージョン)と最低バージョン(最小バージョン)の指定 参考元 AndroidのアプリにAPI レベルを指定する方法 – FeeeeeLog build.gradle(Module: app)のandroid { }のdefaultConfig { }にminSdkVersionとtargetSdkVe…

ExoPlayer システムのUIを非表示とし、スクリーン全体を再生画面にする。 android開発

2020 Jul. 19. 出典元 https://gumiossan.hatenablog.com/entry/2020/03/06/002802 // Make android-device-UI-screen disappeared for ExoPlayer to use all of screen. private var playerView: PlayerView // Set off lint-check for "InlinedApi": Using…