Android関連のことを調べてみた2021年12月11日

Android関連のことを調べてみた2021年12月11日
目次

フードコートで必ず見る”アレ”を再現するWebアプリを作りました

フードコートの”アレ”をスマホで再現できるアプリを作りました。

https://tools.ic731.net/food_court

[クソアプリ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/kuso-app)の**11日目**です。
# アプリについて
皆さんフードコートって行ったことありますか?ありますよね(強制)
イオンモールなどの一区画に多くの飲食店が出店しているやつです。銀だこ、丸亀製麺、リンガーハット、オムライス、ビビンバ、クレープ、アイス…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/513165/c0a5d997-7118-2927-166f-77249afe44e0.png)
そんなフードコートですが”アレ”見ますよね?
…そう。**食事ができたことを知らせるブザー**です。(以下いらすとや様画像)
![image.png](https://qiita-image-store.s3.ap

元記事を表示

Androidアプリでモバイルデータ通信とWi-Fiを同時に使う

## はじめに
Androidアプリでモバイルデータ通信とWi-FIを同時に使用します。
(TCPサーバを立てたり、GETリクエストを送ったりします)
本記事ではJavaを使用しAPIレベルは21以上とします。開発者オプションが必須です。

## 前提
### 開発者オプションの設定

「開発者向けオプション」→「ネットワーク」→「モバイルデータを常にON」を「オン」にすること。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653543/e381edad-0eb0-972b-e497-8e91d93dc373.png)

### permissionについて
INTERNET、ACCESS_NETWORK_STATE、ACCESS_WIFI_STATE、CHANGE_NETWORK_STATEを使用する。
いずれも保護レベルが「normal」のpermissionである。

