Androidの端末の設定言語による処理の振り分け

開発中のAndroidアプリ、ユーザが使っているAndroidのに設定されている言語によって処理を振り分けたい。

まあ、英語をデフォルトにしてもうひとつは日本語なんだけど。

 

で、過去の経緯をいろいろとググってみると、設定言語の取得は Locale.getDefault() だったんだけど、今は非推奨だとか、いろいろと歴史があったらしい。

Locale.getDefault().getLanguage() で返ってくる値(日本語は ja)とかで判定すればいいかな?と思ったんだけど。

 

どれがいいのかよくわかんなかったので、下記の方法で対応してみた。

 

res/values-jp/strings.xml

<bool name="isJpn">true</bool>


res/values/strings.xml

<bool name="isJpn">false</bool>

 

と設定しておいて、

 

this.isJpn = getResources().getBoolean(R.bool.isJpn);

 

これで判断すればいいんじゃね?

 

まあこれがベターなのかわかんないけど、こんな感じで実装してみる。

 

 

Android Studio 画面遷移

Android Studio は執筆時の最新のもので検証。今回は2.3.3。

下記のページを参考に。

 

akira-watson.com

 

適当なActivityを作製。Android Studioの画面左の app → java → プロジェクト名を右クリック(androidTestでもtestでもない、おそらく一番上のやつ)で New → Activity → EmptyActivityを選択。

勝手に res → Layout 以下にレイアウトファイルも作られる。

元のActivityに、

public void moveNext(View view){
 Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
 startActivity(intent);
}

注:
FirstActivity:元アクティビティ
SecondActivity:遷移先アクティビティ


って感じにメソッド作って、元の画面にボタン作って、レイアウトのxmlのそのボタンに関する箇所に android:onClick="moveNext" ってのを追加。

マニフェストファイルに遷移先のアクティビティの追記は、現在のバージョンでは勝手にやってくれるもよう。便利。

Android Studioで開発中、気に入らないからgitで修正前に戻したらちょっとおかしい

開発中にこまめにgitにコミット。

で、新しくActivityを作製してみたんだけど、なんか気に入らないから、Android Studioを終了してgitで修正を戻して再度Android Studioを起動。

で、先ほど作ったActivityを作り直そうと再度同名で作ろうとすると、勝手に activity_hoge2 って感じにLayout Nameが勝手に変更される。「2」って。 activity_hoge ってなってほしいのに。

 

[Build]→[Rebuild Project]してから再度作ると、今度は作れた。

Android Studio の IdeaVim の設定ファイル。

Android Studiovimキーバインドを使うために IdeaVim をセット。

しかし、escを叩くたびにビープがうるさい。

:set visualbell t_vb=

とすれば、ビープは消えるけど、再度Android Studioを立ち上げるとまたビープがうるさい。

IdeaVim の、 .vimrc 相当のファイルってないんだろうか?

 

……ってことで、ぐぐったらあった。

 

qiita.com

 

 

stackoverflow.com

 

C:/Users/YourUserName/.ideavimrc

って感じにファイルを作製。これが .vimrc 相当のファイルの模様。ドットから始まるファイルだから、まあがんばってファイル作製。

このファイルに :set visualbell t_vb= 記述で、いつ起動してもビープは消えた。

いやっほい。

 

 

 

 

Android習作001

久々ですよ、Android

いろいろと忘れているので、順番にやる。

ボタンをDesignで配置するも、実行してみると、真ん中に配置したのに違うところ……左上に配置される。

 

デフォルトで表示されてるテキストをクリックすると、バネみたいなので配置されてるからこれっぽいけど、なんだこれ?

ボタンの配置は左の方にするんだけど、分身っぽいものが右の四角の紺色の方にも表示される。で、そのボタンをクリックすると、ボタンの上下左右に○が表示され、ここをクリックしたまま引っ張ると矢印が表示。どうも、これで上下左右の表示を調整するらしい。なるほど。

 

f:id:asacloud9:20170625151139p:plain

 

んで、こんな感じに配置、っと。

バネで調節されてる感じね。

 

f:id:asacloud9:20170625152506p:plain