Android のアーキテクチャで何が Google に「強く推奨」されているか図で理解する

👉 Recommendations for Android architecture  |  Android Developers

分かりやすいドキュメントなのでさらに分かりやすくなるように図にしてみます。

 

🤔 Layered Architecture


UI Layer
  |
Coroutine
  |
DataL Layer
  |
Repository

👉 Layered architecture - Recommendations for Android architecture  |  Android Developers

 

🤔 UI Layer


UI Layer
  UDF
  AAC ViewModel
  Lifecycle
  User Event

👉 UI layer - Recommendations for Android architecture  |  Android Developers

 

🤔 ViewModel


ViewModel
  Depencencies
  Coroutine Flow
  State Holder

👉 ViewModel - Recommendations for Android architecture  |  Android Developers

 

🤔 Lifecycle


Lifecycle
  LifecycleObserver

👉 Lifecycle - Recommendations for Android architecture  |  Android Developers


 

🤔 Handle dependencies


Constructor Injection
Container

👉 Handle dependencies - Recommendations for Android architecture  |  Android Developers

 

🤔 Test


ViewModel
Data Entity (Repository + DataSource)
FakeData
StateFlow

👉 Test - Recommendations for Android architecture  |  Android Developers

 

🤔 まとめ

しれっと、公式リファレンスも分かりやすく更新されていて驚きました。

👉 【Android】アーキテクチャーとして Google が推奨していること #Kotlin - Qiita


【macOS / Android】scrcpy on Mac can't find "… libmbedcrypto.14.dylib" · Genymobile/scrcpy

scrcpy を起動しようとしたら、

何だか厳しそうなエラーが出ました。


dyld[90421]: Library not loaded: '/usr/local/opt/mbedtls/lib/libmbedcrypto.12.dylib'
  Referenced from: '/usr/local/Cellar/librist/0.2.7_1/lib/librist.4.dylib'
  Reason: tried: '/usr/local/opt/mbedtls/lib/libmbedcrypto.12.dylib' (no such file), '/usr/local/lib/libmbedcrypto.12.dylib' (no such file), '/usr/lib/libmbedcrypto.12.dylib' (no such file)
zsh: abort      /usr/local/Cellar/scrcpy/1.24/bin/scrcpy

👉 scrcpy on Mac can't find "…libmbedcrypto.14.dylib" · Issue #4409 · Genymobile/scrcpy hatena-bookmark

みんなが成功しているコメントから以下を実行して再インストールします。


brew uninstall librist --ignore-dependencies
brew uninstall mbedtls --ignore-dependencies
brew reinstall scrcpy

👉 Not working on Mac · Issue #3505 · Genymobile/scrcpy hatena-bookmark

だが、しかし。

 

😅 ERROR: Command not found: [adb], [start-server]


scrcpy

scrcpy v2.2 <https://github.com/Genymobile/scrcpy>
exec: No such file or directory
ERROR: Command not found: [adb], [start-server]
ERROR: (make 'adb' accessible from your PATH or define its fullpath in the ADB environment variable)
INFO: You may install 'adb' by "apt install adb"
ERROR: Could not execute "adb start-server"
ERROR: Could not start adb server
ERROR: Server connection failed

Android Studio インストール済みだったので PATH だけ通していけました!


# .zshrc

# android-tools
export PATH=$PATH:$HOME/Library/Android/sdk/platform-tools

【macOS / Android】scrcpy on Mac can't find "… libmbedcrypto.14.dylib" · Genymobile/scrcpy

 

😅 まとめ

macOS 新規インストールしてから、スクリプトツールたちがエラーを吐きまくってるのだが。


有料 Mac アプリ Bartender で何ができるのか

有料 Mac アプリ Bartender で何ができるのか

👉 Bartender 5 - Take control of your Menu bar hatena-bookmark

現在、2728円の有料アプリです。

 

💻 何がうれしいのか

便利な機能がいろいろありますが、一つだけ必須な機能を挙げてみます。

例えば、Android Studio を開いてみます。

14インチ Mac Book Pro で、解像度はデフォルトです。

有料 Mac アプリ Bartender で何ができるのか

画面上部メニューバーには、利用しているアプリのメニューが表示されます。

Android Studio を開いてみます。

画面上部中央のカメラレンズのあるノッチをまたいでメニューバー幅の6~7割ほどが利用中のアプリである Android Studio のメニュー項目で占められてしまいます。

有料 Mac アプリ Bartender で何ができるのか

macOS 上で常駐で動いてるアプリのアイコンたちは、利用中の Android Studio のメニューたちで隠れてしまっています。

常駐アプリのアイコンを見る方法は、利用中のアプリを Finder などのメニュー数の少ないアプリに切り替えるしかありません。

これを Bartender を使うと、以下のようになります。

有料 Mac アプリ Bartender で何ができるのか

有料 Mac アプリ Bartender で何ができるのか

有料 Mac アプリ Bartender で何ができるのか
メニュー数の多い Android Studio を利用しながらでも隠れた常駐アプリアイコンをメニューバー下部に表示することができます。

有料 Mac アプリ Bartender で何ができるのか

 

💻 まとめ

似たような無料アプリはありますが、メニューバーの下に並列して表示できるアプリは見つけることができませんでしたので、今はこれがベストではないかと思っています。

常駐アプリのアイコンはいつでも確認できる状態にしておきたいです。

無料アプリあれば教えてください。

ソースがオープンであれば参考につくってみたいです。