こんにちは、コンテンツクリエイターのともすけです。
ネットで探せば見つかる情報は多いのですが、特に筆者自身がよく「あれはどうやるんだっけ?」と思ったことをため込んでいくページになります。あまりに増えたときは、分類します。
String.format内での ”%” をエスケープ
バックスペースでやるもんだと思っていましたが、”%”でやるんですね。
1 2 3 |
int num = 50; String.format("%d%%", num); → 50% |
WorkManagerを使うときの話(2022/02/21)
build.gradle(Module用の)のdependencies記述に
- androidx.work:work-runtime:2.7.1(数値はバージョン)
を入れたモノを追記。以下は今使っている設定値です。ターゲットがAndroid12以上か未満かで、WorkManagerのライブラリバージョンを変えてください。経験的には、
- 2.7.1:Android12以上
- 2.6.0:Android11以下
でビルドできた感じ。
1 2 3 4 5 6 7 8 9 10 |
dependencies { def work_version = "2.7.1" // これと implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation "androidx.work:work-runtime:$work_version" // これ testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' } |
上記パーツは色が塗れないので、「これと」「これ」を行末にコメントとして入れました。他の行はWorkManagerには関係ないです。既存の build.gradle(Module用)に「これと」「これ」を追記してください。その際は「//」のコメントは外してください。XMLのコメント表記ではないので。
OSのバージョン毎に動作を変える
1 2 3 |
if(Build.VERSION.SDK_INT >= $VERSION){ ... } |
端末メーカーを確認する
Amazonタブレット(Fire HD系)向けにもアプリを書いていて、Google Playとソースコードを共通化するための条件分岐。
1 2 3 4 5 |
if (Build.MANUFACTURER.equals("Amazon")) { Log.d(TAG, "This is amazon tablet"); } else { Log.d(TAG, "This is NOT amazon tablet"); } |