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

Android関連のことを調べてみた2022年04月19日
目次

Androidアプリを開発する #0

# はじめに
業務で触る機会があった…とかではないのですが、触ったことが全く無いのもなんか嫌。。。
ということで今回からAndroidアプリ開発を始めていきたいと思います。
毎週進捗を努力目標として記事を出していきたいですが、気長に読んでいただけるとありがたいです。
初心者なので、こんなツールあるよ、こうしたほうがいいよはどんどん教えていただけると
脳のキャパシティーを超えない程度に参考にさせていただきます。

今回はタイトルにもある通り「#0」ということで下準備回なのでさらっと読み進めていただけると幸いです。

# 下準備
### 開発環境に関して
iOSは今回考慮しないのでAndroid Studioで開発していきます。
2022/04/18時点での最新版が「Android Studio Bumblebee | 2021.1.1 Patch 3 for Windows 64-bit」だったのでこちらを使っていきます。
ダウンロードはこちらから

https://developer.android.com/studio?hl=ja&gclid=Cj0KCQjwmPSSBhCNAR

元記事を表示

android studioのデバッガが遅いとき

android studioのデバッガが遅いとき

結論:使わないbreakpointを全部削除。必要なbreakpointを消してはダメです。

実機でもエミュレータでも、デバッガが遅くなる時ありますよね。

図1のような画面を見たことあると思います。
![スクリーンショット 2022-04-18 21.17.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373549/841662f3-c50f-5390-5fdc-bd0366d2eb74.png)
図1

