- 1. [Android] Androidにおける2パターンのGoogleSignInについて
- 2. 【Android Studio】メモリリーク調査方法
- 3. AndroidのJUnitテストは超ムズい(7)
- 4. 【Flutter】Integration Testを極めるためのテクニック集
- 5. 【個人開発】Bardと一緒に0からのFlutterアプリ開発
- 6. FirebaseAnalyticsのDebugViewで実機のAndroid端末が表示されない時にやったこと
- 7. Floating しているPaletteを非表示にする方法
- 8. Transpoterを使ってExpoアプリをTestFlightで配布
- 9. Mi Power Bank 3i 10000mAh: The Perfect Blend of Power and Style
- 10. 【Android】「TopBarの文字」と「画面の文字」を両方共変える方法
- 11. Windows Subsystem for Android™️ でデバッグする
- 12. モバイルアプリのリリース毎の変化を一覧で確認
- 13. 【備忘録】【Tips】「gradle」関係のエラーを 避けるためのTips
- 14. 【Android】触覚フィードバックをボタンにつけてみる【Kotlin】
- 15. Unityで作成したゲームをAndroidに組込む
- 16. FlutterでWebリンク、ユニバーサルリンク、アプリリンクを統一的に扱いたい
- 17. 【Android】アプリのストア公開の手順ざっくり解説
- 18. MetaQuest のパススルーの設定方法
- 19. 【Flutter】初心者のためのGridView徹底解説!
- 20. Flutter 2系からFlutter 3系へ Android ビルドエラー
[Android] Androidにおける2パターンのGoogleSignInについて
# 概要
AndroidでのGoogleサインインには、2種類の方法があることを知りました。
また、少し各実装に手間取ったので備忘録として記事を書きます。# 2種類のサインイン画面
| パターン1 | パターン2 |
| —- | —- |
| ![Screenshot_20231103_010916.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/351982/44d9f885-421d-4d45-234b-cdf55293480a.png) | ![Screenshot_20231103_010954.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/351982/054dd3d6-56b7-1a2a-1542-c8348a31f98e.png)|# 実装
まずは公式ドキュメントを一読する。
[公式ドキュメント](https://developers.google.com/identity/sign-in/
【Android Studio】メモリリーク調査方法
# はじめに
メモリリークが起きているかどうかを調べる方法について記述。# 調査方法
#### 1. ProfilerのMEMORYを開く
![1](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694762/a8415acb-4178-9538-d034-2c851167255c.png)#### 2. Capture heap dumpを選択し、Recordボタンをクリック
![2](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694762/6458df13-b293-ae85-9e4e-91ed4e8af112.png)#### 3. Leaksをクリック
![3](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694762/846227ad-19b1-065f-bc1a-5cb9cf9bc5bb.png)# 参考サイト
意図的にメモリリー
AndroidのJUnitテストは超ムズい(7)
# Robolectric-4.11.xがリリースされた
以前に、compileSdk = 34だと、Robolectricが対応していなくて、localテストが動かないという記事を書きました。https://qiita.com/cozyk100/items/0b3e9a91ca5404f382c6
昔からそうなんですが、googleはこのcompileSDKのAPIレベルのハードルをどんどん上げてきます。開発者をできるだけ最新のAPIレベルに誘導しようとします。
Robolectricに限らず他の依存ライブラリも、AndroidSdudioの推奨する通りバージョンを上げていくと、gradle同期の時にcompileSdk = 34を要求されます。
Robolectricも先月、10/29にやっと、4.11がリリースされ、compileSdk = 34に対応しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933408/b24e09da-a518-b463-dcb6-
【Flutter】Integration Testを極めるためのテクニック集
# はじめに
Integration Testを実装していく中で最初に知っておきたかったと思ったことをまとめてみました。これまで実装してきた方やこれから実装する人にも参考になる情報があれば嬉しいです。https://docs.flutter.dev/cookbook/testing/integration/introduction
ちなみに、Integration Testとは結合テストのことです。
ビルドしたアプリでテストを実行するので単体テストよりも実際の操作に近い環境でテストを実行できます。# 1. ホットリスタートを使って実装する
テスト実装中は以下のコマンドで実行しましょう。“`sh
flutter run -t integration_test/main_test.dart
“`integration testの実行は、以下のコマンドで実行するように紹介されています。
“`sh
flutter test integration_test
“``test`コマンドで実行すると`ビルド`→`実行`→`終了`→`ビルド`→`実行`→`終了`のように
【個人開発】Bardと一緒に0からのFlutterアプリ開発
# はじめに
前々からスマホアプリの開発に興味があったので、Bardと一緒に開発・リリースしてみました。Flutter自体触ったことがなく、また他AIもそうだと思いますが時々嘘を言います。まったく知識がないので本当のことの中に嘘(古い情報)を混ぜられるので苦しかったです。ですがやはりコードを書いてそれが動くのは面白かったです!
https://bard.google.com/chat?hl=ja
# 成果物
QRコードを読み込んで保存もできるアプリをリリースしました。以前、店員さんが見せてくれたQRコードを読み込んで会員登録をする機会があったのですが、操作を誤ってQRコードを読み込むところからやり直しになってしまいました。一度読み込んだものを保存しておいて、もう一度遷移する機能が欲しいと思ったので自分で作ってみました。
やってみたかったですがPCスペック、実機の都合上App Storeへのリリースはできませんでした。https://play.google.com/store/apps/details?id=com.appli.qrs
余談ですが、QRコードという文言を商用
FirebaseAnalyticsのDebugViewで実機のAndroid端末が表示されない時にやったこと
## やりたかったこと
FirebaseAnalyticsのDebugViewでログをリアルタイムで取得したかったが、
デバッグに使用するデバイスのところにデバイスが表示されなかった。## 直接の原因
__広告ブロッカーをつけていた__
私のAndroidではAdguardを使用していたのですが、Adguardをつけている状態だと`デバッグに使用するデバイス`に表示されないようです…(ログ自体も送信されない?)
## 他に注意すること
結局、広告ブロックが原因だったのですが、もうひとつミスってたことがあったので書き残しておきます。### adbコマンドが間違っていないか
androidでログを送信する際には、以下のadbコマンドを打つ必要があります。“`
adb shell setprop debug.firebase.analytics.app パッケージ名
“`パッケージ名を間違えていてもエラーなどはでないため、注意が必要です。
adbコマンドを打った後、再起動する必要があるのも注意です。
Floating しているPaletteを非表示にする方法
「Attached Side → Left」を押せば非表示になる。
Transpoterを使ってExpoアプリをTestFlightで配布
# Transpoterを使ってExpoアプリをTestFlightで配布
easコマンドではなくiosはMacAppの「**Transporter**」を使ってTestFlightを配布するところまでの忘備録
androidも
[Transporter](https://apps.apple.com/jp/app/transporter/id1450874784?mt=12 “App Store Transporter”)
# 1 buildに必要なファイル作成
**eas build**を実行する前に
eas.json,
app.config.js,
app.json
この3ファイルを適宜作成します。
# 2 build実行
次に早速buikdしていきます。**iosの場合**
“`zsh
eas build –profile develop –platform ios
“`
**androidの場合**
“`zsh
eas build –profile develop –platform android
“`
それぞれ実行してうまくいくとexpoの管理画面から
Mi Power Bank 3i 10000mAh: The Perfect Blend of Power and Style
Introducing the Mi Power Bank 3i 10000mAh, a pocket-sized powerhouse. This versatile gadget features dual USB output, allowing you to charge two devices at once, making it the ultimate on-the-go solution.
![Mi Power Bank 3i 10000mAh.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576050/b8685e16-71ea-755f-a1c9-986bf2ff03fd.jpeg)
What sets the Mi Power Bank 3i apart is its dual input with Type-C and Micro USB support. No more searching for specific cables; you can charge it w
【Android】「TopBarの文字」と「画面の文字」を両方共変える方法
以下の記事が参考になりました。
【Kotlin】下部ナビゲーション・アクティビティを触ってみる
https://qiita.com/Natsukii/items/ce8f1d56ae027e565309
Windows Subsystem for Android™️ でデバッグする
# はじめに
期間が空くと忘れてしまうので、メモしておきます。### 前提
– Windows Subsystem for Android (WSA)が導入済みで、開発者モードが有効化済みとします。
– Unity、または(および)、Android Studioが導入済みで、`adb`が使用可能とします。### 確認した環境
– Windows 11 22H2
– WSA 2309.40000.10.0
– Unity 2022.3 LTS
– adb 33.0.2-8557947# アプリのインストール
「Android™️ 用 Windows サブシステム」で「詳細設定」タブを開き、「開発者モード」欄の「ADB は 127.0.0.1:58526 で開きます。」を確認して、ポート番号が異なる場合はメモしてください。## Unityの場合
1. `Build Settings`を開きます。
1. `Run Device`で`Enter IP`を選び、`127.0.0.1:58526`を入力します。
1. `Run Device`が切り替わったことを確認して`Build
モバイルアプリのリリース毎の変化を一覧で確認
# 概要
モバイルアプリのリリースをした際に、**「最新のリリースが結果としてユーザーに良い体験を提供できているのか?」**、**「逆にリリースによってパフォーマンスや体験の悪化が発生していないか?」** など、リリース後に気になることは沢山あります。New Relicの9月のアップデートで、モバイルアプリのバージョン視点で柔軟な傾向分析ができるようになったので画面を確認していきたいと思います。
:::note info
最新のアップデートの詳細はこちら。[New Relic アップデート(2023年9月)
](https://newrelic.com/jp/blog/nerdlog/new-relic-update-202309 “New Relic アップデート(2023年9月)”)
:::公式ガイドはこちらです。
https://docs.newrelic.com/jp/docs/mobile-monitoring/mobile-monitoring-ui/mobile-app-pages/version-trends-compare-user-adoption-me
【備忘録】【Tips】「gradle」関係のエラーを 避けるためのTips
《先輩からのアドバイス》
依存関係のコードを一つ一つ追加する度にビルドするべし。
そうすることで何が原因でエラーが起きているかを追求しやすいので。
【Android】触覚フィードバックをボタンにつけてみる【Kotlin】
# 触覚フィードバックとは
この単語のまま検索をかけたところ
>デバイスやシステムからユーザーの手や指に対して、振動や圧力などの物理的な刺激を与えることで、操作の結果や状態を伝える技術のこととあります。
androidで特定のボタンなどを押した時に、少し振動する機能のことですね。
# 実践
今回は タイトルにもあるように ボタンが押された時に触覚フィードバックで少し振動するようにします。button.setOnClickListener {
it.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK)
}今回は **HapticFeedbackConstants**という 直訳すると触覚フィードバック定数という、そのまんまな機能を使って実装しました。
# 参考
https://developer.android.com/reference/android/view/HapticFeedbackConstants
Unityで作成したゲームをAndroidに組込む
# はじめに
## やりたいこと
次の方針で、Androiのゲームアプリを作りたい!
* ゲームの作成はUnityで行いたい
* メニュー画面など、3D表示しない部分はAndroid Studioで作りたい![qiita5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3585655/0d252872-8dd6-5e9f-2c80-df43148d4492.png)
## やったこと
![qiita6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3585655/449df17c-73f7-0162-3e50-d297e23a07c8.png)
## 注意事項
* この投稿は、Unity、Android Studioでの開発経験のある方を対象としております
* Unityをライブラリとして組込む場合、全画面表示以外はサポートされていません# 開発環境
* Android Studio
*
FlutterでWebリンク、ユニバーサルリンク、アプリリンクを統一的に扱いたい
# 結論
“` dart
setUrlStrategy(PathUrlStrategy());
“`を設定するとOK!
# やりたいこと
Flutterで `go_router` 等でルーティングすると、Webでは以下のようなURLになりますね。
“`
https://example.com/#/pages/1
“`Flutter Webをホスティングし上記URLをクリックすると、URLがハンドリングされ `go_router` で設定したパスに飛びます。同一のFlutterアプリをモバイル向けに公開している場合、アプリインストール済の端末ではブラウザではなく、アプリ側で開いてほしいということがあります。
http[s]から始まるURLをアプリでハンドリングするには、iOSでは「universal link」、Androidでは「app link」という仕組みを利用する必要があります。
アプリリンクやユニバーサルリンクの設定方法については下記参照してください。Androidは `AndroidManifest.xml` 、 iOSは `info.plist`
【Android】アプリのストア公開の手順ざっくり解説
# アプリのストア公開手順
1. アプリを用意する
2. アプリのリリース バージョンをビルドして署名する
2. アプリのリリース バージョンをテストする
2. アプリをユーザー向けにリリースするざっくりと、こんな感じです。
# 手順をもう少し詳しく解説します
## アプリを用意する
リリース用のアプリを用意します。
`gradleファイル` をリリース用にします。
`debuggable` オプションに対して `false` の値を指定することで、デバッグ可能性(debuggable属性)を無効にすることができます。`Java`の場合、
– Groovyの場合(例:build.gradle ファイル内):
“`java
android {
buildTypes {
debug {
debuggable false
// 他の設定…
}
// 他のビルドタイプの設定…
}
// 他のAndroid設定…
}
“`
Kotlinの場合
–
MetaQuest のパススルーの設定方法
# MetaQuest3 パススルー設定方法
煩雑な作業が必要になるのでなるべく簡潔にまとめました。Windows での開発を想定しています。## Unity の環境構築
### Android の開発環境の導入
Android Studio のインストールを推奨**Unity Hub** の 左側のリストから **Installs**を選択
Install Editor で適当なバージョンを選択し、 Installを押す
(既存にバージョンがある場合は右側の歯車をクリックして**Add modules**を選択)
下の画像の通りであればOKバージョンをインストールしてください
### Unity アセットストアから Ocul
【Flutter】初心者のためのGridView徹底解説!
# 概要
参考文献が少ないFlutterでは、使用するWidgetがわかったとしても、そこからがちょっと手強いっていうパターンありますよね。
ということで、当時Flutte初心者であった僕が苦戦したGridViewの実装について、パラメータ単位で最低限覚えておくべきものを徹底解説していきます!徹底解説と言っても、そこまでGridViewの実装回数を重ねてきたわけではないので、これさえ覚えておけば!というものを集めました。
## こんな人に読んでほしい
* Flutter初心者の方
* GridViewの実装を検討している方
* GridViewのオーソドックスな実装を経験したことがある方
* GridViewを頻繁に実装したことがある方 ←コメントください!## 実装環境
* VSCode
* AndroidStudio(エミュレータ生成のため)
* Flutter:Ver2.10.5# GridViewでの実装画面
GridViewでは、こんなUIを実装できます。
Flutter 2系からFlutter 3系へ Android ビルドエラー
#### [ エラー文 ]
abstract and does not implement abstract member public abstract fun error(p0: String, p1: String?, p2: Any?): Unit defined in io.flutter.plugin.common.MethodChannel.Result#### [ エラーコード ]
“`android/app/src/main/kotlin/XXXX/MainActivity.ktprivate fun onDataUpdated(type: String) {
channel.invokeMethod(“onDataUpdated”, type, object : MethodChannel.Result {
override fun success(result: Any?) {
Log.d(“Android”, “result = $result”)
}