build.gradle が Project ウィンドウ に表示されない

Android Studio の左上の「Project」のところ。

ここを「Android」に切り替えると「Gradle Scripts」以下に、プロジェクト内の build.gradle ファイルがすべてまとめられて表示されます。

以下は、デフォルトなプロジェクト構成の場合。2つ。

ここの表示されるべき build.gradle ファイルが表示されない場合があります。

対処法

1つ目の方法です。

You can delete .gradle and .idea folders in your project manually and reload your project, it helped me.

👉 How can a valid (Project) build.gradle not show in 'Android' view?

Project ウインドウを「Project」に切り替えて、build.gradle が正しい位置にあることを確認しておいてから、「.gradle」「.idea」ディレクトリを削除する。

これできちんと表示されるようになります。

2つ目。

From the Gradle Tool Window in Android Studio (View > Tool Window > Gradle),
1. Right click on the the project's Gradle config with (root) next to its name.
2. Click on Ignore Gradle project,
3. and right click again then click on Unignore Gradle project.

👉 Missing project.gradle in Android View

内部的には1つ目の方法と同じなのでしょうが、操作が違います。

右上の「Gradle」ウィンドウを開いて、
Project root の右クリックから
「Ignore Gradle Project」で一旦削除して
「Unignore Gradle Project」で再作成します。

こちらのほうがIDEの操作としては自然な感じです。

分かりづらそうなので動画でも。



こんな機能知りませんでしたよ!


「NFC Pay」はAndroid端末でも使えるようになるのか

この記事。

セブン-イレブン・ジャパンは18日、全国約2万店のセブン-イレブンにおいて、2020年6月からVisa/Mastercard/JCB/Amex/ダイナースの5つのクレジットカードブランドを用いたNFC Type-A/Bによる非接触決済サービスの取り扱いを開始予定であると発表した。実際の利用時は対応カードなどをレジのリーダーにかざすだけで、サインや暗証番号が不要で支払いが完了できる。

今後も訪日外国人の増加が期待されるなか、セブン-イレブンでも海外で主流の決済サービスに対応するのは重要なトピックと言える。

👉 ASCII.jp:セブン-イレブンで6月からクレカ5ブランドのNFC Payが使用可能に 

そうだよな。確かにクレカは差し込む方式だよな。

あれ?

Android端末を使った Google Pay や おサイフケータイ でクレカを直接登録して非接触のかざすだけで使えるようになるのかな?


👉 一目で分かる「Pay(ペイ)」の基本 

 

そもそもハードウェアは対応してるのか

ぼんやり、

「国内版Androidはガラパゴス仕様チップNFC=FeliCa」で海外版のグルーバルのNFCと違う。

と認識してましたが。

こんな Pixel公式説明もあります。

日本で購入された Pixel 4、Pixel 3a、Pixel 3 スマートフォンの場合は、NFC と同じ箇所に FeliCa チップが取り付けられています。

👉 Pixel スマートフォンのハードウェアの図 - Pixel Phone ヘルプ 

これを見る限り、「ハードウェア的なNFC」は、国内版と海外版で違うような説明に見えますが、しかし。

Why is Google turning off FeliCa on Pixel models outside of Japan? I doubt it is a licensing restriction because the whole point of NXP PN81 is having all the global NFC licensing pieces, NFC A-B-F/EMV/FeliCa/MIFARE, all on one chip, all ready to go.

日本以外のPixelモデルでFeliCaをオフにしているのはなぜですか? NXP PN81のすべてのポイントは、すべてのグローバルNFCライセンスの一部であるNFC A-B-F / EMV / FeliCa / MIFAREをすべて1つのチップに搭載しており、すべて準備が整っているからです。

👉 No global NFC evolution for Pixel 4? – Ata Distance 

Google might have left a backdoor to activate FeliCa later on non-JP Pixel 4 models

Googleは、後に非日本版Pixel4にFeliCaを有効化するバックドアを残した可能性があります。

👉 Pixel 4 goes cheap instead of deep – Ata Distance 

日本版Pixel4と同じチップでFeliCaのみ使えないものが海外版Pixel4搭載のチップ、ではないかと言っています。

では、実際Pixel3ではどうなっているのでしょうか。

 

日本版NFCチップこそグローバル?!

規格については、NFC周りはややこしくて流動的です。

👉 AndroidのHCE-Fについて調べてみたメモとサンプルソース - Qiita 
👉 NFC関係用語と解説 - Qiita 
👉 Advances with Osaifu-Keitai ―Starting Services Supporting NFC (Type A/B) on NTT DOCOMO UIM Cards 

このようなアプリがあります。


👉 NFC TagInfo by NXP - Apps on Google Play 

端末にかざしたモノに反応して、その情報を表示してくれます。

日本独自のFeliCa代表としてPASMOをかざしてみます。

反応して FeliCaな「NFC-Type F」を表示しました。

続いて、AmericanExpress をかざしてみます。セブンイレブンなどでは差し込む方式で、非接触としては使えないものです。

ガラパゴスなFeliCaでない「NFC-Type A」が反応しています。

 

まとめ

国内版Android端末(ハードウェア)は、海外仕様だと言われている「NFC Type-A」にも対応している。

海外版Android端末(ハードウェア)は、「NFC Type-F FeliCa」に対応していない。

Google Pay や おサイフケータイアプリ が対応すれば、きっと、クレカ登録だけでタッチ決済ができるようになりそうに思えます。

いや、大人の事情があるのかな。

👉 一目で分かる「Pay(ペイ)」の基本 


LifecycleLogger とか。

今になって、Android SDK の根本的な

「ライフサイクル」
「フラグメント」
「バックスタック」

とかで苦労すること多くなってきました。


👉 Handling Lifecycles with Lifecycle-Aware Components 

ライフサイクルやそのオーナーの状況変化具合を眺めながら進みたいですよね?



意外と使える androidx.lifecycle.* 。

今更か。