目次
簡単な画像はVector Assetに変換したものを使う方がいい
→pngにするよりも画像が劣化しないなどのメリットがある
※ファイル形式は、SVGかPSDの形にしておく!!
Vector Asset Studioを使う↓
https://developer.android.com/studio/write/vector-asset-studio?hl=ja#running
APIレベルとは
AndroidOSのバージョン(Androidバージョン)毎に提供されるフレームワークの標準ライブラリのリビジョン番号のこと
参考
リソースファイル
- リソースファイル(string.xmlやdimens.xmlなど)がある意味
- アプリ内で共通の設定値を一元管理することで、保守・メンテナンスをしやすくする
- リソースファイルに定義をしておくことで、言語切り替えやシステム設定、テーマに応じて、自動で使われる設定値が変わる(リソースファイルは適切なフォルダ(ディレクトリに入れておくと自動で設定を切り替えてくれる))
(開発者は、設定値の切り替えをあまり意識しなくてOK)
- どのフォルダ(ディレクトリ)に何のリソースファイルを置くかは、Andoridの公式が定めているので、その定義に則ってフォルダ(ディレクトリ)とリソースファイルを作成する
(Andoridはフォルダ(ディレクトリ)が意味を持つ)
※自動で切替えるには、ファイルではなく、どのフォルダ(ディレクトリ)に入れるのかが大事
ビルドバリアント(Build Variants)
- 本番(product)と同じ挙動になる
- debugビルドでは難読化されないが、releaseビルドでは難読化される
→SharedPreferencに保存した値を取ってくる時とかは、難読化されてないかreleaseビルドで確認が必要!! - 動作確認は一応releaseビルドでも行う(debugビルドよりもビルドの時間が長くなるので注意)
→debugビルドよりも、アプリの動作が早いため、debugビルドでは気づかなかった問題が出てくることも…… - releaseビルドのビルドバリアントは、build.gradle.ktsでisDebuggable = falsを設定すること
- 動作確認の際には、端末の開発者オプションの設定で、「タップを表示」の設定をONにしておくと、画面録画や他の人に画面共有で見せる時に見やすいカモ
参考サイト
ライブラリの追加
以下を参照
Android端末をVPN接続でサーバと繋ぎたい
gnirehtetを使うと、PCの中で起動しているAndroid端末のエミュレータや、PCとUSB接続したAndroid端末とサーバをVPN接続できる
イメージ
AndroidView
xmlファイルに定義したタグに対して、IDを使ってActivity側で操作する(binding.定義したID)
MainActivityの"ガワ"として指定されているリソースファイル(layout/main_layout.xmlとか)には、それぞれID付きのImageViewタグや、TextViewタグが記述されている。
そのため、MainActivityのライフサイクルに応じてID付きのImageViweタグや、TextViewタグもインスタンス化される。
その、"ガワ"(リソースファイル)にあるviewのインスタンスにアクセスするために、viewBindingというものを使っていて、実装的には変数.binding
から各viewに指定されているIDを見て参照できるようになっている。
Activity上で表示しているImageViewのインスタンスに.binding経由でアクセスできるため、「ImageViewに関数経由で画像をセットできる」、「TextViewに関数経由でテキストをセットできる」みたいな雰囲気になっている。