“`AndroidManifest.xml

元記事を表示

ビルドエラー Algorithm HmacPBESHA256 not available

#FlutterでAndroidのビルド時にエラー
java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available

どうやらJDKのバージョンに関するエラーみたい。

##解決法
“`
keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key -J-Dkeystore.pkcs12.legacy
“`
署名鍵を作るときに、このコマンドを叩いてkey.jksを生成すれば解決しました。

元記事を表示

Jetpack ComposeでMaterial3のTopAppBarをStatusBarの下まで表示させる

先日投稿した、[Material 3で大きく変わったTopAppBarをJetpack Composeで実装してみる](https://qiita.com/Nabe1216/items/0823dc7ebfb5d616f9c1 ) の補足記事になります。

前回の記事で紹介した `androidx.compose.material3` の TopAppBar ですが、そのまま実装すると StatusBar の下まで表示させる Edge to edge の対応ができません。

`androidx.compose.material` の方は Accompanist の [Inset](https://google.github.io/accompanist/insets/) がその辺りの実装をライブラリとして提供してくれていますが、`androidx.compose.material3` の方は存在しない ( [issue](https://github.com/google/accompanist/issues/836) は立っている) ので実装が必要になります。

Accompani

元記事を表示

【個人開発】共有可能なメモアプリを作った話 使用パッケージも紹介【Flutter】

##はじめに
シンプルでありながら多彩な用途に使える共有可能なメモアプリ **Notespod** を開発、リリースしました。現在のところAndroid版のみとなっています。

https://play.google.com/store/apps/details?id=com.karas.notespod

##経歴
といっても実務経験はなく、趣味で React(Next.js) + Django Rest Framework でブログを作ったことがあるだけです。次はどうしようかと考えたときに、まだ未経験なモバイル開発をやってみようと思いました。
##Flutterかい?
はいそうです。勉強を始めたのが今年の1月で、本格的に開発を始めたのが4月ごろだったので、完成まで8か月くらいです。正直、ちゃんと仕様を決めて開発に臨んだわけではなく、割と行き当たりばったりで作ってきましたが、結果的にはなんとか完成までこぎつけることができました(1か月くらいリファクタリングしてた気がする:grimacing:)
##ふーん、どんなアプリ?
簡単に言えば、「多彩なファイルを添付できて**フレンドと**

元記事を表示

Androidで写真にテキストを合成する

###Androidで写真にテキストを合成する

(注意)
Bitmapに変換して画像を合成すると元の写真が持つExif情報は失われます。
写真の向きなどを表すExifInterface.TAG_ORIENTATIONなど必要な情報は引き継ぐように実装した方がいいかもしれません。

##### 1.合成したい元の写真をBitmapに変換して写真と同じ大きさのCanvasに貼り付けます。
以下のsourcePathに元写真のパスが入ってます。

“`
val baseBitmap = BitmapFactory.decodeFile(sourcePath)
val width = baseBitmap.width
val height = baseBitmap.height
val newBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
val canvas = Canvas(baseBitmap)
canvas.drawBitmap(baseBitmap, 0f, 0f, null)
“`

元記事を表示

Firebase Management APIを使ってFirebaseプロジェクトの登録をする方法

現職で自動的にFirebaseの設定が追加できないかを調査していたところ一部はbeta版ではありますが方法があったのでメモ。

なぜ調べたのか?

普通のアプリであれば、コンソールでぽちぽちやってjsonファイルを取得すれば事足りるのですが新規で作成するアプリの数が多いことからその部分自動化したいねというところからスタートしました。

Firebase Management APIとは?

Firebaseプロジェクトの新規作成だったり、プロジェクトの情報取得や変更ができるAPIです。

https://firebase.google.com/docs/projects/api/reference/rest

利用したAPIの簡単な説明

projects.list

現在登録されているプロジェクトの一覧を取得します。

![スクリーンショット 2021-11-27 12.13.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189

元記事を表示

【Android】CameraXの導入

#はじめに
現時点でのCameraXの導入手順のメモ。

#ライブラリの導入
build.gradle(:app)に以下のライブラリを追加

“`build.gradle
implementation “androidx.camera:camera-core:1.0.2”
implementation “androidx.camera:camera-camera2:1.0.2”
implementation “androidx.camera:camera-lifecycle:1.0.2”
implementation ‘androidx.camera:camera-view:1.0.0-alpha31’
“`

#カメラパーミッションの使用
マニフェストファイルにカメラを使用することを宣言。

“`AndroidManifest.xml

“`

#レイアウト作成
PreviewViewを使用してカメラ映像を表示。

“`activity_main.xml
<

元記事を表示

【Unity】古いバージョンの AndroidビルドがNDKが無くて出来なかったら

:::note info
本記事で使ったUnityのバージョン
Unity 2021.1.27f1 Mac版
Unity 2021.2.5f1 Mac版
Windows版や他のバージョンでは検証していません。
:::
Unity 2021.1.27f1でAndroidビルドしようとしたところ、エラーで出来ませんでした。
![スクリーンショット 2021-12-10 9.26.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1772485/c30bf5d7-8e98-0a47-0659-22310b342695.png)
SDKマネージャーでコンポーネントが見つからないらしいのですが、Unity > Preferences > External Tools で確認するとNDKで警告が出ているようです。
![スクリーンショット 2021-12-10 10.01.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1772

元記事を表示

UnityのAndroid SDKにAPIレベル30のSDKツールを導入する

# Google Play ConsoleでAndroidアプリをリリースしようとしたらエラーになった

ターゲットのAPIレベルが29のアプリをリリースしようとしたところ、エラーになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/9e33ce2b-b1c4-3881-d4af-233eb106d2f7.png)

どうやら、ターゲットレベルが30以上じゃないとダメみたいです。

**どうやって30をインストールするんだっけ?**

ということで、Android SDKに新しいAPIレベルのツールを導入する手順を、備忘録として残します。

今回は Unity 2019.3.6f1 に API level 30 を導入します。

# Unityが参照している Android SDK のパスを確認する

Unity の `Preferences > External Tools > Android SDK Tools installed with Unity`

元記事を表示

