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

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

Ionic6でBLE機器と通信するメモ(今回はM5Stack)

BLE機器とスマホアプリでBLE通信するメモ
chromeでウェブBLEで動作は確認してきたですが、起動時に自動接続などブラウザベースではできなさそう?と思いアプリを試してみる次第
ウェブBLEでできちゃうなら、意味は薄くなるが。。
詳しく理解していないが、動くものをやってみる系なので、よくないことしてる可能性もあります。。

## 概要

下記流れでM5のデータをAPPまで伝える予定

blockly(UART BLE) < - > M5STACK(CORE2) < - > BLE通信 < - > スマホ(SamsungA20) < - > APP(Ionic)

## アプリ構築

### Ionicについて

Ionic FrameworkはオープンソースのUIツールキット
HTML,CSS,JavaScriptなどのウェブ技術を利用してAngular,React,Vueなどのフレームワークを使ってモバイルアプリやデスクトップアプリを構築可能。

![スクリーンショット 2022-04-12 155152.png](https://qiita-image-store.s3.ap

元記事を表示

Kotlin 1.6.0の変更点

※ソース記事は[こちら](https://kotlinlang.org/docs/whatsnew16.html)
※Kotlin/JSやKotlin/Nativeについては個人的に使っていないので、割愛します。
Kotlin 1.6.0では、新しい言語機能、既存の機能に対する最適化と改善、Kotlin標準ライブラリに対する多くの改善が導入されている。
[リリースブログ投稿](https://blog.jetbrains.com/kotlin/2021/11/kotlin-1-6-0-is-released/)でも、変更点の概要を知ることができる。

# 言語
Kotlin 1.6.0では、以前のリリース1.5.30の中でプレビューとして導入されているいくつかの言語機能の安定化がもたらされている。
– enum、sealed、Booleanが主語の網羅的なwhen式の安定化
– 基底型としてのsuspend関数の安定化
– suspend変換の安定化
– アノテーションクラスのインスタンス化の安定化

以下のような、様々な型の推論の改善と、クラス型のパラメータについてのアノテーションの

元記事を表示

Androidの地磁気センサーを用いて地図をヘディングアップ表示する

# はじめに

Androidの地磁気センサーを用いて地図をヘディングアップ表示するだけの話なのですが、そこら辺のサンプルはちょっと問題があったので改良した話です。

# そこら辺のサンプル

回転行列を元に SensorManager.getOrientation() でオイラー角を得て、その values[0] を使うのが、そこら辺のサンプルで転がってます。

おおむねうまく動くのですが、水平方向に向けたとき(画面が垂直になったとき)にグルングルン回ってしまいます。

また、それより高く掲げると反転してしまいます。

![図解](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104360/0b6d9e46-c2d3-6cb9-e8b8-009a66640cbd.png)

# 改良

回転行列から何とかできるんじゃないかと思って試行錯誤したところ、何とかなりました。

回転行列Rを
“`
/ R[ 0] R[ 1] R[ 2] \
| R[ 3] R[ 4] R[ 5] |
\

元記事を表示

【Android】altBeacon ライブラリを使って領域監視を行う(v2.19以上対応)

## 概要
Beacon とは Bluetooth Low Energy (BLE) を発信する端末やそれを利用した位置特定技術のことです。
今回は Android 端末を使い、Beacon の領域監視を行う方法についてご紹介します。

ライブラリは altbeacon という Bluetooth ライブラリを使用します。

なお、このライブラリはバージョン3.0で従来使えていた多くのメソッドが使用不可になることが予定されており、2.19の時点でこれらのメソッドが非推奨となっています。
そのため当記事ではバージョン2.19以上に対応した書き方を紹介するとともに、旧バージョンからの移行方法についても合わせて述べたいと思います。

## 環境
Android Studio:2021.1.1 Patch 3
kotlin:1.6.20
targetSdkVersion:32
minSdkVersion:27

## 領域監視
領域監視とは Beacon 受信端末によって、Beaconの電波領域への自身の出入りを検知する機能です。
今回は altbeacon ライブラリを使って領域監視を

元記事を表示

専門学生がFlutterを独学で初めて3ヶ月でリリースした話

# はじめに
先日AppStoreとGooglePlayStoreに入館アプリをリリースしました。
学校の友人とアプリを作ることになったため, その練習としてこちらのアプリを作りました。
自分の通っている専門学校が点呼での出席確認を行なっていたことから
作ってみようとなったのがきっかけです。

## 完成像
![出席GIF_AdobeCreativeCloudExpress.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1631114/c1089680-22d3-6f97-d788-9468072c67d4.gif)

団体ごとに自作のQRコードをスキャンするだけで入館が完了するアプリです。
[AppleStore シュッ席- 入館管理アプリ](https://apps.apple.com/jp/app/id1620188388)
## GitHub
[secretused/student_attendance_app](https://github.com/secretused/student_at

元記事を表示

ADBで画面録画の方法

[MacのPCでADBを使えるようにする方法](https://qiita.com/yuta317/items/5ed5e42710437df0b45b)

[ADBを使ってスクリーンショットを撮ってPCに取り込む方法](https://qiita.com/yuta317/items/edcc72bf6f6af0eb0605)

こちらの記事は書きましたが、画面録画はまだ書いていなかったので、書いておこうと思います。

# 画面録画を保存したいフォルダに移動します。

必要ならターミナルを開いて、cdコマンドを使いフォルダ移動します。

“`
cd 移動したいフォルダのパス
“`

※初心者の方へ、移動したいフォルダをターミナルに向けて、ドラッグ&ドロップするとそのフォルダのパスがわかります。

# 画面録画する
下記のコマンドで撮影できます。

“`
adb shell screenrecord /sdcard/record.mp4
“`

Ctrl + cで録画終了できます。

# PCに取り込む
下記コマンドで取り込むことができます。

“`
adb pull /

元記事を表示

【Android】覚えておくと便利なExtension:Part1

# はじめに
何かしらの機能で必ず使用するExtensionですが、毎度実装している便利なExtensionを備忘録的に残しておこうと思います。

# その1

“`
fun T?.notNull(): T = requireNotNull(this)
“`
LiveDataからvalueを取りたい場合に、必ず値が設定される想定であっても返却物がnullableである為、記述にnullチェックが必要だったりしますよね。
そんな場合に活用できる拡張関数です。
こちらを使用すべきかというハンドリングはもちろん必要ですが、各LiveDataの運用がしっかり計画されていれば、とても便利な拡張関数なのでおすすめです。

# その2

“`
fun Fragment.getColor(@ColorRes colorRes: Int): Int =
ResourcesCompat.getColor(
resources, colorResId, null,
)
“`
こちらは皆さんご存知のカラーを取得するだけの拡張関数ですね。
こういった

元記事を表示

kotlin RecyclerViewの並び替え(ドラッグ&ドロップ、スワイプ)の方法

# 初めに
RecyclerViewのアイテムを長押しでドラッグ、そのままアイテムを移動 または、スワイプ
させる実装です
簡単にではありますが、実装方法を残しておきます

# 早速
まず、RecyclerViewが実装されたActivityやFragmentにメンバ変数を定義します

private var itemTouchHelper: ItemTouchHelper? = null

同じクラスのonCreate()関数もしくは、onViewCreated()関数内に以下のコードを入力します

// ドラック&ドロップの実装
itemTouchHelper = ItemTouchHelper(
object : ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP or ItemTouchHelper.DOWN,
ItemTouchHelper.ACTION_STATE_IDLE) {
overrid

元記事を表示

[Android] ViewModel + DialogFragment で作成するダイアログ実装

# はじめに
業務で DialogFragment を作成しようと思いどうやって実装したら良さそうか考えたのでまとめです。
他にこうやった方が良さそうだよみたいなのがあれば教えていただけると嬉しいです。

# コード全文
https://github.com/fumiyatani/FragmentDialogSample

# やりたいこと
以下のような実装を目指していきたいと思います。
– DialogFragment は メソッドチェーンを使って表示項目を設定する。
– ViewModel を使って呼び出し元に対してボタンクリック時のイベントを渡す。

# 実装
## 1. クリックイベントなどを通知する ViewModel を作成する
まずはダイアログ用の ViewModel を作成します。
今回作成するダイアログはタイトルとメッセージ、ボタンが2つ (OKとキャンセル) のシンプルなダイアログを作成します。
なので以下の3つの実装を持つ ViewModel を作成します。
– ダイアログのボタンクリックイベントをViewModelへ通知するメソッド
– 呼び出し画面で監視する

元記事を表示

新しくモジュールを作ったときにbuild.gradleを3行で済まし、カスタマイズをDSLで行う2

1がうまく動かない部分があったのですが、ジワジワLGTMしていただいて、うまく動かないものになっていて申し訳ないので、修正版を用意しました。

https://qiita.com/takahirom/items/50672e079f42c1b7b00c

# 結論とコード

androidComponents.finalizeDslを使って、カスタマイズしよう。

こちらで確認できます。buildSrcとライブラリのbuild.gradleをご確認ください。

https://github.com/takahirom/android-gradle-plugin-common-logic-sample

使う側のコード

“`kotlin
plugins {
id(“my.custom.library”)
}

myCustomExtension {
useCompose = true // カスタマイズしたい部分だけ変更する
}
“`

使われる側のコード

buildSrc/src/main/kotlin/my.custom.library.gradle.kt

元記事を表示

Androidのビュー部品(8)Google/Legacyパレット

# はじめに

Androidアプリの開発のために、パレットとビュー部品についての理解を整理します。
この記事で取り扱う環境は、Android Studio+Windows10です。

:::note info
真新しい情報ではありません。体系立てて理解を整理するために、自分が理解しやすい枠組みでまとめるものです。
:::

## ひとつ前

https://qiita.com/w2mjra555/items/fea8d7b0c1d3b353a6bc

## 1.レイアウトファイル(activity_main.xml)

デザインビューで見るとこんなかんじです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515319/60db1f75-f50e-6f5d-cd56-4ca234735668.png)

## 1.パレットとビュー部品

| No | パレット || No | パレット || No | パレット |
|———–:|:———–|:——

元記事を表示

Androidのビュー部品(7)Helperパレット

# はじめに

Androidアプリの開発のために、パレットとビュー部品についての理解を整理します。
この記事で取り扱う環境は、Android Studio+Windows10です。

:::note info
真新しい情報ではありません。体系立てて理解を整理するために、自分が理解しやすい枠組みでまとめるものです。
:::

## ひとつ前

https://qiita.com/w2mjra555/items/1fe17da75e1d23da3a6c

## ひとつ先

https://qiita.com/w2mjra555/items/ccb049c5565e76c8a9a1

## 1.レイアウトファイル(activity_main.xml)

デザインビューで見るとこんなかんじです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515319/60db1f75-f50e-6f5d-cd56-4ca234735668.png)

## 1.パレットとビュー部品

| No | パレ

元記事を表示

Androidのビュー部品(6)Containersパレット

# はじめに

Androidアプリの開発のために、パレットとビュー部品についての理解を整理します。
この記事で取り扱う環境は、Android Studio+Windows10です。

:::note info
真新しい情報ではありません。体系立てて理解を整理するために、自分が理解しやすい枠組みでまとめるものです。
:::

## ひとつ前

https://qiita.com/w2mjra555/items/c905fa364541dc0d6a0d

## ひとつ先

https://qiita.com/w2mjra555/items/fea8d7b0c1d3b353a6bc

## 1.レイアウトファイル(activity_main.xml)

デザインビューで見るとこんなかんじです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515319/60db1f75-f50e-6f5d-cd56-4ca234735668.png)

## 1.パレットとビュー部品

| No | パレ

元記事を表示

Androidのビュー部品(5)Layoutsパレット

# はじめに

Androidアプリの開発のために、パレットとビュー部品についての理解を整理します。
この記事で取り扱う環境は、Android Studio+Windows10です。

:::note info
真新しい情報ではありません。体系立てて理解を整理するために、自分が理解しやすい枠組みでまとめるものです。
:::

## ひとつ前

https://qiita.com/w2mjra555/items/47aee6e2b1be2a09fc54

## ひとつ先
https://qiita.com/w2mjra555/items/1fe17da75e1d23da3a6c

## 1.レイアウトファイル(activity_main.xml)

デザインビューで見るとこんなかんじです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515319/60db1f75-f50e-6f5d-cd56-4ca234735668.png)

