Android関連のことを調べてみた2022年05月29日

Android関連のことを調べてみた2022年05月29日

初めての.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 NotificationManager

val 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.セルの部分更新 … 6h

a-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を搭載する高価格帯の端末ユーザーでなくても最新の絵文字を手に入れ利用できるようになったのです。

簡単に言うと、
**アプリ側で絵文字をサポートしてあ

元記事を表示

【Flutter3.0】キーボードタイプをスクショ付きで改めて。

# はじめに
Flutterも3になりましたので、改めてスクショ付きで種類をまとめようと思いました。

# 環境
Flutter3.0
Xcode 13.3.1

# ドキュメント
https://api.flutter.dev/flutter/services/TextInputType-class.html

## TextInputType.text
“`
TextField(
onChanged: onChange,
keyboardType: TextInputType.text,
),
“`

デフォルトのキーボード。
未指定だとこちらを表示します。

## TextInputType.multiline
“`
TextField(
onChanged: onChange,
maxLines

元記事を表示

TextFieldで数字,英語,記号だけを入力させたい時

# 内容
アカウント登録などのフォームを制作する際に、メールアドレス、パスワードなどの
TextFieldに、入力できる値を制限したい場面を想定しています。

# 方法
### 数字のみ
数字のみは**inputFormatters**で用意されていて、以下の記述を足すことで簡単に設定ができます。
“`Dart
TextField(
keyboardType: TextInputType.number,
inputFormatters: [FilteringTextInputFormatter.digitsOnly]
)
“`

### 英字,記号など
**FilteringTextInputFormatter.allow()** : 一致するものを許可
**FilteringTextInputFormatter.deny()** : 一致しないものを許可

“`Dart
inputFormatters: [
FilteringTextInputFormatter.allow(
RegExp(r'[a-zA-Z0-9@_-.]’)),
],

元記事を表示

[Kotlin]data classにおけるコンストラクタとイニシャライザを使い分ける

kotlinのdata classで定義するプロパティと、コンストラクタ引数を変えたい場面がある場合に、コンストラクタとイニシャライザを使い分けて実現する方法について記載していきたいと思います。
ちょっと何を言っているか分からないですが以下の例を見てもらえると分かると思います。
# [おさらい] data classとは
data classを作成する場合、コンストラクタにプロパティを定義する事でパラメータへのゲッターやセッターなどを自動で定義してくれました。
“`Addition.kt
data class Addition(val paramA: Int, val paramB: Int, val result: Int)
“`
paramAとparamBの足し算の結果をresultとして持ちたいので、このクラスをインスタンス化しようとすると
“`
val addition = Addition(85, 23, 108)
val resStr = addition.result.toString() // resStrは108
“`
となります。
ですが、これだと結果も自分

元記事を表示

LazyRowでSwipe Refresh

LazyRowでSwipe refreshを実装した際のメモです。

バージョンは以下
Jetpack compose 1.1.1
accompanist Swipe Refresh 0.23.1

# Swipe Refresh for Jetpack Compose
[accompanist](https://google.github.io/accompanist/swiperefresh/)にはJetpack composeでSwipe Refreshを実装するためのcomposableが用意されています。

“`SwipeRefresh.kt
@Composable
fun SwipeRefresh(
state: SwipeRefreshState,
onRefresh: () -> Unit,
modifier: Modifier = Modifier,
swipeEnabled: Boolean = true,
refreshTriggerDistance: Dp = 80.dp,
indicatorAlignment

元記事を表示

OTHERカテゴリの最新記事