Android関連のことを調べてみた2023年01月08日

Android関連のことを調べてみた2023年01月08日
目次

【Android】`Failed to resolve: androidx.appcompat:appcompat-resources:1.4.2エラー`が出た時の対処法

# 依存関係を解決できないというエラーが発生

ある日、古くなっていたmainブランチの内容を最新のものに反映させるために、Android Studioにてブランチのアップデート、合わせbuild.graldeの同期を行いました。

最後にコミットした時には、アップデートを行なった開発環境ではなく、別の開発環境にて作業をしていました。その時には、依存関係に関するエラーが発生することはありませんでした。

ところが、最新の内容に更新されたbuild.gradleの同期を行った際に、次のようなエラーが発生しました。

“`shell
Failed to resolve: androidx.appcompat:appcompat-resources:1.4.2
Add Google Maven repository and sync project
Show in Project Structure dialog
Show Details
Affected Modules: app
“`

# エラーの原因はio.coil-kt:coil:2.2.2だった

エラーの内容を調べていたら、

元記事を表示

Kotlin 1.8.0の変更点

※ソース記事は[こちら](https://kotlinlang.org/docs/whatsnew18.html#updated-jvm-compilation-target)
※Kotlin/JS、Kotlin/Nativeについては割愛します。
[リリース日:2022/12/28](https://kotlinlang.org/docs/releases.html#release-details)
Kotlin 1.8.0リリースが世に出され、ここにいくつかの最大のハイライトがある。
– JVMのための新しいの実験的機能:ディレクトリ内容の再帰的なコピーと削除
– kotlin-reflect性能の改善
– より良いデバッグ経験のための新しい-Xdebugコンパイラオプション
– `kotlin-stdlib-jdk7`と`kotlin-stdlib-jdk8`の`kotlin-stdlib`へのマージ
– Objective-C/Swiftとの相互運用性の向上
– Gradle 7.3との互換性

# IDEのサポート
1.8.0をサポートするKotlinプラグインはこちらで利用

元記事を表示

【Unity】PLATEAU SDK for Unityの基本的な利用方法~利用時の注意点

## PLATEAU SDK for Unity
Unity向けにPLATEAUの都市モデルのインポートをサポートするSDKです。

## バージョン情報
| 諸々名前 | バージョン |
|:-:|:-:|
| Unity | 2020.3.4f1 |
| PLATEAU SDK for Unity | 0.5.1 |

## 基本的な利用方法
(個人的に勝手に期待していたこととして)**緯度経度および範囲指定など行えば都市モデルをランタイムでロードする機能**についてはサポートされていません。

というかそのようなUnity×ランタイムロードの部分はおそらくこのSDKがサポートするという話は今後もなく、`事前インポートにおける処理の重さ`や`範囲指定してモデルを取得するまでの難解なフロー`についてを解決してくれるツールだと思います。(勝手な推測)

その点を踏まえてこのSDKで試したことの流れとしては以下になります。
1. UnityにPLATEAU SDK for Unityを導入する
2. CityGMLを[G空間情報センターのWebページ](https://www.g

元記事を表示

Compose開発で知っているとちょっとだけ幸せになれるかもしれないTips

# はじめに
Androiderのみなさん、楽しいComposeライフを送っていますか?
最近ではComposeを業務で触る機会も増えてきたという方が多いのではないでしょうか。
この記事では、私がCompose開発で使用しているTipsを紹介します。
どれもすぐに使えるものばかりなので、知らなかったTipsがあれば是非試してみてください。

## エディタ系

### Composable関数の入力補完
ASにはComposeのいつくかの頻出のワードに補完機能が追加されています。
それらをうまく活用することでテンプレを一瞬で書くことができます。

#### comp
`comp`と入力することで自動でComposable関数のテンプレを書いてくれます。

#### prev
`prev`と入力することで自動でPrevie

元記事を表示

【Android】suspendじゃないコールバックの中で、callbackFlowを活用してsuspendな関数を呼び出せるようにする方法

# 注意書き
これは、完全に自分への忘備録です。

アプリを開発していて、非同期関数を使いたいのに使えない状況に遭遇したので、そのときのことをまとめました。

荒削りな内容になっていますが、あらかじめご了承ください。

# suspendじゃない関数の中で、suspend関数を使うにはどうしたら良いのだろう?

現在開発中のプロジェクトでは、Firebaseを使っています。
その中で、あるコレクションに存在するドキュメントにいかなる変更が発生した場合に、アプリ内でその情報を取得したい状況に陥りました。

具体的にいうと、そのドキュメントには、`DocumentReference`型のフィールドが存在しています。

“`json
// membersドキュメント
{
“name”: “Taro Tanaka”, (文字列)
“groupRef”: “users/user-id-1/groups/group-id-1”, (DocumentReference),
“createdAt”: 2022-01-03 23:55:43 UTC+9, (タイムスタンプ)

元記事を表示

React Native v0.71.0の影響でandroidビルドできなくなった件

# あらまし
* React Nativeのv0.71.0-rc0が2022/11/4に公開されたよ
* 上記リリースによって他のバージョンのReact Nativeで開発を行っていた場合に、androidのビルドエラーが発生するようになったよ
* React Native公式で事象と対処方法についてissueを記載してくれているので、この記事では関連知識とissueの解説をしていくよ
* [公式のissue](https://github.com/facebook/react-native/issues/35210)

# 前提
## React Nativeとは
* [この記事](https://qiita.com/Iwark/items/7c27e919bb71f8b256f6)とか読んでもらうとわかりやすい。
* ざっくりいうとReactみたいな書き方でほぼほぼワンソースでandroidもiOSのアプリも作成できるすんばらしいフレームワーク。

## Node.js, npmとは
* Node.jsがなんたるかについては、[この記事](https://qiita.com

元記事を表示

[Android][Kotlin] Spinnerの使い方とEnumの活用方法

### できたこと
Spinnerの簡単な実装と、Enumをうまく活用してみました!
Enumを使うことで、複数の定数を扱うことができて、コードもスッキリして見やすくできると思います。

### 具体的説明
Spinnerで選択された「選手名」をEnumから検索し、その選手のポジションをTextViewに反映させるというもの。
W杯でサッカーが盛り上がったのでサッカーのEnumにしちゃいました!

### レイアウト
“`activity_main.xml

元記事を表示

突然始めるFlutter環境構築〜モバイル向け〜

# 動機
AndroidもiOSにも対応したアプリが作りたいなと思いまして。

# この記事の内容
1. Flutterを導入する
2. Android Studioを導入する
3. Xcodeを導入する
4. Android StudioでiOSシミュレータを起動する
5. デバッグ実行

# 環境
PC:MacBook pro(2017)
OS:Monterey

# 参考

https://qiita.com/akatsukaha/items/3b8a5a6d94a3cdb1e047

https://zenn.dev/kboy/books/ca6a9c93fd23f3/viewer/5232dc

# Flutter導入
ここはシンプルに公式が一番。

https://docs.flutter.dev/get-started/install

# Android Studioを導入する
これらを参考に。
導入後、PluginからFlutterとDartを別途インストール

https://developer.android.com/studio/install?hl=ja

元記事を表示

加速度センサーとGooglefitについて

テスト担当した健康管理アプリで、**ユーザーの歩数を表示する機能**がありました。

表示するための歩数を取得するロジックについて、加速度センサーとGooglefitのどちらでも実装できるという話を聞いて、
何か違いがあるのかな?と疑問に思ったのでメモとして残します。

## 加速度センサーとは?
スマートフォンの動きを検知する仕組みのことです。
別名モーションセンサーとも呼ばれます。

例えば、スマホの傾きによる画面ON/OFFやなどにも使われています。
私がテストしたアプリだと、端末を軽く振るだけで歩数を増やすことができていました。

某歩数を使ったゲーム(〇〇 GO)などでも、GPSと組み合わせて使用されているそうです。

## GoogleFitとは?

oogleが提供しているスマートフォン向け健康管理アプリです。
Android・iOSのどちらでも使用可能で、運動データを記録することができます。
Google Fitが導入されたスマートフォンを持ち歩くだけで、主に以下の4つのデータを記録できます。

・1日の運動量
・睡眠データ
・心拍数
・体重の変動

開発アプリ内に

元記事を表示

AndroidTVで使われるLeanbackのObjectAdapterやPresenterSelector、Presenterとはなにか

何かあやまりなどがあればお教えください :bow:

ObjectAdapterやPresenterSelector、Presenterなどは、多分AndroidTVのアプリコードを読むとたくさん出てくるコードだと思います。

そろそろ[ComposeのTV対応](https://developer.android.com/jetpack/androidx/releases/tv)がいい感じになると思うのですが、既存のコードもみていく必要があります。結構モバイルの実装をしていた方からすると独特なので、メモとして書いておきます。

Presenterという単語が出てくるので、MVPパターンかな?とか思うとめちゃくちゃ混乱しますが全然違いそうです。

もし、あなたがRecyclerViewを知っているという前提であれば、**Leanbackの内部でRecyclerViewを使っているだけなので、コードを読むと結構かんたんに理解することができます。**

## コード例

これがObjectAdapterやPresenterを使うときのコード例です。
rowsAdapterというのを作って

元記事を表示

AndroidでNavigationを使ったDeep Linkの実装Part3

# 初めに
今回は、遷移情報を持った通知の作成方法を紹介していきます
### 本文
“`kotlin
private fun sendNotification(
title: String,
body: String,
deeplink: Deeplink?
) {
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
deeplink?.let {
intent.putDeepLink(it)
}

val pendingIntent = PendingIntent.getActivity(
this,
0,
intent,
PendingIntent.FLAG_ONE_SHOT or

元記事を表示

Google Mobile Ads Unity Pluginのバージョンアップをしたらよくわからないエラーが出た話

# 前置き
– しばらくアップデートを放置していたアプリを色々アップデートしてたら、Androidビルドでエラーになってしまう状況に……

## 環境
– MacOS 12.6
– Google Mobile Ads Unity Plugin v7.3.1
– Unity 2021.3.16f1

# 事象
– Androidビルド時に以下のようなエラー
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f38373731332f61663565346266382d616464612d343630332d633331332d6333663238656136356139652e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/87713/a9608fcb-4a16-e621-930a-69e88b

元記事を表示

[Delphi] Adaptive Icon に対応する

# Adaptive Icon とは
[Adaptive Icon](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive?hl=ja) は Android 8.0 で導入された機能で、アイコンを矩形以外で表示するホームアプリでも正しくアイコンを表示出来るようにする仕組みです。

Adaptive Icon に対応していない FireMonkey のアプリを [Microsoft Launcher](https://play.google.com/store/apps/details?id=com.microsoft.launcher&hl=ja) で表示した場合、こんな風に表示されて超カッコ悪いです。

Adaptive I

元記事を表示

AndroidでバックグラウンドでUDP受信を待ち受ける

Androidスマホにおいて、常にUDPパケット受信を待ち受けるバックグラウンドサービスを作成します。
UDPパケットをAndroidのフォアグラウンドサービスとして常に待機状態とし、受信したUDPパケットの内容に応じて、処理をして、また待ち受けます。
できる処理は多くはないですが、今回は、トースト表示とNotification通知をします。

ソースコードもろもろをGitHubに上げておきました。

poruruba/UdpBackgroundService

https://github.com/poruruba/UdpBackgroundService

# フォアグラウンドサービスの立ち上げ

フォアグラウンドサービスの立ち上げには、MainActivityから以下を実行します。

“`java:Android\BackgroundUdpServer\app\src\main\java\jp\or\myhome\sample\backgroundudpserver\MainActivity.java
Intent intent;

元記事を表示

(Android)Composite Build でビルドロジックをまとめる

# はじめに

Android×Gradle×MultiModule 構成において、Compsite Build を使用してビルドロジックを共通化したときのメモです。

# アプリの構成

機能毎の縦割りとアーキテクチャレイヤー毎の横割りを想定しています。
app は全ての feature に依存し、各 feature は core モジュールに依存するあるあるのやつですね。

– app
– feature/feature1
– feature/feature2
– feature/feature3
– core/resource
– core/repository
– core/database
– core/network

# 導入準備

### build-logic ディレクトリを作成

プロジェクトトップに`build-logic`というフォルダを作成します。Android Studio で「New」→「Directory」で作成します。任意の名前で良さそうです。

### build-logic ディレクトリを読み込む

プロジェクトトップレベルの`settin

元記事を表示

【Firebase】コレクショングループを使って、横断的に特定のコレクションのサブコレクションのみを取得する方法

# あるサブコレクションが別のサブコレクションにまたがって存在する場合

次のようなFirestoreのコレクションとドキュメントの関係がある場合を考えます。

“`markdown
– users (collection)
– user-id-1 (document)
– albums (sub collection)
– alubm-id-1 (document)
– songs (sub collection)
– song-id-1 (document)
– song-id-2 (document)
– album-id-2 (document)
– songs (sub collection)
– song-id-3 (document)
– song-id-4 (document)

元記事を表示

[Unity] CV VTuber Exampleのサンプルでビルドまでやってみる。

# 前提

– [[Unity] CV VTuber Exampleのサンプルを動かしてみる](https://qiita.com/na2na/items/571f3bba290ae00718d9)までやってあること。

# 前回との差異

– Unity 2021.3.16f1

# 作業

以下主に備忘録です。

## (必要なら)Unityエディタの追加

今回は説明も兼ねて、必要そうなものをイチから追加していく手を取ります。2021.3.16f1でやっていきます。
前回記事のセットアップまで済ませてあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306146/a7cb4b83-a040-7ac4-afd2-7e34dc30f37e.png)

## Windows向けビルドを試してみる part1

`Build Settings`を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amaz

元記事を表示

ScrcpyHub v1.8.0 をリリースしました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/79387/03811928-56c8-49f4-4896-d2e354b54e25.png)

# はじめに

ScrcpyHubはAndroidの画面をミラーリングするためのGUIアプリケーションです。ScrcpyHubは以下のGitHubリポジトリで絶賛開発中ですのでよければコントリュート&スター登録お願いします。

https://github.com/kaleidot725/ScrcpyHub

ScrcpyHubはscrcpyというコマンドツールを利用して作成しております。scrcpyのコントリビュートがScrcpyHubの発展にも繋がりますのでぜひチェックしてみてください。

https://github.com/Genymobile/scrcpy

# ScrcpyHubでできること

ScrcpyHubでは以下の機能をサポートしています。以下の通りScrcpyHubでは複数のAndroid端末の画面ミラーリング、スクリーン録

元記事を表示

【Kotlin】関数に書いてあるUnitとは

# はじめに
プログラミング学習中の[@kat_log](https://twitter.com/kat__log “Twitter”)と申します。

Kotlinの学習をし始め、ちょっとした学びや驚きもアウトプットしておこうと思い記事にしました?

関数に書いてある(ことがある)`Unit`についてです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1455073/e6bb1b7a-8490-5013-62e2-2b85ce13ffb7.png)

# 結論
関数に戻り値が無い場合に記載するものです。

# Kotlinの関数
Kotlinでは関数を

“`Kotlin
fun 関数名 (仮引数名: 引数の型, …): 戻り値の型 {
//処理
}
“`
といった形で**戻り値の型**も記載します。

ところが関数には戻り値が無い、不要な場合もあると思います。
そういった、戻り値が無い関数の場合に戻り値の型の部分に`Unit`と記載します。

:::note inf

元記事を表示

AMD CPU Ryzen で コマンドラインからAndroid Emulator を実行させる

AMDのRyzenでAndroid StudioのEmulatorを実行させるためにいろいろ試したメモです。

# 環境
CPU:AMD Ryzen 7 4800U with Radeon Graphics 1.80 GHz
OS:Microsoft Windows 11 Home
メモリ:16.0GB

# 結論
コマンドラインからオプションを指定して起動させる。

###### 前提
Emulatorの設定
System Image: x86_64

###### 実行コマンド
このパスで
`C:\Users\XXX\AppData\Local\Android\Sdk\emulator>`

このコマンドを実行する。
`.\emulator -avd (仮想デバイス名) -gpu swiftshader_indirect`

仮想デバイス名は同じパスで以下のコマンドで一覧表示される。[(公式ドキュメント)](https://developer.android.com/studio/run/emulator-commandline?hl=ja)
`.\emulator -list-

元記事を表示

OTHERカテゴリの最新記事