意外と似てると思いながら、四苦八苦。

👉 【ahamo】iPhone11 最安値購入 割引の要素と申込のタイミング
当分は、Android と iPhone の比較になります。
乗り換えや乗り入れの人の役に立ちたいです。
マルチプラットフォームな開発も進めますのでよろしくおねがいします。
👉 タグ「iphone」 | ファショ通 – Android | iOS
👉 タグ「ios」 | ファショ通 – Android | iOS
意外と似てると思いながら、四苦八苦。

👉 【ahamo】iPhone11 最安値購入 割引の要素と申込のタイミング
当分は、Android と iPhone の比較になります。
乗り換えや乗り入れの人の役に立ちたいです。
マルチプラットフォームな開発も進めますのでよろしくおねがいします。
👉 タグ「iphone」 | ファショ通 – Android | iOS
👉 タグ「ios」 | ファショ通 – Android | iOS
Androidで、どの5Gが掴めているか確認します。
1. Android11 (OS)
2. 5G対応デバイス (端末)
3. SIMカード (通信)
手元にある Pixel5 (Android11) + docomo ahamo SIM で挑みます。
TelephonyManager.listen() を呼び出して LISTEN_DISPLAY_INFO_CHANGED を渡し、ユーザーが 5G ネットワークに接続しているかどうか判断します。onDisplayInfoChanged() メソッドをオーバーライドして、アプリが接続されているネットワークの種類を判断します。
LISTEN_DISPLAY_INFO_CHANGEDからPhoneStateListenerイベントをPhoneStateListenerし、 onDisplayInfoChanged()メソッドをオーバーライドすることにより、5G検出をサポートします。

👉 アプリに 5G 機能を追加する | Android デベロッパー
ここらは、callbackFlow を使うと掴んでいるネットワークの種類が変化するたびにUIを変化させることができますね!
ここで気になっていたのが、すでに一部キャリアから公開が始まってる NR_SA (5G スタンドアロン) の戻り値が掲載されてないことでした。
ちなみに、USモデルでは以下のような記事で、直近のパッチで対応など書かれてる。
👉 Pixel 5 and 4a 5G don't support 5G SA right now, but they will next year
👉 Pixel 5, 4a 5G adds Standalone (SA) on T-Mobile, Google Fi - 9to5Google
次の値を使用して、5GのNSA(非スタンドアロン)、mmWave(ミリ波)、およびSA(スタンドアロン)接続タイプを区別します。

👉 5Gテスト | Android オープンソース プロジェクト
どうやら NR_SA (5G スタンドアロン) は、2つのクラスから取得できる3つの値の組み合わせで判定できるようです。

確認しやすいように基準となる値の3つを並べて表示するようにしておいて、いざ5Gエリアへ。
[設定]
|
[デバイス情報]
|
[SIMのステータス]

私は、5Gは、
「NR_NSA (5G非スタンドアロン)」
しか掴んだことがありません!
「NR_SA (5Gスタンドアロン)」は
どこに行けばつかめるのでしょうか、
いや、今は待つしかないのでしょうか?
👉 Pixel5 で ahamo を使いながら書くページ
👉 Pixel5 / Pixel4a (5G) で「ミリ波」は使えたのか。【ahamo】
👉 なぜ ahamo は 5Gエリアで4G通信に切り替わるのか。
👉 ドコモ 5G 通信速度 どれぐらい?
👉 Test 5G - Google Play のアプリ
KMMで作ってみるかとドキュメント通りにやってみました。
👉 Getting started—Kotlin Multiplatform Mobile Docs
iosApp の Run/Debug Configuration が自動で作られへん!
なんでや。
仕方なく手動で作って見ました。
scheme が読み込まれへん!
なんでや。

Fix ボタンで自動追記されましたが、明らかにおかしい。
なんでやねんな。

調べてみると、コマンドラインのツール選択ができてないとかなんとか。

👉 KMM plugin can't grab Xcode schemes : KT-41691
再度、Run/Debug。

動かんやないか、なんでやの?
プラグインのバグやないか。
It was fixed with ...
Situation is as follows.
If xcodeproj is not defined -- no iOS run configuration will be created.
If xcodeproj is defined then an iOS run configuration is created, but it is invalid and the reason is reported to user. This seems very logical: user deliberately targeted a Xcode project -- KMM tried it and reported back.
The fix is expected to be delivered in the next KMM plugin release (0.2.1).
👉 KMM plugin: Native run configuration is created for irrelevant (non-iOS) Native targets : KT-43792

