Android Studio にローカライズ用のツールがっ


遅っ、気づくの遅っ!

Android Studio に、文字列をローカライズ(各国言語対応)するための機能が追加されていたようです。
忘れちゃいそうなので備忘録。

Android Studio の Project Explorer で、app/res/values/strings.xml を右クリックすると、ドロップ・ダウンメニューが表示されるので、Open Translations Editor を選ぶと、ツールが開きます。

左上の地球アイコンをクリック(Add Local)すると、国を選べるので、対応させたい国を選んで、あとは編集。

文章の途中で改行したいときは、下の 「Key:」 、「Default Value:」、「Translation:」が並んでいるペイン(?)の右側にある「1行から複数行」アイコンをクリックして改行したいところで、エンターすればOK。
※改行用に、文章の途中に「/n」を入れても、そのまま文字列「/n」と表示されてしまうので注意。

strings.xml が Default Value になっていて、翻訳したい文字列だけを入力すれば良いので便利。

これまでは、ローカライズ用のファイルを作った後に文字列を追加すると、各国共通で良い文字列でも、それぞれのファイルに追加しなくちゃならなかったけど、コレを使えばその必要もなくなりそうですね。

スポンサーサイト

【Kindle】 アイコンがジャギジャギ


Android Studio でアプリを開発して、Kindle で実機テストすると、カルーセル(ホーム画面のスライドさせるアイコン群)のアイコンがジャギジャギ。

アイコンの画像を入れている mipmap-なんちゃらフォルダの、どの解像度のアイコンを表示してるのか、各フォルダのアイコンを1個づつ、高解像度のアイコンに入れ替えて試していたんだけど、どうにも上手くいかないので、ネット検索したら、いつもの stackoverflowさんにこんな記述 が。

According to a Kindle Fire development tutorial :
Tip 6: Fuzzy App Icons If you're loading apps through ADB or another method, you may have noticed that the app icons on the home screen are small and fuzzy compared to the apps and books that show up through the Kindle Fire interface. As it turns out, the graphics for apps and media purchased through Amazon are loaded from a web service rather than referenced from the manifest file. So, once you get your application on the Amazon Appstore, and download it via the store, your application icon graphics appear correctly.



まぁ、グーグル翻訳したものを、ざっくりかいつまむと、ADB デバッグしてるときはアイコンがジャギジャギになってると思うけど、Amazon アプリストアからインストールされたものは、Web経由で高解像度アイコンが読み込まれるから心配すんな、みたいなことですかね。

リリースするときに、掲載情報とともに高解像度アイコン(512×512)をアップするのはそのためか。

ひー、何年アプリ作ってるんだってね。

【Firebase】 公式で MainActivity へのコードの埋め込みがなくなってる


Firebase の実装法、公式を覗いてみたら、MainActivity へのコードの埋め込みがなくなっていた。
以前の記事はこちら

Firebase で json ファイルを入手して、app フォルダに配置したら、下記を書き換えるだけでOKのようです。

プロジェクト・レベルの build.gradle

classpath 'com.google.gms.goog;e-services:x.x.x'


と、

アプリ・レベルの build.gradle


dependencies {
   compile 'com.google.firebase:firebase-core:x,x,x'
}

apply plugin: 'com.google.gms.google-services'



結局、build.gradle だけを書き換えれば良いことになったのね。

【AVD】 Telephony 関係


こちらで、Android 7 の Telephony 関係での問題 に頭を悩ませておりますが、対応策が何となく分かったので備忘録。

一応、電話着信があった場に、onPause() 、通話終了時には、onResume() を呼び出しているようなので、そこで着信時の処理を行えば問題なさそうです。

ただ、Activity がバックグラウンドに回ったときも、同様の動作になってしまうのが痛いところ。
ここで、PHONE_STATE をチェックすれば良いのだろうか?
あとでテスト。

Android のアイコンサイズのまとめ


まぁ、今までは面倒臭いので、mipmap内のフォルダ一個にして、512×512(作らなきゃいけないアイコンで一番高解像度のヤツ=Google play の掲載情報に掲載するヤツ)を放り込んで、勝手に縮小してちょ、的なことをやってたんですが、そう手抜きばかりもしてられないか、ということで備忘録。
一番左列の下行 ic_xxx はプリフィックスです。

ldpimdpihdpixhdpixxhdpixxxhdpi
ランチャーアイコン
ic_launcher
36×3648×4872×7296×96144×144192×192
メニューアイコン
ic_menu
24×24
(余白含み
36×36)
32×32
(余白含み
48×48)
48×48
(余白含み
72×72)
-
以降アクション
バーに統合
--
アクションバーアイコン
ic_menu
18×1824×2436×3648×4872×7296×96
ステータスバーアイコン
ic_stat_notify
18×1824×2436×3648×4872×7296×96
タブアイコン
ic_tab
22×22
(余白含み
22×22)
28×28
(余白含み
32×32)
42×42
(余白含み
48×48)
56×56
(余白含み
64×64)
86×86
(余白含み
96×96)
112×112
(余白含み
128×128)
ダイアログアイコン
ic_dialog
24×2432×3248×4864×6496×96128×128
リストビューアイコン
perfix 指定なし
24×2432×3248×4864×6496×96128×128


ldpi は廃止になったんでしょうか。
Android Studio で、新規プロジェクトを作っても、デフォではフォルダが作られないですね。
もう、この解像度のほうがレア・ケースってことでしょうね。

うーん、xxxhdpi フォルダに512×512を放り込んでやれば、Kindle で表示されるアイコンがボケることもないのかと思ったらそうではなかった。
Kindle さんはどこのフォルダからアイコンを読んでいるのか。