## 1.パレットとビュー部品

| No | パレッ

元記事を表示

Androidのビュー部品(4)Widgetsパレット

# はじめに

Androidアプリの開発のために、パレットとビュー部品についての理解を整理します。
この記事で取り扱う環境は、Android Studio+Windows10です。

:::note info
真新しい情報ではありません。体系立てて理解を整理するために、自分が理解しやすい枠組みでまとめるものです。
:::

## ひとつ前

https://qiita.com/w2mjra555/items/e87d10a64d2e32347aa2

## ひとつ先

https://qiita.com/w2mjra555/items/c905fa364541dc0d6a0d

## 1.レイアウトファイル(activity_main.xml)

デザインビューで見るとこんなかんじです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515319/60db1f75-f50e-6f5d-cd56-4ca234735668.png)

## 1.パレットとビュー部品

| No | パレ

元記事を表示

Androidのビュー部品(3)Buttonsパレット

# はじめに

Androidアプリの開発のために、パレットとビュー部品についての理解を整理します。
この記事で取り扱う環境は、Android Studio+Windows10です。

:::note info
真新しい情報ではありません。体系立てて理解を整理するために、自分が理解しやすい枠組みでまとめるものです。
:::

## ひとつ前

https://qiita.com/w2mjra555/items/b7caea7ff5d1b506c73f

