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

Android関連のことを調べてみた2023年10月05日
目次

ConstraintLayoutに入門しよう

## はじめに
この記事はAndroidレイアウトを理解し始めた(気がする)人による、まだ理解していない人への記事です。間違えていたり、分かりにくい場合はコメントで教えてね

## Constraint Layoutとは?
Constraintは日本語で「制約」を意味します。
Constraint Layoutは、それぞれのViewに「制約」を与えることでViewの位置を決めるLayoutです。
## ConstraintLayoutの前提
Constraint Layuoutでは(他のLayoutでもそうですが)、4辺を上下左右ではなくTop、Bottom、Start、Endと呼びます。これは画面の向きが変わったり、いろいろした時に向きがぐちゃぐちゃにならないようにするためです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3554880/248dd02d-6b67-4727-d4fc-44b4a77dcb7d.png)

## 制約って何?
Constraint Layoutでの

元記事を表示

Android App store‐自分への戒め

# アカウント作成や基本的に手続きの解説

:::note info
インフォメーション
まずは準備段階で必要な事がまとめられているこちらのページをご覧ください。
:::

## nyanさんのアプリ開発
https://akira-watson.com/android/developer-console.html

作ったは良いけど、どうしたら公開できるのといった細かい点が網羅されています。

# アップ時の決まり事
– Release 版をアップしましょう。
– 私はうっかりDebug版あげてました(メニュー上、選択していない方)
– アップロード時点でエラーが出たらとにかくつぶします。
– 知らずにアップした時点でだれか?がめいいっぱいテストして、問題点指摘してくれます

![屏幕截图 2023-10-03 21.38.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2155177/014e4d0f-b311-7374-f4f7-2bc6fab2cc25.png)

## 注意2 難読解フ

元記事を表示

pytorch mobileのObject Ditectionデモを任意のサイズのモデルで実行できるようにする

