- 1. アプリでGoogleAnalyticsを設定する時の4つの勘所
- 2. 【Android】個人的によく使うアノテーションについてのメモ part2
- 3. Android12対応でexported調整後でも怒られてしまう場合の対応方法
- 4. Jetpack Compose 勉強記録その1
- 5. 【Android】TextInputEditTextでAdjustResizeやAdjustPanが効かない
- 6. 初めての.NET MAUI (Androidアプリ編)
- 7. Android で指定した時間後に処理を行う方法についての話
- 8. コルーチンとチャネル入門#1
- 9. Android端末にてTwitterクライアントでアカウントを追加したいがエラーが出て進めない
- 10. 【Android】バックグラウンド(フォアグラウンド サービス)とマルチスレッド(Thread)の動きを簡単な事例で実験的に調査
- 11. Android で Ktor Client をサクッと使う
- 12. 【Android】独自のViewをスワイプする
- 13. MVVM+hilt+LiveDataを使ったシンプルなアプリ(java)
- 14. 【Jetpack Compose】 Remember “remember”
- 15. KotlinでTODOアプリをつくる~その2~
- 16. KotlinでTODOアプリをつくる~その1~
- 17. 簡単?UnityもAndroid StudioのlogcatもインストールしないUnityアプリのデバック方法!
- 18. Android 通知が表示されない問題
- 19. Androidの目標設定
- 20. 「Android絵文字ポリシー」に開発者が対応する事
アプリでGoogleAnalyticsを設定する時の4つの勘所
こんにちは。[virapture株式会社](https://virapture.com)でCEOしながら[ラグナロク株式会社](https://ragna-rock.com)でもCKOとして働いている[もぐめっと](https://mogmet.com)です。
![mogmet.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/8ead2db6-3eab-0232-a59d-afd95e0e0beb.jpeg)
最近Apexというゲームにはまってるのですが、何故かいつも使ってないキャラでハンマーというダメージをたくさん与えたという名誉ある称号をとることができました。とても嬉しかったのでつい共有しちゃいました。やってる人いたらよかったら一緒にやりましょう。本日はGoogleAnalyticsのイベントの適切な飛ばし方について4点共有いたします。
適切にイベントを設定することでGoogleから恩恵を受けやすくなります!
それでは早速解説いたします!## ユーザ情報を設定する
一番初めに
【Android】個人的によく使うアノテーションについてのメモ part2
# はじめに
前回の[【Android】個人的によく使うアノテーションについてのメモ](https://qiita.com/Tsubasa12/items/e02458af070748d20cb4)
に引き続き 使用したものを調べたので記事にまとめます# アノテーション表
※”@”をつけるとアドレス認識になってしまうので省略
|アノテーション|意味|
|:—|:—|
|Module|Provideをまとめたクラス|
|Provide|インスタンスを提供(Provide)するメソッド|
|Component|Moduleをどのクラスで使うかを紐付けるインターフェース|
|AndroidEntryPoint|これが付けられた他の Android クラスに依存関係を提供できるようなる|# 最後に
part2では Dagger の基本のようなものを残しました
今後も何かの実装のたびに見つけたアノテーションを調べてまとめていこうと思います!
Android12対応でexported調整後でも怒られてしまう場合の対応方法
# はじめに
Android12対応、やることも多く現状でも対応が進んでいないプロジェクトも多いのではないでしょうか?
今回はAndroid12で対応必須なexportedですが、こちらプロジェクト内のexportedを対応してもビルドエラーになってしまうことがあります。
この原因は主にライブラリが絡んでいるのですが、どのライブラリが問題になっているのか調べる方法があるのでご紹介したいと思います。# 確認方法
まずマニフェストを開き、エディター下部の以下タブから赤枠のあるMerged Manifestを選択します。
![スクリーンショット 2022-05-29 20.31.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/354522/a232e177-7b10-b4ad-7a9b-04ae100d02a7.png)選択後、以下スクショのようにライブラリが持つマニフェスト一覧が表示されます。
![スクリーンショット 2022-05-29 20.37.59.png](https://qiita-
Jetpack Compose 勉強記録その1
今回からJetpack Composeを触っていきたいと思います。
Composeを使用するプロジェクトが増えてきそうなので、学習していこうと思います。インプットするだけだと、やっただけの勉強になりそうなので、自分なりの勉強した内容を記録として、アウトプットするために、こちらに残していきます。
# 今回の内容
https://developer.android.com/jetpack/compose/tutorial?hl=ja
初回なので、こちらのチュートリアルをやってみようと思います。
# テキストを表示させる
“`MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Text(text = “Hello world!”)
}
}
“`setContentブロックでコンポーズのレイアウトを定義
【Android】TextInputEditTextでAdjustResizeやAdjustPanが効かない
### 問題
MaterialDesignのTextInputLayoutのTextInputEditTextで、テキスト入力時にカーソル位置とフォーカスがおかしくなります。
一行とかであれば恐らく問題ありませんが、ScrollViewなどでネストしている場合文字入力が困難になります。### 原因
日本語の情報があまり見当たらなかったのですが、[既知のバグ](https://github.com/material-components/material-components-android/issues/1282)として報告されているようで、Manifestで指定するAdjustResizeやAdjustPanが上手く機能していない?みたいです。### 解決
TextInputEditTextに「app:textInputLayoutFocusedRectEnabled=”false”」を追加する。
(もしくはTextInputEditTextをEditTextにする)### 参考
[https://stackoverflow.com/questions/62715709/
初めての.NET MAUI (Androidアプリ編)
# MAUIでWindowsアプリのHallo World!
[前回](https://qiita.com/kashin777/items/eae43a555dc28867926f)、Visual Studio 2022 17.3 (Preview)時点のMAUIで、WindowsアプリのHallo Worldを試しました。https://qiita.com/kashin777/items/eae43a555dc28867926f
# MAUIでAndroidアプリのHallo World!
今回は、Androidアプリを実行します。## ビルド対象にAndroidアプリを追加する
前回、Windowsアプリだけを対象にしたので、Androidアプリを追加します。
これで、WindowsアプリとAndroidアプリを同時に開発できます。.csprojファイルを編集します。
“`XML
MainActivity
Sa
【Jetpack Compose】 Remember “remember”
## 目的
JetPack Composeで状態を保存するために用意されている”remember”ですが、これをRememberできない僕の脳のデバッグのために記事を書きます## この記事でわかること
* rememberとは
* remember(ステートフル)のメリットさん## 知っておいてほしいこと
* [コンポーザブルのライフサイクル](https://developer.android.com/jetpack/compose/lifecycle?hl=ja#lifecycle-overview)
* **初回コンポーズ**によってコンポジションが作成されること
* **コンポジション**とはUIが記述された箱のようなものであること
* **再コンポーズ**でコンポーザブル関数を再度起動し、コンポジションを更新すること
* ステートフル、ステートレスについて
* ステートフル: 状態を**保持している**という制約
* ステートレス: 状態を**保持しない**という制約## remember とは
[コンポーザブル内の状態](https://d
KotlinでTODOアプリをつくる~その2~
引き続き、Android向けTODOアプリ作成についてまとめます。
前回の記事は[KotlinでTODOアプリをつくる~その1~](https://qiita.com/satona-oinuma/items/dfd9bebf9c2e00247c49)をご覧ください。## その2で扱う内容
その2では画面遷移周りを扱います。
– 画面遷移:Fragment以下はその2では扱わず、続編で扱う予定です。
– リストの表示方法:RecyclerView
– データやデータの保存に関すること:内部ファイルへの保存を予定### 用意するクラス
今回は新たに以下の2つのクラスを用意します。
– CategoryAdapter.kt
– ItemAdapter.kt
どちらもRecyclerViewのAdapterを継承したクラスです。
内容についてはその3でまとめます。また、前回に引き続き、以下の2つのクラス、2つのレイアウトファイルを使用します。
– MainActivity:Activityクラスを継承したクラス
– MainFragment:Fragmentクラスを継承したク
KotlinでTODOアプリをつくる~その1~
複数回に渡り、Android向けのTODOアプリ作成についてまとめます。
#### 使用環境
– AndroidStudio:Android Studio Bumblebee | 2021.1.1 Patch 2
– Koltin:1.6.21
– 確認端末:Android12(Emulator)## つくるもの
Android向けのTODOアプリです。画面は以下の2つを用意し、カテゴリを選択することでタスク一覧画面に遷移するようにします。
– カテゴリ一覧画面
– タスク一覧画面アプリ機能として以下を実装予定です。
– カテゴリの登録、削除ができる
– カテゴリごとにタスクを登録、削除できる
– タスク完了時にチェックマークがつけられる#### イメージ
![Android_Emulator_-_to_do_2022-05-21_14-30-15_AdobeCreativeCloudExpress_AdobeCreativeCloudExpress.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.
簡単?UnityもAndroid StudioのlogcatもインストールしないUnityアプリのデバック方法!
# Debug.Logのデータが欲しいんだ…
### 1. platform-toolsのダウンロード(Not install)
[ここ](https://developer.android.com/studio/releases/platform-tools?hl=ja)からダウンロードしてください
### 2. platform-toolsの展開
1. zipファイルを展開します。
2. 展開したzipファイルを潜っていくとadb.exeがあります。
3. adb.exe のあるフォルダーで ctrl+l でバーを選択した後、cmd と入力しEnterを押すことで、adb.exeのあるフォルダーをコマンドプロンプトで開きます
### 3. Unityのアプリの起動!
1. usbデバックにした後で、スマホとPCをつなぎます。
2. 目的のAndroidアプリを起動します
### 4. adbでlogcat開始
1. コマンドプロンプトで
“`
C:\Users\?\platform-tools_r33.0.1-windows\platform-tool
Android 通知が表示されない問題
テストがてらに主に公式リファレンスの内容を参考に通知表示を実装してみました。
https://developer.android.com/training/notify-user/build-notification“`kotlin
val notificationId = 123
val notificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManagerval name = “name”
val descriptionText = “description”
val channel = NotificationChannel(“test”, name, NotificationManager.IMPORTANCE_HIGH).apply {
description = descriptionText
}
notificationManager
Androidの目標設定
iOSエンジニアなのですが、Androidの目標を作成してみました。
スキルアップ
a.Androidで即時提案できるスキルを身につける(1週当たり6時間自分に投資する)
a-1.コントロール配置に関するスキル … 5週間 >>> 8月の1週目まで
a-1-1.Viewの画面サイズに応じたコントロールの自動配置(xml)
a-1-1-1.制約配置(ConstraintLayout) … 3h
a-1-1-2.列配置(LinearLayout)の入れ子 … 6h
a-1-1-3.Viewの状態保持(Fragment) … 6h
a-1-1-4.ActivityとFragment間のデータ受け渡し … 3h
a-1-2.Viewの再利用機構(RecyclerView) … 6h
a-1-3.セルの部分更新 … 6ha-2.画面遷移に関するスキル … 2.5週間 >>> 10月の1週目まで
a-2-1.通常の画面遷移(Intent) … 3h
a-2-2.通常の画面遷移(Intent)時のデータ受け渡し … 3h
a-2-3.Navigation画面遷移 … 3h
a-2-4.N
「Android絵文字ポリシー」に開発者が対応する事
# この記事は
2021年10月の Google Play ポリシーアップデートにより「Android絵文字ポリシー」が追加されました。追加されたポリシーに対応するためにAndroidアプリで開発者が実装しなければならないことがいくつかあるので記事にしてみます。
# 「Android絵文字ポリシー」について簡単に解説
Googleはこれまで絵文字の更新をOSのアップデートにより新しい絵文字を追加してきました。最新のOSを搭載する高価格帯の端末ユーザーであれば、最新の絵文字を利用できていたが、それ以外のユーザーは最新の絵文字が送られてきても表示できず豆腐と呼ばれる小さな四角い箱(☐)や、間違ってレンダリングされた絵文字シーケンスとして表示される利用できない絵文字が生じていました。
今回の「Android 絵文字ポリシー」によりOS依存であった絵文字の更新が対応アプリの更新で絵文字をアップデートするようになりました。
最新のOSを搭載する高価格帯の端末ユーザーでなくても最新の絵文字を手に入れ利用できるようになったのです。簡単に言うと、
**アプリ側で絵文字をサポートしてあ