👉 KMM plugin releases—Kotlin Multiplatform Mobile Docs
なんやこれ、待つしかないんか?
できれば、カスタムせずにデフォルトのままで自分側を対応させたかったmacOSキーマップ。
コロナの影響かなんとなくショートカットでイライラしすぎなので、少し考えて整理してみようと思いました。

👉 キーボード ショートカット | Android デベロッパー | Android Developers

👉 Android Studio/IDEA Default Keymap
きっとこれです。どの指で触るかさえ悩んでしまうカーソルキー。

小指以外で触れば、ホームポジションから指が離れてしまう。
👉 スラドに聞け:矢印キーの押し方は | スラド Slashdotに聞け
カーソルキーを使うショートカットを眺めます。

うーん、カーソルキーを使うショートカット自体は少ないが...
実際のカーソルキーを使う操作を考えてみると、以下の3つ。
- カーソルの移動
- テキストの選択/解除
- カーソルキーを利用したショートカット
それぞれ見ていきます。
EmacsやMac上のアプリでは、カーソルキーを利用することなくカーソル位置を自在に動かすことができます。
⌃(Control) + p : 1行上に移動 (↑)
⌃(Control) + n : 1行下に移動 (↓)
⌃(Control) + f : 1文字前に移動 (→)
⌃(Control) + b : 1文字後に移動 (←)
また、テキストの選択に非常に便利な、以下の2つのショートカットもデフォルトですぐに利用することができます。
⌃(Control) + a : 行の先頭に移動
⌃(Control) + e : 行の末尾に移動
👉 Mac のキーボードショートカット - Apple サポート
Emacs でいうところの「Mark-Set」、AndroidStudio 上での macOS キーマップでいうところのアクション「Toggle Sticky Selection」を使うことで選択範囲の開始です。ショートカットの「⌃(Control) + space」に上書きして使います。

選択範囲を開始したら、前述のカーソルキーの移動を使って範囲を調整します。
選択の解除は、Android Studio macOSキーマップでいうところの「Escape」が該当します。

👉 【macOS】「Toggle Sticky Selection」を設定したい!
これらの操作は、Emacs のデフォルトキーバインドと同じ操作となっています。Mac の標準的なソフトウエアでも利用できるものが少なくありませんので覚えておくといいと思います。
前述のキーマップPDFに記載のように、macOSキーマップにはカーソルキーを利用したショートカットが登録されています。

「Shrink/Extend Selection」などは、あちこちの記事で便利で使えると言われていることが多いです。
その他、お好みで多用するショートカットが使いづらいようであれば、利用していないショートカットキーに登録するのも良いでしょう。
私の感覚で言うと、カーソルキーを使わず Emacs/Mac 系ショートカットたちをエディタで使うには、あといくつかのショートカットを登録しておくとストレスが少ない。

👉 To keep on your keyboard home position for Android Studio
macOS 上で、コーディングを含むテキストの編集なら、ホームポジションを考慮した emacs/mac 系ショートカット操作が最強に思っていますが、マウスやトラックパッドも触るっちゃあ触ってるけども、これがスッキリする。
実際は、以下、キーリマップ を使ったほうが早い気もする。
【macOS】IDE で 矢印 (カーソルキー) を使うと キーボード ホームポジション がずれる件 https://t.co/KBfPYUDQXH
— chanzmao (@maochanz) December 11, 2022
👉 MacBook Proの「バタフライキーボード」補足。困った矢印キーと適切な修飾キー刻印。: パワーリンゴ
👉 Controlキーで自由自在にカーソルをコントロール!テキスト入力が超捗るショートカットキーまとめ|スーログ
👉 keymaps at master · JetBrains / intellij-community
👉 Configure TAB to indent current line? – IDEs Support (IntelliJ Platform) | JetBrains
👉 AndroidStudioをemacsのキーバインドにしよう - Qiita
👉 Mac のキーボードショートカット - Apple サポート
「Find Action (⌘⇧A)」が使えません。

「Search Everywhere (⇧⇧)」 からいくしかないのでしょうか。

Android Studio と macOS のショートカットの衝突のようです。
[システム環境設定]
|
[キーボード]
|
[ショートカット]
|
[サービス]
|
[ターミナルの...デックスで検索] を OFF

OSや各アプリやソフトウエアと異なったレイヤーでのショートカットの衝突。
最終的には、どちらを優先するか、ということだけになります。