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

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

タスク管理アプリを作ろう

# 1.はじめに
これまでに3つのAndroidStudio&Flutterを書いてきた。

・環境構築方法の紹介
https://qiita.com/my1981/items/abe835e7241373713670

・簡単なプロジェクトの設定と共有方法の紹介
https://qiita.com/my1981/items/ad307498ea7fd9837d47

・エミュレータの言語設定をかえよう
https://qiita.com/my1981/items/bf75ec195b40b0930a58

今回はflutterアプリの入門編としてタスク管理アプリを作成する。

# 2.タスク管理アプリを作ろう
## 2-1.完成イメージ
アプリの完成イメージと操作方法を説明する。
①プロジェクトを実行するとタスクの描画画面が開く。タスクを追加するためにプラスボタンを押す。
task_app0.pngスクロール可能なDialogを作成するDiallog+ConstraintLayout+ScrollView

“Android dialog constraintlayout”などで調べると山のように出てくるので、ダイアログをいじろうとしたときにみんなぶつかるんだろうなあという感じです。
自分も先人たちと同じ轍を踏んだので、いつかの誰かの助けになれればと思います。

# 前提
| ライブラリ | version |
|:-:|:-:|
|material|1.6.1|
|constraintlayout|2.1.4|

# 要点
ScrollViewに`app:layout_constraintHeight=”wrap_content_constrained”`を指定するとよい。

# コード
“`dialog_scrollable.xml

元記事を表示

JavaからKotlinに変えてみる

## はじめに

?‍♂️「どうも運動通信社で働くAndroidエンジニアの明田です!
弊社では2021年11月頃からJavaで書かれたのAndroidプロジェクトをKotlinにゴリゴリ書き換えていっています!
Koltin化一緒に進めたいそこのあなた、この世界をKotlinにする運動にこぞってご参加してください!」

※ Kotlin化に伴い得た知見や感想などを書いている記事になります。是非参考にしてください

## Kotlinとは

2017年のGoogleがKotlinを正式にAndroidの開発言語として発表されました。
KotlinはJVM(Java仮装マシン)をサポートしているため、Javaが動くところではどこでもKotlinが動きます。

さらに、Javaが抱えている課題を解消しているのもKotlin化するメリットになります。
その導入の簡単さと、Javaとの親和性、既存プロジェクトへの導入リスクの低さが多くの企業のAndroid開発に採用されている要因ともなっています。

↓Android以外にサーバーサイドとしてKoltinを導入している企業

https://q

元記事を表示

JetpackComposeのRippleダサくない?

# 初めに
前回に引き続きJetpackComposeの記事を書いていこうと思います
今回はJetpackComposeを実装してる時に自分がこれ修正したいなぁって思って調べたものを備忘録として残しておきます

### 本文
早速ですが、実は結構簡単なんですよね。
`Modifier`でタップの挙動を制御する時に設定する`clickable`に対して以下の設定を追加してあげればいいだけです

“`kotlin
interactionSource = remember { MutableInteractionSource() },
indication = rememberRipple(),
“`
`rememberRipple`内に`bounded`, `radius`,`color`を好きなように設定できます。
`bounded`は`false`を渡すことで領域を超えてエフェクトが発生します。
`radius`は大きさを指定することができ、`color`は`ripple`の色を変更することができます。

### 最後に
JetpackComposeは非常に便利な分、まだ思った通り

元記事を表示

Android12でBeaconが取得できない

# 結論
BLUETOOTH_SCANのパーミッションを要求する

`AndroidManifest.xml`
“`



<-追加

元記事を表示

UnityのAndroidビルド手順

UnityでAndroidビルドを作成しようとしたところエラーが大量に出て以下対応を行うと直りました。
# 環境
OS : Windows10
Unity バージョン : 2019.4.20f1
Android バージョン : 12
スマホ : Google Pixel 3a
Android Studio バージョン: 2021.2.1

# スマホ側の設定
スマホの開発者モードを有効にし、デバッグモードをONにします。
1. 設定>デバイス情報へ進み、ビルド番号を7回連続でタップします。
Android_SettingDeviceInfo.pngAndroid_BuildNo.png[Android] 丸角Buttonを簡単に作ってみる

# はじめに
丸ボタンを作るときに、XMLを自分で作成してStyleを適応する方法などいろいろとあり、悩むときもあると思います。
そんな中、結構前になりますが、スタイルがparent=”Theme.MaterialComponents.DayNight.DarkActionBar”に変えたことにより、より便利なボタンの設定項目を使えるようになったらしい。
それを使ってみようと思う。

Styleを自分で作らなくて見やすいコードを書こう!!

# 丸角ボタンを作る
![キャプチャ1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1209385/a074d15f-f66b-6b7a-cafc-761d0535a14f.png)

### 内容

“`xml

元記事を表示

【Android】OpenCVでUnsupported format or combination of formatsとエラーが出た時の対処法

# 概要

OpenCVのinpaintメソッドを使った際、下記のようなエラーが出た。
“`
Unsupported format or combination of formats (8-bit, 16-bit unsigned or 32-bit float 1-channel and 8-bit 3-channel input/output images are supported)
“`

# 対策
メソッド実行前に、`cvtColor`で色変換を行えば解決した。
“`Kotlin
val src:Bitmap = //(省略)
val mask:Bitmap = //(省略)