これを図2のように削除していれば、速くなります。削除したいブレークポイントを選んで、deleteキーで削除です。チェックを外すだけではダメです。
![スクリーンショット 2022-04-18 21.18.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373549/48032fda-4a83-35ff-

元記事を表示

Androidスマホと自作機器をUSBで繋ぎたい(Android Open Accessoryのサンプル実装)

# はじめに
こんなときはありませんか?

+ メカとかロボットとかなんか作ったはいいけど、画面作るのがめんどくさい
+ タッチとか音声とか通信とかスマホを使ったほうが早いけど、周辺機器を繋ぎたい
+ スマホとUSBで繋ぎたいが、スマホの電力を使うんじゃなくてむしろ充電したい
+ 古いAndroidスマホと自分の電子機器を繋ぎたい

そういうときに使える仕組みとして、

+ 有線(USB)でAndroidデバイスと接続
+ 電源供給は機器側からスマホに行う
+ 非常にシンプルに通信できる

そういう仕組をAndroid OSがサポートしています。
これがAndroid Open Accessoryです。

# Android Open Accessoryとは
Android Open Accessoryってご存知でしょうか?
機能としては上述のものを実現するためのものなのですが、なんと初出は2011年のGoogle IO。
Android OSのサポートバージョンはなんとAndroid 2.3.4からです。

10年前のあまり使われていなさそうなプロトコルが使い物になるのか?と思うかも

元記事を表示

Mockitoでのユニットテストに入門してみた

# Mockitoとは
Mockitoとは、Javaアプリケーション開発においてデファクトスタンダートになっているモックライブラリです。
ユニットテストを記述するする際、テスト対象が他のコンポーネントに依存している場合、その依存しているコンポーネントとそっくりな振る舞いをするテストダブル(影武者)を作成する必要があります。
自前でテストダブルを作成するのは大変ですが、Mockitoを使えば依存コンポーネントとテスト対象とのやりとりを簡単に実装することができます。
今回は、MockitoのKotlin向けラッパーアプリである [Mockito-Kotlin](https://github.com/mockito/mockito-kotlin) を使用していきます。

# テストダブルについて
テストダブルの役割は以下の5つです。

– スタブ
– モック
– スパイ
– フェイク
– ダミー

今回は、特によく使われるスタブ・モック・スパイオブジェクトについて入門していきます。
スタブ: テスト対象に対して、事前定義した任意の値を与える
モック: テスト対象メソッド実行時に、テスト対象が

元記事を表示

【Android】Navigationを実装してみる

なんか面白そうなやつがあったので試してみました。
備忘録的な感じです。
## Navigationを実装してみる
とりあえず適当な新規プロジェクトを作成してFragmentを追加しました。

スタート画面レイアウト

“`xml:fragment_start.xml


ハッカソンから始まってiOSアプリ、Androidアプリをリリースするまでの軌跡

**@kenmaro**です。
普段は主に**秘密計算、準同型暗号などの記事について投稿しています**。
秘密計算に関連するまとめの記事に関しては以下をご覧ください。

> – [秘密計算エンジニアを始めて2年半が経った。](https://qiita.com/kenmaro/items/48059dd60f79e80f5ef8)
> – [秘密計算エンジニアを始めて3年が経った。](https://qiita.com/kenmaro/items/a1d90a074d552b7bf886)

## 忙しい人のために最初に宣伝
**この度我々が個人開発する「YorimichiApp」はAndroid版を正式リリースしました。**

アンドロイドユーザの方は、ぜひこちらからアプリをダウンロードしてみてください。

https://play.google.com/store/apps/details?id=com.agrimetal.yorimichi2

また、iOSユーザの方でまだダウンロードしていない人は、ぜひこちらからどうぞ。

https://apps.apple.com/jp/

元記事を表示

adb関連のあれこれ(Mac)

## 今回の内容
– adbとは?
– adbコマンドのファイルパスを通す
– adbコマンドでapkをインストールする
– AndroidデバイスでFirebaseDebugViewモードを有効にする方法

## マシン環境
– マシン:M1 MacbookAir 2020
– OS:Mac OS Big Sur Ver.11.3.1
– シェル:zsh 5.8 (x86_64-apple-darwin20.0)

## adbとは?
adbとは、「Android Debug Bridge」の略で、Android端末とやりとりするための多用途なコマンドである。アプリのインストールやアンインストール、クラッシュログの出力など、さまざまな操作が行える。

### Android SDK locationを調べる
– Android Studioを起動しSDK Locationを調べる
– 大体、`/Users/ユーザ名/Library/Android/sdk`が初期設定から変更しない場合ある。

## adbコマンドのファイルパスを通す
adbコマンドはsdkフォルダのplatform-

元記事を表示

ライフサイクル 呼び出されるタイミング早見表

ライフサイクルのメソッドがそれぞれどのタイミングで呼ばれるかの早見表を自分のメモ用に作成しました
# ライフサイクル早見表
|メソッド名 |呼び出されるタイミングと説明|
|:-|:—|
|onCreate() |アクティビティの生成時。アクティビティの初期化は通常ここで行われる|
|onStart() |アクティビティが表示されるとき。複数回呼び出される可能性がある|
|onResume() |アクティビティがフォアグラウド(画面上で操作できる状態)になり、ユーザーの操作を受け付けるとき|
|onPause() |アクティビティがフォアグラウンドでなくなるとき|
|onStop() |アクティビティが非表示になったとき|
|onRestart() |バックグラウンドから、再びフォアグラウンドになる前。onStop()からアクティビティが再表示されるとき|
|onDestory()|アクティビティが破棄されるとき|

# 最後に
こうして改めて見ると、ライフサイクルとアクティビティの関係が親密なのを再確認しました。
また、「android ライフサイクル」などで検索すると 画

元記事を表示

実機(Android端末)で実行する方法

# 初め
端末 :OPPO Reno A
androidバージョン :9
こちらの端末を使って実機でのアプリ実行の流れを説明していきます
# 早速

設定→端末情報と進みビルド番号の項目を数回タップします
「デベロッパーになりました」とトーストが表示されるので、確認次第前の画面に戻ります
![Screenshot_2022-04-15-21-19-44-13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2394054/c8fdc29e-dced-758a-2793-b9704db411fb.png)


その他の設定→開発者オプション(①をやっていないと表示されていない可能性があります)と進みます
開発者オプションはオンオフを切り替えることが可能です
![Screenshot_2022-04-15-21-19-51-20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2394054/d1cd6c0

元記事を表示

【Material Design】そういえばDynamic colorってなんだっけ?

## 概要
Dynamic colorは、Google I/Oで話題になったMaterial Youの仕組みの1つです。

ユーザーによって、デバイスやアプリの色が変わるってどういうこと? と思ったり、
何がいいのなど疑問に思うことが多いので、
この記事では、Dynamic colorについての解説しようと思います。

実際に[Material Design 3(通称:M3)](https://m3.material.io/)のDynamic colorを読んで
個人的に思った事をまとめました。

## Dynamic color とは?

>
> Dynamic colorは、Material Design 3(通称:M3)で定義されてれた新しい色

元記事を表示

NCMB Kotlin SDKを使ってTodoアプリを作る(その3 タスクデータの表示)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってTodoアプリを作ってみます。[前回はタスクデータの保存について解説しました](https://qiita.com/goofmint/items/92d1021dbebd7e7c1644)ので、今回は保存したデータの取得と表示、そしてデータ削除を解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Todo: Kotlin SDKを使ったTodoアプリです](https://github.com/NCMBMania/Kotlin_Todo)にアップロードしてあります。

## タスクデータの取得

データストアに保存したタス

元記事を表示

RemoteMediator + Paging3 + Room + ViewModel で既読機能、削除機能付きのRecyclerViewを作る。

# RemoteMediator + Paging3 + Room + ViewModel で既読機能、削除機能付きのRecyclerViewを作る。
参考

https://qiita.com/que9/items/59cc988bfd92d0acea07

https://qiita.com/snichi/items/822b1f015458c503be5a

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2612874/61b9362d-e507-34c3-4931-00c3fef471d6.png)

図のように既読、削除機能付きのネットワークPagingを作ろうとしたとき、RemoteMediatorを使った網羅的な解説が見当たらなかったので、いろいろと探し回って得た知見を書いておこうと思います。
特に、日本語、javaの最近のandroid技術紹介ページが少なくなっているので参考いただければと思います。

#### 1.RemoteMediatorの設定

基本は、上記`AP

元記事を表示

NCMB Kotlin SDKを使ってTodoアプリを作る(その2 タスクデータの保存)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってTodoアプリを作ってみます。前回は[画面の仕様とSDKの初期化について解説しました](https://qiita.com/goofmint/items/8b0b566ad213a6215d94)ので、今回はタスクデータの保存について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Todo: Kotlin SDKを使ったTodoアプリです](https://github.com/NCMBMania/Kotlin_Todo)にアップロードしてあります。

## ナビゲーションの振り分け

今回は以下のようなナビゲーション

元記事を表示

NCMB Kotlin SDKを使ってTodoアプリを作る(その1 アプリの仕様とNCMBの初期化)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってTodoアプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Todo: Kotlin SDKを使ったTodoアプリです](https://github.com/NCMBMania/Kotlin_Todo)にアップロードしてあります。

## ベースについて

今回はKotlin + Jetpack Composeの組み合わせになっています。プロジェクトを作る際には Empty Compose Activity を選択してください。

## Composeについて

元記事を表示

NCMB Kotlin SDKを使って日報アプリを作る(その3 データの取得と一覧表示)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使って日報アプリを作ってみます。[前回はログインとデータの保存について解説しました](https://qiita.com/goofmint/items/ba8d8176b518af5273b1)ので、今回は保存したデータの取得と一覧表示について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_DailyReport](https://github.com/NCMBMania/Kotlin_DailyReport)にアップロードしてあります。

## 日報データの取得

日報データの表示は `ListScreen` にて行います

元記事を表示

NCMB Kotlin SDKを使って日報アプリを作る(その2 ログインとデータの保存)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使って日報アプリを作ってみます。[前回は画面の仕様とSDKの初期化について解説しました](https://qiita.com/goofmint/items/5c0178e691dccdd42ade)ので、今回はログインとデータの保存について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_DailyReport](https://github.com/NCMBMania/Kotlin_DailyReport)にアップロードしてあります。

## ナビゲーションの振り分け

今回は認証前提とし、認証していない場合はLoginSc

元記事を表示

NCMB Kotlin SDKを使って日報アプリを作る(その1 アプリの仕様とNCMBの初期化)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使って日報アプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_DailyReport](https://github.com/NCMBMania/Kotlin_DailyReport)にアップロードしてあります。

## ベースについて

今回はKotlin + Jetpack Composeの組み合わせになっています。プロジェクトを作る際には Empty Compose Activity を選択してください。

![ScreenShot_ 2022-04-12 17.

元記事を表示

unity Android でステータスバーの高さを取得する方法

![Screenshot_20220414-002120 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2123950/31cef996-a292-b221-7fd2-2b4968326813.png)

unityでAndroidにビルドする際、コンテンツが隠れないようにするため、ステータスバー(通知とか充電の部分)の高さを取得したいことがあります。
明確な記事がなかったので、その方法を記載しておきます。

# コード

“`.cs
#if !UNITY_EDITOR && UNITY_ANDROID
using (var unityPlayer = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”))
{
using (var activity = unityPlayer.GetStatic(“currentActivity”))
{
using (var

元記事を表示

NCMB Kotlin SDKを使ってカメラメモアプリを作る(その3 データとファイルの表示)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってカメラメモアプリを作ってみます。[前回はデータを保存する処理について解説しました](https://qiita.com/goofmint/items/dc335c55e6dd5c981c9a)ので、今回はその保存したデータの表示について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Camera_Memo: Kotlin SDKを使ったカメラメモアプリです](https://github.com/NCMBMania/Kotlin_Camera_Memo)にアップロードしてあります。

## 一覧画面について

![Sc

元記事を表示

NCMB Kotlin SDKを使ってカメラメモアプリを作る(その2 ファイルアップロードとデータ保存)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってカメラメモアプリを作ってみます。[前回は画面の仕様とSDKの初期化について解説しました](https://qiita.com/goofmint/items/59f4c23d3245aae1388d)ので、今回はデータを保存する処理について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Camera_Memo: Kotlin SDKを使ったカメラメモアプリです](https://github.com/NCMBMania/Kotlin_Camera_Memo)にアップロードしてあります。

## ナビゲーションバーの読み込

元記事を表示

OTHERカテゴリの最新記事