## ひとつ先
https://qiita.com/w2mjra555/items/47aee6e2b1be2a09fc54

## 1.レイアウトファイル(activity_main.xml)

デザインビューで見るとこんなかんじです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515319/60db1f75-f50e-6f5d-cd56-4ca234735668.png)

## 1.パレットとビュー部品

| No | パレ

元記事を表示

Androidのビュー部品(2)Textパレット

# はじめに

Androidアプリの開発のために、パレットとビュー部品についての理解を整理します。
この記事で取り扱う環境は、Android Studio+Windows10です。

:::note info
真新しい情報ではありません。体系立てて理解を整理するために、自分が理解しやすい枠組みでまとめるものです。
:::

## ひとつ前

https://qiita.com/w2mjra555/items/0e5bb3997bc1989a5ef5

## ひとつ先
https://qiita.com/w2mjra555/items/e87d10a64d2e32347aa2

## 1.レイアウトファイル(activity_main.xml)

デザインビューで見るとこんなかんじです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515319/60db1f75-f50e-6f5d-cd56-4ca234735668.png)

## 1.パレットとビュー部品

| No | パレッ

元記事を表示

Androidアプリを開発する #2

# はじめに
* 今回も始めていきます.
前回の記事はこちらから

https://qiita.com/sekkenn1102/items/0de90e952f6dee081d66