//元画像
val srcMat = Mat(src.width, src.height, CvType.CV_8UC3).also {
Utils.bitmapToMat(src, it, false)
Imgproc.cvtColor(it, it, Imgproc.COLOR_RGBA2RGB)
}

//マスク画像
val maskMat = Mat(mask.width, mask

元記事を表示

Fireタブレットをスリープさせない(画面も暗くさせない)方法

## はじめに
我が家では、Zabbixのダッシュボード画面をAmazon Fireタブレット(余っていたFire 7)上のブラウザにて常時表示させているのですが、どうしても一定時間経過すると画面が勝手に端末がスリープしてしまったり、画面が暗くなってしまったりして困っていました。
その問題を解決することができたので、その際のメモです。

## まずはFireタブレットの標準機能を使っての対応
Fireタブレットの画面スリープするまでの時間は、標準では最長30分までしか設定できないようです。

「設定」→「ディスプレイ」→「画面スリープ」
と進むと、最短15秒から最長30分が選択できます。

## 開発オプション を使用しての追加設定
標準の設定画面では最長30分までしか設定できませんでしたが、**開発者オプション**を使用することによりスリープモードを無効にすることができます。
#### 開発者オプションを有効にする
「設定」→「端末オプション」→「シリアル番号」を数回タップ
これで、「開発者オプション」が表示されるようになります。
#### スリープモードにしない設定
「開発者オプシ

元記事を表示

Kotlin 1.7.0の変更点

※ソース記事は[こちら](https://kotlinlang.org/docs/whatsnew17.html)
※Kotlin/JS、Kotlin/Nativeについては割愛します。

Kotlin 1.7.0がリリースされた。新しいKotlin/JVMのK2コンパイラのアルファバージョンが明らかになり、言語機能が安定化され、JVM、JS、Nativeプラットフォームのための性能改善がもたらされている。
こちらにこのバージョンの主な更新の一覧がある。
– 現在、新しいKotlin K2コンパイラがアルファであり、それにより重大な性能改善が提供されている。それはJVMのみで利用可能であり、kaptを含めどのコンパイラプラグインとも連携しない。
– Gradleでの差分コンパイルの新しい取り組み。差分コンパイルは、今ではKotlinでない独立したモジュール内で起きた変更もサポートしており、Gradleと互換性がある。
– オプトインが必要なアノテーション、明らかな非null型、ビルダーインターフェイスが安定化された。
– 型引数のためのアンダースコア演算子が今では存在する。他の型が指定

元記事を表示

【Jetpack Compose】Icon() や Image() で ImageVector をより便利に使う

コード記述のみでベクターのマテリアルアイコン使えます。

drawable の作成が不要なので便利、変更もしやすいです。

“`kotlin
Icon(
imageVector = Icons.Filled.Favorite,
contentDescription = null
)
“`

“`kotlin
Image(
imageVector = Icons.Filled.Favorite,
contentDescription = null
)
“`

悪い点としては、

> 絵柄が49個しかない

> 絵柄を見ながら選択できない

というところでしょうか。

対応策を考えてみましょう。

[? 【Jetpack Compose】Icon() や Image() で ImageVector をより便利に使う](https://android.benigumo.com/20220613/jetpack-compose-imagevector/)

元記事を表示

[Unity] CommandInvokationFailure: Failed to update Android SDK package list.

# 経緯
UnityでAndroidビルドしようとしたらエラー。何もいじっていないはずなのに。
“`:エラー内容
CommandInvokationFailure: Failed to update Android SDK package list.
“`

# 解決方法

Preference > ExternalTools
AndroidのJDKとSDKのチェックを外す。
一度設定ウィンドウを閉じる。
JDKとSDKのチェックを再度入れる。

直る。

# 環境
macOS Monterey
Unity 2020.3.34f1

# 参考文献
– [【Unity】failed to update android sdk package listの解決方法](https://ymgsapo.com/2021/08/18/%E3%80%90unity%E3%80%91failed-to-update-android-sdk-package-list%E3%81%AE%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95/)

元記事を表示

spanで使えそうな機能

# はじめに
今回はspanというTextに対してコードで装飾を施せるものを使ったので、
spanについて調べた中で使えそうな機能をまとめます

# span早見表

|span|説明|
|:—|:—|
|LeadingMarginSpan|マージンを変更する|
|LineBackgroundSpan|背景を変更する|
|BackgroundColorSpan|背景色を変更する|
|LineHeightSpan|行の高さを変更する|
|AbsoluteSizeSpan|テキストサイズを変更する|
|ClickableSpan|テキストをクリック可能にする|
|DrawableMarginSpan|画像(Drawable)とマージンを設定する|
|ForegroundColorSpan|テキストカラーを変更する|
|ImageSpan|テキストを画像(Drawable)に変更する|
|QuoteSpan|テキストの先頭に縦線を追加|
|UnderlineSpan|テキストにアンダーラインを追加|
|StrikethroughSpan|テキストに取り消し線を入れる|
|StyleS

元記事を表示

ダイアログの角を丸める方法

# はじめに
ダイアログの角を丸めるケースが比較的多い印象なので、備忘録的にまとめておこうと思います!

# 丸める方法
ダイアログの角を丸めるには、styleを使用します。
styleに角を丸める為のdrawableを設定する必要があるので、まずはdrawableを作成します。

“`





“`
上記のように背景色や枠などの定義も可能なので、必要に応じて設定すると良いと思います。
次にstyleに定義します。

“`