Android関連のことを調べてみた

Android関連のことを調べてみた

手っ取り早くWindowsでadbコマンドを利用できるようにする方法

“`bat
winget install Google.PlatformTools
“`

:::note warn
たまにシステムが古いとエラーになるので、Windows Updateの実施とかストアの更新とか追加コマンドが必要になる場合があるけど、エラーが出た場合の具体的な対処はよくわからん
とりあえずwingetのバージョンを上げておけばええんでないかな
https://forest.watch.impress.co.jp/docs/news/1535509.html
:::

“`bat
C:\>winget install Google.PlatformTools
見つかりました Platform Tools [Google.PlatformTools] バージョン 34.0.5
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
インストーラーハッシュが正常に検証されました
アーカイブを展開しています…
アーカイブが正常に展開されました
パッケージのインストール

元記事を表示

IT業界に憧れる臨床工学技士が独学でAndroidアプリを開発した話

# はじめに
病院や医師が本気の医療を提供するためには、医療機器も実力を発揮できるよう、常日頃から交換部品や消耗品の定数を維持しておく必要があります。医療機器を安全かつ効率的に運用するうえで在庫管理は重要ですが、やはり患者さんの命に直接影響するという意識が低く、在庫管理は軽視されがちです。

私は臨床工学技士でありIT職種ではありませんが、部署内で使用する在庫管理アプリを開発・運用し2年ほど経過しました。そんなお話をしたいと思います。完成度については、プロの皆さんには遠く及ばないことは存じておりますので、温かい目で読んでいただけるとありがたいです。

# 私について
札幌市内の病院に勤務する臨床工学技士ですが、大学生のときからアプリ開発に興味がありました。Java・Kotlin・Python・C#などを独学で勉強し、自分ができることを使って自分や周りの人の仕事を少し楽にしたいと考えています。
### 臨床工学技士とは
臨床工学技士は専門学校や大学を卒業後、国家試験に合格することで厚生労働大臣より免許を受け、医療機器の操作や保守管理を生業としています。
我々が携わる医療機器は多岐に渡り

元記事を表示

既存のアプリを魔改造して、音声入力対応のデジタルサイネージを作ったお話

https://tech.i3-systems.com/entry/2023/10/31/kaigi_on_rails_2023 

このイベントに持ち込んだ、フラッシュ暗算をどのようにして作ったのか、という実装寄りのお話です。

## 既存: 手でポチポチと入力するフラッシュ暗算アプリ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74571/6485e33e-c5ab-98bd-8cee-7e0754468bf3.png)

もともとは、Androidアプリ開発を始めたエンジニアが練習で作ったものでした。画面数もこの絵のくらいで、非常に簡素なものでした。Jetpack Composeも、Navigationコンポーネントも使われていない、素直にActivityを並べて作ったアプリでした。

## Step0: ViewModel + LiveData の構成にする

これはデジタルサイネージ関係なく、ただただ画面とロジックの分離です。

もともと、Activityにベタ書きで乱数発

元記事を表示

Android版のGNU Emacsについて


# Android版のGNU Emacsについて

[0. 前書き](#0-前書き)

[1. Android版のGNU Emacsの入手](#1-android版のgnu-emacsの入手)
[1.1 F-Droid版](#11-f-droid版)
[1.2 SourceForge版](#12-sourceforge版)
[1.3 野良ビルド版](#13-野良ビルド版)

[2. Android版GNU Emacsと共存可能なTermuxの入手](#2-android版gnu-emacsと共存可能なtermuxの入手)
[2.0 用語の定義](#20-用語の定義)
[2.1 F-Droid版](#21-f-droid版)
[2.2 SourceForge版](#22-sourceforge版)
[2.3 野良ビルド版](#23-野良ビルド版)

[3. 野良ビルドの必要性](#3-野良ビルドの必要性)
[3.1 Android版GNU Emacsの場合](#31-android版gnu-emacsの場合)
[3.2 Termuxの場合](#32-termuxの場合)
[3.3

元記事を表示

ActivityとFragmentのライフサイクル簡易まとめ

この記事は[Ateam Finergy Inc. × Ateam Wellness Inc. Advent Calendar 2023](https://qiita.com/advent-calendar/2023/ateam-finergy-wellness)の18日目の記事です。

# はじめに
Androidアプリの開発で切り離せないライフサイクル。
`onCreate`や`onCreateView`など似たような名前も多くそれっぽい所に書いて終わりになりがちです。
今回改めてライフサイクルのコールバックについて種別、実行タイミング、主な用途を整理してそれっぽくを脱しようと思います。

# ライフサイクル
以下、ActivityとFragmentでそれぞれ記載します。
記載の順序は基本実行される順番となります。

## Activity
公式のドキュメントは下記となります。
https://developer.android.com/guide/components/activities/activity-lifecycle

![activity_lifecycle.png](

元記事を表示

Jetpack Composeやってみる

本記事は[Life is Tech! Advent Calendar2023](https://qiita.com/advent-calendar/2023/life-is-tech)の18日目の記事です!
やっほおおおおおお!!関東Minecraft&Unityコースのメンター、ことりだよ🐣

最近、マイクラやUnity以外に、実はAndroidの開発もしてるんだよね👀
Kotlinでコード書いてたらこの前、Minecraftコースのはるっぺに「ことりん、Jetpack Composeって知ってる?やってみるとおもろいよ!」って言われたの!!

### 何それ、、、👀!!!

気になったので調べてみた👀

## Jetpack Composeって何?
[Developer.Android.com](https://developer.android.com/jetpack/compose?hl=ja) によるとJetpack Composeというのは、
「ネイティブ UI をビルドする際に推奨される Android の最新ツールキット。Android での UI 開発を簡素化し、加速

元記事を表示

ConoHa VPSで通勤コーディング環境を構築する

# はじめに
これは[ConoHa Advent Calendar 2023](https://qiita.com/advent-calendar/2023/conoha) 18日目の記事です。

現在私が関わっているプロジェクトでは客先に通うことになっており、それによりぼっちちゃん並の通勤時間が発生しています。その時間を有効活用するために通勤電車内で[Flutter](https://flutter.dev/)アプリのコーディングをしており、今回はその環境についてご紹介したいと思います。

この記事では[ConoHa VPS](https://www.conoha.jp/conoha/vps/)にFlutterとAndroidのSDKをインストールし、AndroidスマートフォンからMoshで接続して[Emacs](https://www.gnu.org/software/emacs/)でコーディング、ビルドできたapkをSFTPでダウンロードしてスマートフォンにインストールし動作確認するという、一連のことを行える環境の構築方法について記述します。

なお、駆け足で説明していく都合上

元記事を表示

【Jetpack Compose】HorizontalPagerのスワイプ判定を調整する

この記事はand factory.inc Advent Calendar 2023 16日目の記事です。

## はじめに
今までAndoridViewではUIを実現するために諸々手間がかかっていたものが
JetpackComposeを利用することで一気に楽になる経験を多くされていると思います。

その中でもPagerの実装は非常に簡単になったと実感しており、
以下のコード(HorizontalPager)だけでPagerが実装できると知った時は私自身大変驚きました😅

“`Kotlin
@OptIn(ExperimentalFoundationApi::class)
@Composable
fun HorizontalPagerSample() {
// ページの総数
val state = rememberPagerState { 10 }
HorizontalPager(
state = state,
modifier = Modifier.fillMaxSize(),
) { page ->
B

元記事を表示

Kivyで「西暦・和暦・年齢・干支」変換電卓作ってみた。

# はじめに
Pythonのkivyを使って西暦・和暦・年齢・干支の変換をする電卓を作ってみた。西暦、和暦または、年齢を指定して値を入力すると変換した値を出力する。活躍する場はそれほどないけど、あると少し便利な電卓。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299802/34286e4f-b7db-9260-a6c3-0d2d000a08f2.png)

# 目次
+ [kivyで使ったウィジェット](#kivyで使ったウィジェット)
+ [西暦⇔和暦変換](#西暦和暦変換)
+ [西暦⇔年齢変換](#西暦年齢変換)
+ [西暦→干支変換](#西暦干支変換)
+ [作成したコード](#作成したコード)

# kivyで使ったウィジェット
今回kivyで使ったウィジェットは “`Button“`、“Spinner“、“TextInput“。Spinnerは、和暦の明治、大正、昭和、平成、令和を選択する際に使った。kivyについては([記事:PythonのGUIライブ

元記事を表示

【Android】画面回転した時に処理を入れたい【Kotlin】

# 実践
AndroidManifestに以下を記載します。
“`
android:configChanges=”orientation|screenSize”
“`

また、以下をActivityに記載します。
“`
override fun onConfigurationChanged(newConfig: Configuration) {
// ここに回転した時の処理
 }
“`

# onConfigurationChanged
**onConfigurationChanged()** メソッドは、デバイス構成を指定する **Configuration** オブジェクトを受け取ります。アクティビティを再起動することなく UI の要素を再設定できるようになります。

**Configuration**オブジェクトとは、すべてのデバイス構成情報を記述します。
具体的には入力モード、画面サイズ、画面の向きなどに影響を与えるオブジェクトです。

# 参考

https://developer.android.com/guide/topics/resource

元記事を表示

AndroidでのRemoteConfig実装方法

# はじめに
今回は、AndroidでRemoteConfigを受け取る部分を紹介していこうと思います
### 本文
MainActivityのonCreate内で下記の処理を追加します。
`remoteConfig`からgetStringで`parameter`の`key`を指定することでほしい値をJsonStringで取得することができます
“`kotlin:MainActivty
val remoteConfig: FirebaseRemoteConfig = Firebase.remoteConfig
remoteConfig.fetchAndActivate()
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
RemoteConfigParameter.values().map {
// 行いたい処理を記述

元記事を表示

【Unity】モバイルアプリ上で GPU 負荷を計測する

この記事は [Unity Advent Calendar 2023](https://qiita.com/advent-calendar/2023/unity) の17日目の記事です。

# はじめに

モバイルプラットフォーム (iOS / Android) では Unity 標準の [GPU Usage Profiler module](https://docs.unity3d.com/2022.3/Documentation/Manual/ProfilerGPU.html) のサポートには次のような制限があり、GPU 負荷計測を行うにはサードパーティー製のプロファイリングツールを使う必要が出てくるかと思います。

|Platform|GraphicsAPI|Status|
|:-:|:-:|:-:|
|**Android**|OpenGL|Supported on devices running NVIDIA or Intel GPUs.|
||Vulkan|Not supported|
|**iOS**|Metal|Not supported. Use XCode’s GPU

元記事を表示

Jetpack Composeでカメラアプリを作ろう!

## 今回のアプリ
アプリにカメラの許可を与える
![スクリーンショット 2023-12-16 20.39.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953312/ca883391-5f50-df8d-f0da-fca8320e9b8f.png)
カメラ機能
![スクリーンショット 2023-12-16 20.38.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953312/1c9ac09c-6b53-db83-6c56-faf52a7ee58c.png)

# はじめに
今、開発中のアプリでカメラ機能を実装した!!!!!
でも、JetpackComposeでカメラ機能を使う情報が少ないい!!!
そこで、あらゆるサイトを調べてまくって実装までこぎつけました。
今回は、その内容をまとめてみました。

# 開発環境
Android Studio Flamingo | 2022.2.1 Patch 2
Ma

元記事を表示

JetpackCompose縦幅の最大幅、最小幅を設定する方法

この前にCompose横幅の最大幅、最小幅を設定する方法を紹介しました。

# Compose横幅の最大幅、最小幅を設定する方法
https://qiita.com/yuta317/items/57ad03d986d718d9bf36

縦幅の最大幅、最小幅を設定することもできます!

# 最大幅、最小幅を設定する方法
`Modifier.heightIn(0.dp, 40.dp)`
`Modifier`に`heightIn`を設定すると実装できます。

便利なので覚えておくと良いかもしれません。

元記事を表示

【JetpackCompose】拝啓。カメラ映像の写真の背景と前景を分けたいです。【ML Kit】

# はじめに
こんにちは。私はAndroidを趣味として開発している[まっつー🀄](https://twitter.com/takumi_syojin)です。
最近Googleの勢いが半端ないですよね!Google PaLMがGenemiに進化するなど去年からこんなにも基板モデルがすごく成長しているのを見て僕もワクワクが止まりません!!!
(小声・・・でもちょっと最近AIが突っ走っているのは将来まずいと思いますが…)
そんなワクワクのなか、最近のNow in Android(なうい)で前からあった機能が公式で発表されていることを発見したので今更ながら開発方法をまとめてみました。

https://medium.com/androiddevelopers/now-in-android-97-f5db5d045dfb

Modifier.Nodeを使って開発したかったのですが、使えるところがありませんでした。。。

# 本記事のゴール
この動画のような機能が作れます。
![動画.gif](https://qiita-image-store.s3.ap-northeast-1.amaz

元記事を表示

Pydroid 3 で OpenCV を動かして画像処理やAIをお試し

:::note info
この記事はOpenCV Advent Calendar 2023の17日目の記事です。
:::

有料アプリを利用した内容なので、ちょっと恐縮ですが。。。

### Pydroid 3とは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140207/0f1651b2-f942-29ec-c658-77962b46a4a9.png)

Android 向けの Python3 IDE。
OpenCV や PyTorch など、いくつかのアーキテクチャ依存のパッケージも独自にコンパイルされていて使用できる。

ただし、有料アプリです。
2023年8月時点では、日本円で1850円の買い切りアプリ。
※ストアの都合上、一度購入すると今の価格を調べるのが面倒なため、今の価格は調べてないです🙇

~~iPhone で似たようなことがしたければ、Pythonista 3 で出来るはず?
もう1年以上Pythonista触ってないし、適当なこと言うの怖いから言及するのやめとこ🦔~

元記事を表示

Hello Androidに半年かかった話

# 結論から
ウイルス対策ソフトのせいでした.

# 詳しく
[結論から](#結論から)で書き終えているので詳しく話すこともないですが…
## 経緯
今年(2023年)の4月,Androidのアプリ開発に関する本を衝動買いしアプリ開発をはじめました.

しかし,本の通りにコードを書いて実行しても「androidResources (アクセスが拒否されました。)」のエラーばかり出て全く動きません.
ネットで情報を漁ってもめぼしいものはなく,「これで解決した」と書かれている手順をまねしても全くうまくいきませんでした.

ところがつい先日,思い立って一時的にウイルス対策ソフトを止めてみると何の問題もなく実行されました.
その時の感動のツイートが以下.

https://x.com/tt41357393/status/1735278925813788963?s=20

ちなみに止めた機能は「ウイルス自動検知」です

元記事を表示

Quasar Framework と android の実機開発について

## Quasar Framework でできること
quasar は開発ツールなのでデバックに関する手際のよい手法を編み出しています。
“WebView を使うリモートデバッグ” でして、実機からWifi経由で開発環境につなげる操作を次のコマンドで呼び出せます。

“`
quasar dev -m cordova -T android
“`
あくまで開発用なので注意してください。
開発端末の電源を落としたり、Wifiの接続を切れば画面そのものの表示が途切れます。

実機で動かせるパッケージは別の方法で用意します。

## 実機で動かせるパッケージを用意する
ほぼ quasar 公式の解説通りです。

* android studio をDLする。
* jdk 8 をDLする。
* android 開発ツールのパスを環境変数に追加してコマンドから呼べるようにする。
(android tools と android platform-tools)
* 次にデバイスを用意する。
* android studio から android APIをDLする。
(デバイスのandroi

元記事を表示

【Android】WebView参照時にTypeErrorで読み込みができない場合の対処法

# はじめに
Androidで実装する機能の中でほぼ必ずと言っていいほど使用する機能のひとつがWebViewですよね。
そんなWebViewですが、NextJSで実装されているようなWebページでたとえばアンダーバー付きのディレクトリを参照する必要がある場合など、そのままURLとして読み込むと以下エラーとなってしまいます。
“`
“TypeError: Cannot read properties of null (reading ‘getItem’)”, source: https://XXXX
“`

今回はこちらのエラーの解消の仕方を備忘録的に残しておこうと思います。

# エラーの解消方法
解消方法は非常に簡単です。
WebViewはWebSettingsというパラメータを保持していますが、こちらに対し以下を設定してあげる形で対応可能です。

“`main.kt
webView.settings.domStorageEnabled = true
“`

https://developer.android.com/reference/android/webkit/Web

元記事を表示

Unity でスクリーンセーバーを作る方法を模索してみた

はじまり
========

Unity でHLSL書いてシェイダーアートを作ってみたいなーと漠然と思いつつ、どうせならスクリーンセーバーとして動かせないものかと漠然と思いながらあれこれ調べてみました。
するとどうも Windows と Android でビルド方法が見えそうだったので試してみることにしました。

目的
====

Unity で以下のプラットフォーム向けにスクリーンセーバーをビルドする設定や手順を調べる。
(シェイダーアートを書くのはここではやりません。)

– Windows x86-64
– Android

環境
====

– Windows 11 22H2
– Android 14
– Unity 2022.3.14f1

下調べ…スクリーンセーバーの仕組みを調べる
==========================================

そもそもUnity以外のスクリーンセーバーがどのように作られてるのか調べないと手順が見えてこないのでOSごとに調べます。

Windows スクリーンセーバー
————————

元記事を表示

OTHERカテゴリの最新記事