### 前回発覚した課題点に関して
* #1のおわりにで端末ごとに見え方が変わってしまう現象を調査しないと…という記載をしていた件に関して、Android 10 (API レベル 29)以降で端末側にダークテーマという設定が実装されたようです.これは端末側で一部アプリなどの見え方を暗くすることで、節電などの効果をもたらす機能のようですが、#0時点でアプリが初期設定であったため、バックグラウンドカラーを明示的に指定していなかったたことで、端末側でダークモード時のカラーが適応されたと思われます.
原因が特定できたのとレイアウトが崩れるわけではなさそうなので今回はいったん対応せずに進めます.

https://developer.android.com/guide/topics/ui/look-and-feel/darktheme?hl=ja

# 登録画面の機能をつめていく
* 前回は登録画面のレイアウト配置

元記事を表示

【Flutter】XcodeでCould not inspect the application package.というエラーと2日戦った話

掲題のエラーと戦い続け、とても単純な原因で休日を2日潰しました。
私及び読者が同じ轍を踏まないように戒めとして残しておきます。
※エラー原因が特殊だった可能性もあるので、あくまでも一例としてご理解ください。

## 結論 (原因)

**pubspec.yml**のassetファイルのパス指定ミスが原因。


before: **lib/asset/aaa/image**
after : **asset/aaa/image**

## 事象概要
– 半年ぶりに自分のアプリをアップデートしようと思い、各種プラグイン/Flutter/Gradle/Pod諸々全て最新に更新
– XcodeにてiOSの実機ビルドは成功するがインストール時に以下発生

“`
Details

Unable to install “Runner”
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402653103
User Info: {
DVTErrorCreationDateKey = “2022-05-05 04:09:24 +0000

元記事を表示

Androidのビュー部品(1)Commonパレット

# はじめに

Androidアプリの開発のために、パレットとビュー部品についての理解を整理します。
この記事で取り扱う環境は、Android Studio+Windows10です。

:::note info
真新しい情報ではありません。体系立てて理解を整理するために、自分が理解しやすい枠組みでまとめるものです。
:::

## ひとつ前

https://qiita.com/w2mjra555/items/cdd838c2e11b76814c84

## ひとつ先
https://qiita.com/w2mjra555/items/b7caea7ff5d1b506c73f

## 1.レイアウトファイル(activity_main.xml)

デザインビューで見るとこんなかんじです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515319/60db1f75-f50e-6f5d-cd56-4ca234735668.png)

## 1.パレットとビュー部品

| No | パレッ

元記事を表示

OTHERカテゴリの最新記事