Material Design 3ガイドライン概要

[Android Advent Calendar 10日目](https://qiita.com/advent-calendar/2021/android)です。
Material Designの一般的な話に留まってしまいました。Android特有の話やコードは出てきませんが、「ふーん」と流し読みいただければ幸いです。

# Material Design 3とは

2014年にGoogleから発表されたMaterial Designですが、2018年にMaterial Themingが登場し、今年2021年にMaterial Youが新たに発表されました。発表当初は「Material You」という呼称での発表でしたが、先日ガイドラインが登場し、そこでは「Material Design 3」、略称として「M3」と記載されていました。このタイミングで、Material ThemingをM2、Material YouをM3と整理されたようです。
下記のガイドラインの用語集の中に詳細が記載されています。

https://m3.material.io/foundations/glossa

元記事を表示

GitHubのPRテンプレート(iOS・Android)

## はじめに

本記事は [エムティーアイ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mti) の8日目の記事です。
昨日は @uhooi で [標準エラー出力する方法(Swift)](https://qiita.com/uhooi/items/f490d14602a7bc114948) でした。

iOSとAndroidアプリ開発で使える、GitHubのPRテンプレートを紹介します。

## PRのテンプレート作成

PRのテンプレートは `.github/` フォルダに `pull_request_template.md` ファイルを作成することで、自動的に適用されます。

## PRのテンプレート紹介

PRのテンプレートを紹介します。

### iOS

iOSアプリ開発で使えるPRのテンプレートです。

“`markdown:pull_request_template.md
## Issue

– close #TBD

## Overview

TBD

## Details (Option

元記事を表示

私が,OculusをWindowsで開発するために最初に入れるソフトウェア

#はじめに
これは,私の個人的な好みが強く出ている構成になります.
#ソフトウェア

* Unity
* Android Studio
* Oculus adb drivers
* Visual Studio Community 2019

#説明
**Unity**
3Dゲームエンジン.基本的に開発をここで行う.
**Android Studio**
Oculus向けアプリをデバッグするのに便利.エラーが出たりしたときにここでチェックできる.
**Oculus adb drivers**
Oculusハードウェア向けのドライバ.
**Visual Studio Community 2019**
Unityで開発するときに使う,エディタ.Visual Studioが2019以上新しいとエラーがでたことがある.ちなみに,Unityインストール時に同時にインストールできる.

元記事を表示

Unity2018.4 Android対応その2

前回はjdk11を差し替えことで問題解決しました、今回はgradleを更新するの解決方法を紹介します。

facebook-loginやline-loginを依存する時は
Target APIはAPI LEVEL 31(Android12)を選択してビルドするとエラーが出ました。

“`
An exception has occurred in the compiler (1.8.0-adoptopenjdk). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.AssertionError: annotation

元記事を表示

Unity2018でAndroid12ビルド対応

## 問題
Target APIはAPI LEVEL 31(Android12)を選択してビルドするとエラーが出ました。

“`
An exception has occurred in the compiler (1.8.0-adoptopenjdk). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE (class com.sun.tools.javac.util.Unshare

元記事を表示

汎用的なIndicatorDialog

# 汎用的なIndicatorDialog

Androidには、`ProgressBar`という標準で備わっているIndicatorのコンポーネントが存在します。
ですが、今回は、カスタム化されたIndicatorを表示したいという人のための記事になります。

[参考] [ProgressBarについて](https://akira-watson.com/android/progressbar.html)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417396/9cf6f6f7-c0ec-46cb-b62e-8d1dc204a74b.png)

## 目次
1. 素材を用意
2. レイアウト作成
3. themes.xmlの修正
4. ImageUtilクラス作成
5. カスタムDialogFragmentの作成
6. 使い方(呼び出し方)
7. 補足

### 1. 素材を用意
まず、表示させるためのIndicatorを用意します。
以下のIndicatorを作成するサイトがある

元記事を表示

Kotlinアプリケーション開発に、NoSQLドキュメント指向モバイルデータベースCouchbase Liteを使ってみる

## はじめに

本稿では、Kotlinアプリケーション開発に、NoSQLドキュメント指向モバイルデータベース Couchbase Liteを使うための具体的な方法について解説します。

本稿では、Couchbase Lite 3.0.0ベータ版をKotlinアプリケーションで利用する際の動作確認までを行います。

Couchbaseをモバイルアプリケーションで利用する意義については、以下の記事をご参考ください。

https://qiita.com/yoshiyuki_kono/items/3abd5e32801060a449d2

### 確認環境

– macOS Catalina Version 10.15.7
– Android Studio 4.1.3

## 実行手順

### プロジェクト作成・Couchbase Liteインストール

Android Studioで新しい「Empty Activity(空のアクティビティ)」プロジェクトを作成します

### `build.gradle`ファイル編集

新しく作成したプロジェクトで、アプリケーションレベルの`buil

元記事を表示

PokéAPI を使ってポケモン図鑑の Android を作ってみた

この記事は,[フラー株式会社 Advent Calendar 2021](https://qiita.com/advent-calendar/2021/fuller-inc/) の 9 日目の記事です。

8 日目の記事は [@inoriko711](https://qiita.com/inoriko711/) さんによる [きらめく星(の力で憧れの私)描くよ](https://qiita.com/inoriko711/items/289766bd1088faa406d8/) でした。

## はじめに

僕は [フラー株式会社](https://www.fuller-inc.com/) で Android エンジニアのアルバイトのオンボーディング(研修)期間中に PokéAPI を使ったポケモン図鑑アプリ作りました。[これ](https://github.com/Daiji256/MyPokedex/) がそのアプリです。恥ずかしいからみないでください。MVVM とかあまりよくわからないまま適当に作ったと思います。

もう,バイトを始めて 8 ヶ月くらい経ちました[^schedule

元記事を表示

Unity Asset Storeでアセットを販売してみました

## 概要
[KLab Engineer Advent Calendar 2021](https://qiita.com/advent-calendar/2021/klab) 12月9日の記事です。
開発推進部の庄司です。お仕事では、スマートフォンゲーム開発案件のサポートをしています。

「MIDI Plugin for Mobile Devices」というUnityアセットを作成して、アセットストアにリリースしてみましたので、その経緯や手順を共有します。

https://assetstore.unity.com/packages/tools/audio/midi-plugin-for-mobile-devices-198917

### MIDIについて
いきなりの余談ですが、「MIDI」ってご存知でしょうか? とってもレガシーな規格(1983年)です。Music Instruments Digital Interfaceの略で、要は楽器同士や、楽器とコンピュータとを接続するための規格です。時代がかった規格ではありますが、現在でもいろんなところで使われています。ゲームサウンドの制作

元記事を表示

今年度上半期で感動した学びBest3

# はじめに
この記事はレコチョク [Advent Calendar 2021](https://qiita.com/advent-calendar/2021/recochoku)の9日目の記事となります。

## 自己紹介
はじめまして、株式会社レコチョク所属の寺島です。
新卒3年目のエンジニアで、Androidアプリの開発に携わっています。

株式会社レコチョクは音楽サービスの企業という事で、唐突に音楽に関する余談です。

私は、ゲーム好き・アニメ好きが高じて、声優さんに興味があります。
最近は鬼滅の刃で有名な鬼頭明里さんが気になっています。
先日、鬼頭明里さんのライブにも参加してきました!

鬼頭明里さんの曲で、最近のお気に入りは「Dive to World」です。気になった方はぜひ聴いてみてください!
[Dive to World / 鬼頭明里](https://www.youtube.com/watch?v=8CTiSroCm-0)

それでは本題に入っていこうと思います。

## 何について書くか?
Androidアプリ開発でよく使う技術のうち、
2021年度上半

元記事を表示

OTHERカテゴリの最新記事