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

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

暗黙的な内部の Intentを解決したい

Android Studioにて開発を行っております。
課金部分のテストを行うために内部テストとしてリリースを行おうとしておりますが、
セキュリティと信頼性の項目にて「暗黙的な内部の Intent」としてエラーが返ってきております。

こちら該当コード箇所が以下になります。
“`
Intent intent = new Intent();
intent.setAction(“hoge.hoge.hoge”);
intent.putExtra(“status”, 1);
sendBroadcast(intent);
“`

AndroidManifest.xmlにて受信側の宣言として

“`





“`

というようにブロードキャストレシーバーを宣言しました。
しか

元記事を表示

`Run flutter doctor –android-licenses to accept the SDK licenses.` が上手く行かなった時のtips

### `flutter doctor`した時にこのようなエラーが出るケースがある
“`
❯ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.5.2, on macOS 11.6 20G165 darwin-arm, locale ja-JP)
[!] Android toolchain – develop for Android devices (Android SDK version 31.0.0)
✗ Android license status unknown.
Run `flutter doctor –android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcod

元記事を表示

Navigation SDK v2 for Androidを試してみる (中身を見る編)

## はじめに
[前回](https://qiita.com/OttyLab/private/83185cca45ee9f2f406d)Navigation SDK v2 for Androidのサンプルをコピペで動かしてみました。今回はコードの中を見て、どのような処理が行われているかを追ってみます。

## 注意事項
– この記事では2021/11/25現在で最新の`v2.0.2`を使用します。
– [Pricing](https://docs.mapbox.com/android/navigation/guides/pricing/)にご注意ください。特にMAUは100まで無料ですが、[ここに記載](https://docs.mapbox.com/android/navigation/guides/pricing/#how-are-unique-users-counted)されているようにアプリケーションの削除・インストールでカウントアップします。デバッグ中に何度も削除・インストールを繰り返すと無料枠を超える可能性があります。

## 概観

サンプルで使用してる機能の概観は以

元記事を表示

JetpackComposeのEffect系関数一覧

# はじめに
Google公式ドキュメントで説明されているComposeのEffect系関数について、端的にまとめました。

https://developer.android.com/jetpack/compose/side-effects

## Effect系関数の役割・目的とは?
Composable関数の実行したときの副作用(Composable関数を実行したことによる、Composable関数外への影響)を定義するための関数。
(Google公式ドキュメント上では「Side-Effect APIs」と表現されている)

# LaunchedEffect
「非同期で実行される副作用」を定義する関数。

LaunchedEffect関数にkeyを設定することで、Recomposeに伴うCoroutineの再起動を抑止することができる。

以下の処理の場合、remember関数でsnackbarHostStateが生成されているため、snackbarHostStateはRecomposeを跨いで生存する。つまり、このsnackbarHostStateをkeyとしているLaunch

元記事を表示

Flutterの開発環境構築方法(Mac)

## はじめに

本記事は [エムティーアイ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mti) の1日目の記事です。

Flutterの開発環境を構築する方法を紹介します。

ちなみに業務ではFlutterを一切触っていません。
昨日行われた [FlutterKaigi](https://flutterkaigi.jp/#/) のハンズオンで初めてFlutterを触り、その準備時に行ったことを残します。

## 環境

– OS:macOS Big Sur 11.6
– ハード:MacBook Air (M1, 2020)
– Flutter:2.5.1

## 開発環境の構築

公式ドキュメントに沿ってFlutterの開発環境を構築します。

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

### Flutter SDKのダウンロード

以下のページから、使いたいバージョンのFlutter SDKをダウンロードします。

https://docs.

元記事を表示

Androidのゲーム開発まとめ

# 背景
どうも”おもり”です。

私の最近のハマりは、「ちいかわ」です。

こんな可愛らしいキャラクターを自分で作って、Androidアプリでゲーム化したいなーという野望があるのです。
ちょうど、?のようなアプリがあることも知って、可愛らしさに舌を巻きました。

そんな訳で、Androidでゲーム開発をするスキルを頑張ってみようと思った訳です。今月ちょっと頑張ってみます。

# 対象読者

* Androidでゲーム開発をしたことが無い人
* Androidアプリ開発はしているが、ゲーム開発にも興味がある人

# Androidでゲーム開発を始めるには?

https://developer.android.com/games?hl=ja

まず初めに辿り着くのは、こちらの記事でしょう。

* Android Game Development Kit(AGDK)の中にゲーム開発で必要なものが詰まっ

元記事を表示

Android Studioでjdkを8→11にアップデートしたらComponenCallbacksにアクセスできませんというエラーに遭遇した

先日Android Studioでjdkを8→11にアップデートした際に、 `ComponentCallbacksにアクセスできません`というビルドエラーに遭遇しました。
エラーが出ている所を見に行っても何も警告等は出ておらず、何かライブラリが足りていないのかと長時間ハマってしまいました。
結論としては、gradleバージョンが低い事が原因だったようです。

File > ProjectStructure > Project
と遷移していくと、Android Gradle Plugin VersionとGradle Versionを設定画面に遷移できます。
![スクリーンショット 2021-12-01 17.59.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533385/99176f39-cbf3-592a-e92a-99875f64b98b.png)

ここでこれらのバージョンを最新のものにしてあげると無事ビルドができるようになりました。

謎のビルドエラーに阻まれた時は、まずクリーンビルドや

元記事を表示

禁断の速読術の習得方法!速読英単語のアプリを個人開発してリリースした話

#禁断の速読術の習得方法

速読のアプリというのは、大体高額のセミナーに参加したり、速読をするための訓練が必要な事がほとんどだと思います。
そんな中無料でアプリをリリースしたので、皆さんに使って貰いたいので、記事を書く事にしました。

まずリリースしたアプリはこちら

https://play.google.com/store/apps/details?id=com.english.sokudoku&hl=ja&gl=US

現在は、google playストアにしかリリースしていません。
androidユーザーが登録してくれたら、iOS版版も出そうと思っています。

##開発環境はMonacaです

Monacaとは、「ハイブリッドアプリ」を作成することができるWEBサービスです。ネット上にアプリの開発環境を用意してくれるので、面倒な環境構築は一切必要ありません。

また、サンプルのアプリもいくつか用意されているので、簡単にアプリ開発を体験することができます。

私はここの最小限のアプリケーションを作るから、JQueryとFont Awesomeをダウンロードして
www配下に設定

元記事を表示

Unity Android 画面設定 ナビゲーションバーの表示

##0.0 はじめに
Unityで作ったアプリのデフォルト設定はナビゲーションバーが表示されません。ナビゲーションバーとは下に出てくる丸や三角や四角のボタンです。この設定では下からスワイプすることで表示はできますが、しばらくすると消えてしまいます。この記事では最初からナビゲーションバーを表示する方法、ナビゲーションバーを保持する方法を書いています。

##1.0 ナビゲーションバー常時表示
下記を最初のシーン入れます。これでアプリが立ち上がったらすぐにナビゲーションバーが表示されます。

“`C#:Test.cs
void Awake(){
Screen.fullScreen = false;
}
“`

##2.0 戻るボタンの有効化(◁ボタン)
戻るボタンは1.0を設定しただけでは有効になりません。下記を各シーンに入れると戻るボタンを有効にして、アプリを終了させることができるようになります。

“`C#:Test.cs
void Start () {
Input.backButtonLeavesApp = true;
}
“`

元記事を表示

[Java]Android Fragment間のデータ受け渡し Bundle vs ViewModel

# 目的
Android, Javaで開発するにあたり、Fragment間のデータ受け渡しにBundleとViewModelどちらを使うべきか指標を明示する。
※ただしデータの値は変更しない前提です。

# 結論
Bundle:Fragment間で受け渡すデータ数が少ない場合
ViewModel:Fragment間で受け渡すデータ数が多い場合
のように使い分けるのが良いと思います。

# はじめに
初めてAndroid開発をしたときに、Fragmentから別Fragmentにデータを受け渡すとき、メジャーな方法としてBundleとViewModelがあると知りました。
両方使ってみて、それぞれの利点・欠点が少し分かったので、まとめてみます。
ちなみに筆者は最初はBundleを使いまくっていたのですが、以下に記載する欠点により、ViewModelをメインで使うようになりました。

# Bundle vs ViewModel
BundleとViewModelの利点・欠点をまとめます。

| |Bundle|ViewModel|
|—|—|—|
|利点|データの定義が不要

元記事を表示

2021食べチョクAndroidが取り入れた技術まわりを振り返っていく

この記事は [ビビッドガーデン Advent Calendar 2021](https://qiita.com/advent-calendar/2021/vivid-garden) の1日目です。

## 食べチョクAndroidアプリは1周年を迎えました?

https://play.google.com/store/apps/details?id=com.tabechoku.android

2020/11/2にリリースした食べチョクAndroidアプリは先日1歳のお誕生日を迎えました?

1stリリースへの開発期間は3ヶ月ととても短く、更に先行していたiOSアプリに追いつくためにもリリースから一定期間は機能開発に集中する時間が続いていました。

そんな食べチョクAndroidにおいてもリリースから半年を過ぎた頃から少しずつではありますがモダンな開発に近づけていく努力を行っていけるようになりました。今回はそんな食べチョクAndroidアプリの1年間の軌跡を振り返っていきたいと思います。

## リリース前(~2020/11)
### Bitrise

https://www.bit

元記事を表示

なぜ、Couchbaseなのか?〜モバイル/エッジコンピューティングプラットフォームとしての観点から

## はじめに

Couchbaseは、NoSQLドキュメント指向データベースです。この表現は間違ってはいませんが、若干正確性を欠いてもいます。つまり、Couchbaseという名前を持つデータベースには、Couchbase ServerとCouchbase Liteというふたつが存在します。

ここではCouchbaseについて、そのモバイル/エッジコンピューティングプラットフォームとしての側面について解説します。この側面においては、Couchbase ServerとCouchbase Liteの両方が重要な役割を持ちます。

以下、上述の本題に進む前にいくつか基本的な部分を整理します。

### NoSQLドキュメント指向データベースについて

NoSQLドキュメント指向データベースについては、パブリッククラウドが提供する独自のテクノロジーを除くと、代表的なものとして以下の3つをあげることができます。

– MongoDB
– Apache CouchDB
– Couchbase Server

### Couchbase Serverについて

Couchbase Serverにつ

元記事を表示

Navigation SDK v2 for Androidを試してみる (インストール編)

## はじめに

いよいよ、待ちに待った[Mapbox Navigation SDK v2](https://www.mapbox.com/navigation/)がリリースされました!そこで、ここでは公式サイトの手順にしたがってまずはAndroidのナビゲーションアプリを動かしてみたいと思います。

### v1との違い

v2はMaps SDK v10をベースにナビゲーション機能を提供します。それに伴い、カメラ周りの実装などが大きく変更されました。特にAndroidはUI周りの変更が顕著です。

例えば、v1では`View`を継承した`NavigationView`が実装されていました。これを使うことで、全部入りのナビゲーションは[このサンプル](https://github.com/mapbox/mapbox-navigation-android/blob/v1.6.2/examples/src/main/java/com/mapbox/navigation/examples/ui/NavigationViewActivity.kt)のように少ない記述量で作成することができまし

元記事を表示

アプリ作成1日目〜要件定義編〜

この記事は [赤ちゃんは25日でアプリの設計から開発まで遂行できるのか][link1]の1日目の記事です。

今回アドベントカレンダー初挑戦なのですが、とりあえず暫定25日でアプリの設計から開発までどの程度できるのか挑戦してみたいと思いカレンダーを作成しました。
アプリを作ろうと思った動悸や目的についてはカレンダー概要を見てください。

## 自分のスペック

* UI/UXデザイナーに異世界転生しようとして失敗したエンジニア赤ちゃん(4年目)
* Android勢(Appleアンチ)
* KotlinよりJava派(Java歴6年目)Swiftは一切書けない
* コーディング能力に関しては完全素人の赤ちゃん
* Gitに対しての苦手意識が強いためGitイヤイヤ期から抜け出せない
* UI設計はXDでのみ経験あり(XD歴2年ちょい)

[link1]:https://qiita.com/advent-calendar/2021/baby-challenge

## アプリ概要

「オタ活を全面的にサポートするスケジュール管理アプリ」
スマートフォン(Android)向けアプリケーション

元記事を表示

【Jetpack Compose】ColumnとRowで知っていると便利なこと3選

## はじめに

本記事は [with Advent Calendar 2021](https://qiita.com/advent-calendar/2021/with) 1日目の記事です。

こんにちは [with](https://with.is/welcome) でAndroid エンジニアをしている石田です。withでは Jetpack Compose を段階的にプロダクトに導入しています。

本記事では、Compose の基本レイアウトである ColumnとRow で個人的によく使う **便利だなと感じたユースケースを3つ** 紹介します。

## Weightを設定しつつ可能ならば詰めてレイアウトする

![fig1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/71f764c2-8ffb-76d7-a805-4cf9714798d3.png)

Column/Row のスコープでは `Modifier.weight` で Weight を指定することができ、指定した値の比

元記事を表示

我が家のスーパーIoTハウス化が完了したので紹介します

#モチベーション
私は10年近く、工業分野のIT化に取り組んでおりますが、以前から
**「世の中の商用向けIoTサービス、高すぎない?」**
と感じてきました。

・センサでデータを取得して遠隔から見られるようにする

たったこれだけなのに、ウン十万円~ウン千万円といったオーダーの費用が掛かります。
そこで、

**家庭向けの製品を組み合わせて、安価にIoTシステムを構築できないか**

ということを、まずは我が家で試してみました。
結論から言うと、**低コストでも完成度の高いおうちIoTシステムを構築できた**と感じています。
![summary.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/610167/d9850898-d768-8199-fac3-601101ef4e76.png)

#おうちIoTシステムの要件
###IoTとは?
まず、「IoTとは何か?」というところをハッキリさせます。

[総務省のホームページには](https://www.soumu.go.jp/johotsusinto

元記事を表示

android端末をひかり電話の子機に設定する

不要になったandroid端末をひかり電話の子機に設定した話(備忘録)

## ホームゲートウェイ/ひかり電話ルーターの設定
### 使ったルーター
PR-500MI

### 設定
電話回線>内線設定 で未登録の内線番号の[編集]をクリック

– 内線番号:メモする
– ニックネーム:わかりやすいように端末名などを設定
– 端末属性:[音声専用端末]に設定([通常端末]でもよいと思う)
– MACアドレス:端末のMACアドレスを設定(設定しなくてもよい)
– ダイジェスト認証:[行う]に設定
– ユーザID:メモする
– パスワード:メモする(変更してもよい)

## android端末の設定
### 使った端末
zenfone 4 Max

### 設定
設定>通話設定>通話アカウント>SIPアカウント で[+]をタップして編集画面を開く

– ユーザ名:メモした内線番号を設定
– パスワード:メモしたパスワードを設定
– サーバー:ホームゲートウェイ/ひかり電話ルータのIPアドレスを設定
– オプション設定を開く
– 認証ユーザ名:メモしたユーザIDを設定
– ポート番号:506

元記事を表示

カメラ映像を出さずに画像データを取得&画像解析

本記事は[Android Advent Calendar 2021](https://qiita.com/advent-calendar/2021/android)の2021/12/01分です。

# はじめに
最近流行りの**AI[^1]を用いスマホのカメラから取得した映像に対して処理するアプリ**を作りたいときに、サンプルを探すと基本的にカメラで撮影した映像に処理結果をオーバーレイした画面が表示されたものばかりでてきます。
しかし、スマホのディスプレイにメインコンテンツ(≠カメラ映像)を映しつつスマホのカメラで撮影した映像をAIで処理したいというニーズもそこそこあると思います。
あやふやな記憶なんですが、5,6年ほど前はカメラを使用する際にはカメラから取得した映像を画面に表示することが必須で、表示しない場合はカメラ機能は使えず仕方なく画面に1pxだけ表示する`SurfaceView`を使ったりしたような記憶があります。
しかしこのAI[^1]全盛時代においてさすがにカメラ映像を出さずにも使えるだろうと思い試してみました。

# 結論
CameraX APIの`ImageAnalys

元記事を表示

withLockで楽しい排他制御ライフを!

初めて遭遇し焦ったものの、使い方自体はさほど難しくないwithLockについてまとめました。
Javaのパッケージが関連しているためJavaで調べると欲しい情報が見つけやすいこと、早めに気づきたかったです。

##仕様
与えられた処理をロック下で実行するための関数です。
引数にロック下で行いたい処理 actionをとり、actionの戻り値を返します。
action実行前に自動でロックされた後actionを実行し、その後自動でロックが解除されます。

“`kotlin
inline fun Lock.withLock(action: () -> T): T
“`

ロック下とは、排他制御下であるという意味です。
排他制御とは、同じ資源を同時に利用すると不都合が起きる場合に、同時アクセスを禁止して整合性を保つ仕組みを指します。
例えば、共同で使用している銀行口座から同時に2人がお金をおろしてしまうと残高が合わなくなる、そのようなことを防ぐために使われている仕組みです。
![排他制御_例.png](https://qiita-image-store.s3.ap-northeas

元記事を表示

Remote Configurationの使い方

# Remote Configurationとは
パラメータをリモート(サーバー)に持たせることで、リモート側の変更のみで、新しいアプリをリリースせずに、アプリの見た目や動作を変更します。

# Remote Configurationの使い方

## 前準備
(1) Huaweu Developerを登録します。

(2) AppGallery Connectでアプリのプロジェクトを登録します。
image.png
image.png

元記事を表示

OTHERカテゴリの最新記事