[前回](https://qiita.com/sanjolin_chun/items/090ff55c748f003a54a7)に引き続き,[pytorchのObject Ditectionのデモ](https://github.com/pytorch/android-demo-app)を扱う.こちらのソースコードでは,推論時にモデルの名称を直接渡していたため,モデルのサイズを変更するために,いちいちコードを書き換えて,再ビルドしなければならなかった.そこでandroidの復習がてら,アプリ側でモデルの変更ができるようにする.

さらに下記の実行環境での各モデルのリアルタイムでの推論時間についても計測したので記述しておく.

## 実行環境
実行端末のスペック
– Xiaomi 11T Pro
– Snapdragon™️ 888
– Android 13 TKQ 1.220829

yoloモデルはREADMEに従って,4種exportした.
– yolov5s.torchscript.ptl
– yolov5m.torchscript.ptl
– yolov5l.torch

元記事を表示

pytorch mobileのObject Ditectionサンプルを動かす

[前回](https://qiita.com/sanjolin_chun/items/f667adf5ad75ed47c9bd)に引き続き,[こちら](https://github.com/pytorch/android-demo-app)のpytorchmobileのデモを動かしたメモ書きを残す.今回はObject Ditectionとして,yolov5を使用したリアルタイム推論が紹介されていたので,こちらを実行してみる.

android-demoのgit cloneとREADMEで紹介されているyolov5のgit cloneまでは実行しているものとする.

## ptlファイルを作成するdocker環境の編集

READMEに従って,yolov5リポジトリから,ptlファイルを生成する. 手元にあった未編集の“`pytorch/pytorch:1.9.1-cuda11.1-cudnn8-devel“`イメージを使用してexport.pyを実行した(GPU環境は使用していない).

##### 元の環境
“`
torch 1.10.0
to

元記事を表示

pytorch mobileのHelloWorldサンプルを動かす

今回は[こちら](https://github.com/pytorch/android-demo-app)のpytorch_mobileのandroidデモを動かしてみたので,備忘録として実行方法を載せておく.基本はREADMEを読んで,その通りに実行すれば良いのだが,コードの変更や,環境の依存性があるため,誰かの役に立つ可能性があると思われるため,メモを残す.
## 実行端末情報
– Xiaomi 11T Pro
– MIUI バージョン 14.04
– Android 13 TKQ 1.220829

## gradleビルドパッケージについて
gradleで指定したパッケージを更新したいが,jcenter()が閉鎖済みであり,これの変更が必要.
jcenterをmavenに変更.あまり最新版のgradleにしすぎるとエラーを吐くようになるため適当に更新.今回は,ビルドツールの4.2.0あたりが最善だった.

gradleのパッケージの対応バージョンは下記で閲覧することができる.mavenの公式だと思うが,非常に助かる.
https://mvnrepository.com/arti

元記事を表示

Androidアプリ「TaskPriority」をリリースしました【個人開発】

## はじめに

個人開発したAndroidアプリ「TaskPriority」をリリースしました!

Androidアプリのリリースは今回で3回目です!

この記事ではリリースしたアプリの紹介や制作した経緯などについてを自分のための備忘録として書いていきます。

## 目次
1. リリースしたアプリ「TaskPriority」について
2. 制作した経緯
3. 使用した言語・データベース
4. 今までのアプリ開発で感じた課題とその解決策
5. 今後修正したいところ
6. おわりに

## リリースしたアプリ「TaskPriority」について
#### リリースしたアプリ

* TaskPriority:優先順位がわかるタスク管理アプリ

#### アプリの概要

タスクの優先順位を確認することができるタスク管理アプリです。
優先順位が高いタスクは濃い色で、低いタスクは薄い色で表示されるので、下記画像のようにグラデ

元記事を表示

Kotlin Multiplatform の SKIE について Suspend Fuctions 機能の動作を TCA を使って確認しました

# はじめに

先日、Kotlin Multiplatform における iOS 向け API を Swift から使いやすくするツール [SKIE](https://skie.touchlab.co/) の[機能](https://skie.touchlab.co/features/) のうち、 [Sealed Classes](https://skie.touchlab.co/features/sealed) を紹介しました。導入方法もこちらで解説しています。

https://qiita.com/tfandkusu/items/833b16c2ef4a03307c77

今回は [Suspend Functions](https://skie.touchlab.co/features/suspend) についての紹介と [The Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture) (TCA) を用いた動作確認を行います。

ちなみに SKIE の発音は空の「ス

元記事を表示

iOS, Androidエミュレータにファイルを転送するにはドラッグアンドドロップすればOK

ふと試したらあっさりできて感心した
一応仕事でスマホアプリ開発していたこともあったのに初めて知りました

# Android
Downloadsにコピーされる
![スクリーンショット 2023-10-01 22.33.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/352532/e9fea86c-3d58-7977-6974-dea33d24f038.png)
![スクリーンショット 2023-10-01 22.34.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/352532/431cd565-5c89-d5b1-0cd5-79d68e63c3a4.png)
![スクリーンショット 2023-10-01 22.34.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/352532/5af3eda7-1498-6925-9f6

元記事を表示

【Android】「” “(ダブルコーテーション)」を文字列に入力したい【Kotlin】

# 「\」バックスラッシュを使う
「\」を「”」の前に入れることでダブルコーテーションを表示できる
“`
“\”Hello, world!!!\””   // “Hello, world!!!”
“`
# 三連引用符を使う
ダブルコーテーション三つで囲む方法でも表示できる
“`
“”””Hello, world!!!””””   // “Hello, world!!!”
“`

# おわりに
stringリソースを使えばこんなことしなくても良いような気もしますが、どうしてもリソースを使わずにダブルコーテーションを表示したい場合があるかと思い記事にしました。
簡単にではありましたが、軽いメモ的な感覚で今回の記事としておきます。

元記事を表示

RatingBarの画像をカスタマイズする方法

# はじめに
RatingBarは評価に使われるツールです
ユーザーに商品の評価などをしてもらうときに便利な機能ですね
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252283/5954a014-4d35-85de-645b-0f7c4689d832.png)

https://developer.android.com/reference/android/widget/RatingBar

色のカスタマイズなどは容易なのですが、たまに星の画像(形)を変更してほしいという依頼がありします
というわけでカスタマイズ方法の紹介です
ただし、修正方法は公式推奨の変更方法がないので、あまり推奨はできません
RatingBarは元々OSバージョンやユーザー設定によってバグが起きやすいの機能なので変更したくないというのが本音・・
今回はなるべくバグが起きない、且つ、簡単な方法を紹介します(大手サービスでしばらく運用していますが今のところ問題は起きていません)

# 調べたやり方
参考サイト:
Ra

元記事を表示

Navigationのデスティネーションの引数の型にインナークラスを使う

## 内容
“`kotlin
package androidx.navigation.myapp

class Argument {
enum class Type {
A,
B,
}
}
“`
上記`Type`を`Navigation`コンポーネントのデスティネーションの`argument`に指定するとき、下記のように書いてしまいがちですが、エラーになります。
“`xml

“`
こちらのように$を使います。
“`xml

BuildozerファイルをカスタマイズしてAndroidアプリのアイコンを変える。

# はじめに
 Python+Kivy+BuildozerでAndroidアプリを作ることができる。ただ、Buildozerをデフォルト設定でビルドするとアイコンがKivyのマークになる。この記事では、自作のアイコンへ変更する方法についてまとめる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299802/8c70d61c-a8a2-00c7-5d3c-07a3341dd638.png)

PythonでAndroidアプリを作る方法は下記参照。

https://qiita.com/tapitapi/items/e91d67d59ed10caa59f6

# Buildozer.specをカスタマイズしてアイコン変更
 アイコン含めBuildozerの設定は、“`buildozer init“`で生成される“`buildozer.spec“`ファイルを変更することでできる。アイコン変更は“`icon.filname“`を有効にすればOK。
 “`%(source.

元記事を表示

初Androidアプリ開発 学習内容備忘録

# 内容

初Androidアプリ開発で学習した流れの備忘録、リンク集
(※ 学習中のため、今後も更新予定)

# アプリ アーキテクチャ

[アプリのコンポーネント](https://developer.android.com/guide/components/fundamentals?hl=ja#Components)

[初めての Android アプリを作成する](https://developer.android.com/codelabs/basic-android-kotlin-compose-first-app?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-1-pathway-2%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-first-app&%3Bhl=ja&hl=ja#0)
[Jetpack

元記事を表示

Androidの連絡先からvCardを作成する

# 概要
`ContactsContract.Contacts.CONTENT_VCARD_URI`を使って連絡先をvCard形式で取得します。

https://developer.android.com/reference/android/provider/ContactsContract.Contacts#CONTENT_URI

# 詳細
Androidには、連絡先からvCard形式のデータを取得するContent URIがあるので、それを利用して連絡先をvCardにして取得を行います。
利用するには `READ_CONTACTS` のパーミッションが必要になるので適宜取得してください。

## vCardを取得したい連絡先を選択

まずはvCard形式で取得したい連絡先を選択します。おそらく最も手軽であろう連絡先読み込みIntentで連絡先をリストから選択して、その結果を受け取るようにします。

https://developer.android.com/guide/topics/providers/contacts-provider?hl=ja#Intents

“`Ko

元記事を表示

Windows10上のBurp SuiteとNox Playerで通信をキャプチャする環境を作ってみる

# はじめに

いまさら(2023年)ながら、まとめてみる

# 各種ツールのインストール

– [Burp Suite Community Edition](https://portswigger.net/burp)
– [OpenSSL](https://slproweb.com/products/Win32OpenSSL.html) for [Windows](https://slproweb.com/products/Win32OpenSSL.html)
– [NoxPlayer](https://jp.bignox.com/)

インストール自体はさすがに省略 m(_ _)m

今回のバージョンは、

– Windows10 Professional
– Burp Suite Community Edition 2023.10.1.1
– Win64 OpenSSL v3.1.3
– Nox Player v7.0.5.8(2023/09/11) (Android9相当!?) (ダウンロードしたらv7.0.5.9だった)

# 認証局証明書の抽出

Burpから、証明

元記事を表示

[Android] Github Actionsでリリースビルド

https://qiita.com/shimizu-you/items/33735dcdd2f89837704f

こちらで、PR時のビルドチェックを記載しましたが、リリースビルドする方法も記事にしたいと思います。

### 準備

準備として、Githubの設定で、Actions secrets and variablesのsecretsにkey情報を保存します。
保存する情報としては、下記になります。
KEY_ALIAS
KEY_PASSWORD
STORE_PASSWORD
KEYSTORE_BASE64

KEYSTORE_BASE64は、署名書をbase64に変換した文字列を格納します。
下記のコマンドを実施して表示された文字列を保存してください。
“`
cat release.keystore | base64
“`

### Github Actions

“`yml
name: Tag Release

on:
workflow_dispatch:
inputs:
tag:
required: true

permissi

元記事を表示

Google Play Consoleでアプリを移行するときに、移行先がやっておくべきこと

# はじめに
最近、Google Playのアプリをアカウント間で移行することがありました。
そのときに、想定していなかった事項で手間取ることがあり、
今後、移行する方向けに記録として残すことにしました。

# 1. 本人確認
まず、移行先でアプリを公開するためには本人確認を行う必要があります。
Google Play Consoleの左のペインの「すべてのアプリ」のページ内から設定できます。
**登録完了後、2~3営業日ほどかかる** ので、なるべく早く対応しましょう。

![スクリーンショット 2023-08-25 9.50.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123957/b0bf6809-1851-b795-0f0e-8b15e859cc26.png)

![スクリーンショット 2023-08-25 9.48.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123957/8c53b6b9-68

元記事を表示

【Android/Java】Cognitoで認証をするときのメモ

## Cognitoでユーザーのセッション状態を確認する
“`java
try {
// Amplify プラグインの追加と初期化
Amplify.addPlugin(new AWSCognitoAuthPlugin());
Amplify.configure(getApplicationContext());
Log.i(“MyAmplifyApp”, “Initialized Amplify”);

// ログイン状態の確認
Amplify.Auth.fetchAuthSession(
result -> Log.i(“AmplifyQuickstart”, result.toString()),
error -> Log.e(“AmplifyQuickstart”, error.toString())
);
} catch (AmplifyException error) {
Log.e(“MyAmplifyApp”, “Could not initialize Amplify”, erro

元記事を表示

[Android] Github Actionsでビルド

AndroidのPRに対して、Bitriseでビルドしていたのですが順列処理なので、ビルドに時間がかかってました。
なので、Github Actionsに切り替えようと思ったのですが、情報があまりなかったので、自分でまとめてみようと思います。

### 準備

Androidのプロジェクトに下記を追加する。
ファイル名は、任意で大丈夫です。

“`
.github/workflows/pr.yml
“`

### Github Actions

“`yaml:pr.yml
name: Pull Request

on:
pull_request:
types: [ opened, synchronize, reopened ]

permissions:
contents: write
actions: read

jobs:
build:
runs-on: ubuntu-latest
steps:
– name: Checkout
uses: actions/checkout@v4
with:

元記事を表示

Arduinoとスマホでお家をモニタPart2【スマホで情報を受信!】

# 初めに
[前回](https://qiita.com/Antareskkudo/items/f80b74151e56759d6c67)はシステム概要の紹介と、ArduinoとBluetoothの配線・プログラム作成まで行いました。今回は全体構成図の「**Bluetoothの情報をスマホで受け取る**」部分をやっていきます。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1100334/5ade8514-4ec5-b83a-b0dc-23ce437c101e.png)

ここからが難しいですが楽しいところです!作者もわかっていない部分がありますので、できるだけ解説しながらやっていきますが、わからない・その説明間違っているって場合にはコメントください!

# 概要
本記事で紹介するシステムは以下の通りです。前回のBluetooth送信機(RN-42)で送信したデータは**Bluetooth SPP(Serial Port Profile)プロトコル**を使用しています。このプロトコルはシリアル

元記事を表示

OTHERカテゴリの最新記事