- 1. メモ:バルミューダフォンのデフォアプリ無効化
- 2. 日本語プログラミング言語MindをAndroidに移植した時の記録(ステップ4/9)
- 3. 【Jetpack Compose】状態管理のためにremember、rememberSaveableの違いとSaverの活用
- 4. AndroidタブレットにTermuxを導入する
- 5. 単体テストで、日付を扱う
- 6. Android端末でOpen Interpreterを使用する方法
- 7. 使用できない状態となった楽天ポイントを使用できる状態に修正した話
- 8. ずんだもん認知シャッフル睡眠アプリを作ろうと思ったら大変だった
- 9. 初心者でも簡単!AndroidのTermuxでSSH接続する方法
- 10. 【Android】Jetpack ComposeのButtonあれこれ【Kotlin】
- 11. android studio PNG画像インポート時のtips
- 12. Androidアプリ制作メモ
- 13. AlarmClockクラスのリファレンスがぺらぺらすぎるので補いたい
- 14. ドキュメントからadbコマンドの仕組みを読み解く
- 15. 【Android】起動したWorkerを停止させる方法
- 16. 【Android】Jetpack ComposeでViewModelを入れてみた
- 17. Androidで画面にタップしている箇所を表示する方法
- 18. [Unity] Android版だけAdMobの広告のリワードが受け取れなくてハマった話
- 19. UnityでAndroid端末の回転ベクトルを取得する
- 20. ChatGPTや他3種の生成AIに、Androidアプリでタップした時にテキストを1秒表示して消す処理を聞いて、結果を比較 →性能差・各特徴が見られる
メモ:バルミューダフォンのデフォアプリ無効化
アプリ(ただのショートカットっぽいのでおそらく不要)
パッケージ名:
com.balmuda.phone.blmb.shortcut
com.balmuda.phone.blmbrecipe.shortcut
com.balmuda.phone.blmbtech.shortcut
標準ではできないので、パソコンとつなぎadbコマンドを有効にして(要ググる)無効化する。
日本語プログラミング言語MindをAndroidに移植した時の記録(ステップ4/9)
# はじめに
この記事はだいぶ前(2012年)にココログの「[キリーの日本語プログラミング](http://uemon3511.cocolog-nifty.com/nihongoprogram/)」に掲載したコラムですが、再編集してこちらにも投稿します。今となっては古い話ではありますが、OSによってプログラム言語(AndroidではJava)が決め打ちされている環境で規定と異なるもの(Mind)を走らせたことの記録としてお読みください。
# イベントリスナー
レイアウトの場合と似た話だが、Java側のオブジェクトをMind側に伝えても意味が無いので簡単な仕組みで両者間で連絡が取れるようにする。
![20130603eventlistnersample_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118036/7de8b7d5-38e3-e618-f178-1e78d619672e.png)
## クリックイベントリスナーの登録
まずクリックリスナーの登録は以下のように行う。
【Jetpack Compose】状態管理のためにremember、rememberSaveableの違いとSaverの活用
Jetpack Composeにおける`remember`、`rememberSaveable`、そして`Saver`の使用と、それらが状態管理にどのように役立つのかについて詳細に解説します。
### `remember`とは?
– **目的**: Composable関数内で状態を保持するために使用されます。
– **特徴**: `remember`はコンポジションが破棄されるまで(例えば、Composable関数がナビゲーションによって画面から削除される、アクティビティが破棄されるなど)その状態を保持します。
– **限界**: アクティビティの再作成(デバイスの回転やバックグラウンドからの復帰など)では状態が保持されません。再作成時には初期化コードに戻ります。
### `rememberSaveable`とは?
– **目的**: `remember`と同様に状態を保持しますが、アクティビティの再作成を越えて状態を保持することができます。
– **特徴**: `rememberSaveable`は、システムによる再作成(デバイスの回転など)後も状態を復元するために内
AndroidタブレットにTermuxを導入する
# 首記の件は、多くの可能性を秘めています。
この小さなアプリケーションは、デバイスを機能するLinux環境に変えることができます。例えば、
– Calcurseを使用すれば、予定管理が簡単になります。
– Todo.txtは、日々のタスクを整理し、
– Gitはプロジェクトのバージョン管理を助けます。
– Rcloneはクラウドストレージへのアクセスを提供し、
– Yt-dlpはお気に入りの動画をダウンロードするためのツール。
– Node.jsやHonkitは、静的サイトを作成する際に役立ちます。## Termuxはさまざまなパッケージや…
カスタマイズオプションを提供しています。
### あなたがプログラマーであれば、
– Pythonや
– Rubyなどの言語をインストールしてコーディングすることができますし、
### システム管理者であれば…
– SSHや
– Mosquitto(MQTTブローカー)などのツールを利用してリモートで作業することも可能です。
## TL;DR
Termuxを使用することで、これらすべてのツールが手のひらの
単体テストで、日付を扱う
日付を扱った単体テストを実施することがあったので、その際にモック化したり色々問題があったので、まとめてみました。
Hiltでの単体テストに関しては、こちらの記事を[参考](https://qiita.com/shimizu-you/items/ad8ad91b9b27c227d2a5)してください。### Mockkを導入
“`kotlin
testImplementation(“io.mockk:mockk:1.13.9”)
“`### 日付ライブラリーの導入
日付関連のライブラリーとして、Androidに最適化された[threetenbp](https://github.com/ThreeTen/threetenbp)を使用します。
ただし、単体テストをする際に注意点があります。
単体テストでは、threetenabpが使えないため、除外してthreetenbpを使用する必要があります。“`kotlin
implementation(“com.jakewharton.threetenabp:threetenabp:1.4.6”)
testImplementa
Android端末でOpen Interpreterを使用する方法
Android端末で高性能なAIアシスタントを使いたいと思ったことはありませんか?Open Interpreterを使えば、ChatGPTのようなAIとAndroid端末上で直接対話することができます。この記事では、Android端末へのOpen Interpreterのインストール方法を詳しく解説します。
—
こちらの記事もおすすめ
https://hamaruki.com/its-easy-even-for-beginners-how-to-connect-via-ssh-with-android-termux/
## Open Interpreterとは
Open InterpreterはオープンソースのAIアシスタントアプリケーションで、OpenAI APIを利用してユーザーとの対話を行います。PC版に加えて、Android版も開発されています。
Android版Open InterpreterはTermuxというターミナルエミュレータアプリ上で動作します。Termuxは追加の設定なしにAndroid端末上でLinux環境を提供するアプリで、Open Inter
使用できない状態となった楽天ポイントを使用できる状態に修正した話
事の経緯は、嫁のキャリアメールを普通のメールアドレスに切り替えようとしたことが始まりです。
最初にキャリアメール(仮に**AAA@com**とします)のアドレスに紐づけて楽天アカウントを作成していました。そして、このキャリアメールのアカウントをやめて例えばgmail(仮に**BBB@com**)のようなメールアドレスで楽天アカウントを作成しようとしました。
### 結論からすると楽天会員情報ページでメールアドレスをAAA@comからBBB@comに変更すれば良かったのです。
![タイトルなし.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/495919/282672d0-5af8-31ba-fc23-59c9eac546fc.jpeg)そうしないで、**BBB@com**として楽天アカウントを新規作成してしまい悲劇は起こりました。
嫁は、楽天カードを作成し入会ポイントをもらったのですが、**BBB@com**には入会ポイントは入らず**AAA@com**に入会ポイントが付与されたのです。それ
ずんだもん認知シャッフル睡眠アプリを作ろうと思ったら大変だった
ずんたもんが読み上げる認知シャッフル睡眠の動画をよく聴くので、voicevoxで単語を読み上げるアプリを作ってみようと挑戦しましたが、アプリ初心者なので各種ポイントでつまずいてしまい思ったより大変でした。
はまったポイントを記録したいと思います。順不同です。## これをやったら動いた
### voicevox_coreのAARファイルをアプリのプロジェクトのdependencyに追加する
aarがビルドされているのはプレビュー版のみのようです。
https://github.com/VOICEVOX/voicevox_core/releases/tag/0.15.0-preview.16 (2024/02現在最新のプレビュー版ビルド)
から `model-0.15.0-preview.16.zip` をDL・解凍し、
https://developer.android.com/studio/projects/android-library#psd-add-aar-jar-dependency
こちらの手順通りにaarファイルをdependencyに追加する
つまずきの8割がcore
初心者でも簡単!AndroidのTermuxでSSH接続する方法
こんにちは!今回は、AndroidのTermuxアプリを使ってSSH接続する方法を初心者向けに詳しく解説していきます。Termuxを使えば、Androidスマホやタブレットからリモートのサーバーに接続できるようになります。
—
こちらの記事もおすすめ
https://hamaruki.com/how-to-use-apollonstreamapi-to-stream-android-screen-capture-in-real-time/
https://hamaruki.com/create-a-gemini-app-with-android-studio-and-check-its-operation-on-the-actual-device/
## Androidにアプリのインストール
### Termuxアプリのインストール
まずは、Android端末にTermuxアプリをインストールしましょう。GooglePlayストアから入手できるバージョンは古いので、以下のリンクから最新版をダウンロードしてください。
https://github.com/termux
【Android】Jetpack ComposeのButtonあれこれ【Kotlin】
# 目次
* Button
* FilledTonalButton
* TextButton
* OutlinedButton
* ElevatedButton
* IconButton
* FloatingActionButton
* RadioButton# Button
“`
Button(onClick = {}) {
Text(“Button”)
}
“`
デフォルトで背景色がついているボタン# FilledTonalButton
“`
FilledTonalButton(onClick = {}) {
Text(“FilledTonalButton”)
}
“`
デフォルトの背景色がSecondaryColorによって設定されている# TextButton
“`
TextButton(onClick = {}) {
Text(“TextButton”)
}
“`
特に装飾のないTextにCl
android studio PNG画像インポート時のtips
# はじめに
今回はすごい基本的なことである`AndroidStudio`のプロジェクト内に`png`の画像を入れる方法を紹介します
最近はsvgを使用することが多いので中々使わないので最近自分が触って意外と細かい部分で忘れてるのがあったので紹介していきます
### 本文
まず、基本的に使う画像はデザイナさんか`Figma`から受け取ると思うのですが`svg`と違い`png`は各サイズを用意しないといけません。
その時に各サイズをまとめてフォルダでインポートすると思うのですが、`Figma`とかだと画像のファイル名に対して`hogehoge@1x.png`のような設定になってると思いますがそのフォルダをそのままインポートしようとすると[公式](https://developer.android.com/studio/write/resource-manager#automatic-parsing)にもあるように下記の三種類しか対応しません。
* @2
* @3
* @4そのため、すべての名前を変更して`ldpi`などの指定をしてあげないといけません。
### 最後に
今回は転ばぬ先
Androidアプリ制作メモ
# ライブラリについて
app以下の**build.gradle.kts**ファイル内**depenciesブロック**に記載される。
build.gradle.ktsはAndroidアプリをビルドするために使うgradleというツールのためのファイル。アプリに関する情報などを記述する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3491422/0628753f-fbea-4dd1-2f07-18a3ef5df21c.png)
**以前まではドキュメントの内容を直接depenciesブロックに追加するだけでライブラリが追加できたが、現在はできないらしい**
## Navigationライブラリの追加
Navigationライブラリ(画面遷移のためのライブラリ)を追加する。
app/src/main配下のresフォルダを右クリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34914
AlarmClockクラスのリファレンスがぺらぺらすぎるので補いたい
**AlarmClockクラス**はAndroidアプリケーションでアラームをセットするための便利なクラスです。特に、アラームを解除する際に使用する`ACTION_DISMISS_ALARM`アクションについて、具体的な実装例をご紹介します。
以下は、指定されたラベルに基づいてアラームを解除するKotlinの関数です。
“`kotlin
/**
* 指定されたラベルのアラームを解除します。
*
* @param context コンテキスト
* @param label アラームのラベル
*/
fun dismissAlarmByLabel(context: Context, label: String) {
val intent = Intent(AlarmClock.ACTION_DISMISS_ALARM).apply {
setPackage(alarmPackageName) // アラームアプリのパッケージ名を指定
putExtra(AlarmClock.EXTRA_ALARM_SEARCH_MODE, AlarmCl
ドキュメントからadbコマンドの仕組みを読み解く
# adbコマンドってなに
まずは[公式ドキュメント](https://developer.android.com/tools/adb?hl=ja)を読んでみましょう。
次の通りに説明されています。
> Android Debug Bridge (adb) is a versatile command-line tool that lets you communicate with a device.> Android Debug Bridge(adb)は、デバイスとの通信を可能にする多機能なコマンドラインツールです。
つまり、**adbというコマンドを通してAndroidデバイスに色々させることができるよ!** というものです。
# adbコマンドでできること!
色々させることができると言いましたが、具体的にどんなことができるのでしょうか。
具体的なシチュエーションと共にいくつか紹介します。## アプリインストール
アプリのファイル(APK)をインストールすることができます。
サッと手元でインストールして確認したい時に便利です。
“`
adb install [apkフ
【Android】起動したWorkerを停止させる方法
# はじめに
皆さん、Worker使っていますか?
Serviceへの風当たりがどんどん強くなる今日この頃ですが、公式でもできる限りWorkerへの置き換えを推奨しているご状況です。
以前にもWorkerの取り扱いについて触れましたが、仕様の変更や何らかの問題が発生した際にすでに起動中のWorkerを止めなければならないケースが発生した場合、単純に処理を消すだけではWorkerは止まりません。
明確に停止する必要がありますので、今回は備忘録的にWorkerの停止方法をまとめておこうと思います。# Workerの停止方法
Workerの停止方法には3通りのやり方があります。“`main.kt
val workManager = WorkManager.getInstance(context)// by id
workManager.cancelWorkById(syncWorker.id)// by name
workManager.cancelUniqueWork(“sync”)// by tag
workManager.cancelAllWorkByTag(“s
【Android】Jetpack ComposeでViewModelを入れてみた
## 背景
前回jetpack composeでカウントアップアプリを作成したときに、クリック回数を記憶する変数をActivityに直書きしていました。
↓前回製作したものhttps://github.com/jtakumi/jetpackComposebasic/tree/clickableImage
ただ、画面の回転やライフサイクルの働きによりactivity内の一時的に保存している情報が破棄されてしまい、リセットされる危険性があるためViewModelにカウントアップの処理を移動させました。
## 今回の変更
クリック回数計算をviewModelに託す### Before
“`MainActivity.kt
var countTapStar by remember {
mutableStateOf(0)
}
var countTapTriangle by remember {
mutableStateOf(0)
}
“`### After
“`MainActi
Androidで画面にタップしている箇所を表示する方法
開発している人に不具合を報告する際に、再現方法が複雑な場合や、画面録画で再現方法を説明することなどがあると思います。
その際にどこをタップしているかわかると便利ですよね。
Androidの設定で表示させることができます。
# 設定方法
開発者向けオプションをまず表示させます。
ビルド番号を7回連続でタップします。(設定画面のデバイス情報にあります。)
開発者向けオプションを開きます
![Screenshot_20240316_200604.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274615/0a483985-e4b7-bd27-90cf-11f1ea40e63f.png)
タップを表示をONにすると表示されるようになります。
[Unity] Android版だけAdMobの広告のリワードが受け取れなくてハマった話
# 起きたこと
Unity製のアプリにAdMobの広告を組み込み、Rewarded型の広告を視聴した後にゲーム内の特典を与えるような実装をしていました。実装が完了し、Unityで動かしてOK、iOS実機で動かしてOKだったのでヨシヨシと思っていたのですが、最後に確認したAndroid実機でNGでした。ググってもなかなか答えに辿りつかず困ったのでここに吐き出しておきます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296554/c299ac3e-9c3f-76e7-113d-715a4dad641d.png)
ちなみに広告の実装に関しては以下の公式サイトの説明を読みながら進めていました。
https://developers.google.com/admob/unity/rewarded?hl=ja# NGだった時の実装
以下のような形で、rewardedAd.Showの中に処理を書き、PlayerPrefsを更新することでアプリ全体からspecial_item_countの値
UnityでAndroid端末の回転ベクトルを取得する
## 概要
Android端末の複数センサを用いて算出された回転ベクトルをUnityから取得する方法についてまとめます.
## やりたいこと
Android OS は複数センサの情報を複合した回転ベクトルを算出できるので,Unityからその情報を取得したい.
## 解決手法
UnityからAndroidの回転ベクトルを取得するAndroid Pluginを作成.
## 環境
– Unity 2022.3.4f1
– Windows 11
– Google Pixel 3a
– Android バージョン12## 実装
Androidプラグインの作成にはいくつかの方法がありますが,今回はJavaファイルをUnityのプロジェクト内に配置してプラグインとして読み込ませる方法をとることにしました.プラグインの再利用や配布を考えるなら,直接Javaファイルを配置するのではなく,[Android Libraries や Android Archives (AAR) を利用した方法](https://docs.unity3d.com/ja/2022.3/Manual/android
ChatGPTや他3種の生成AIに、Androidアプリでタップした時にテキストを1秒表示して消す処理を聞いて、結果を比較 →性能差・各特徴が見られる
# はじめに
本稿では、下記の記事で記載した、Androidアプリでタップした時にテキストを1秒表示して消す処理を行うコードの作成について、
4種の生成AI、ChatGPT・Phind・Microsoft Copilot・Google Gemini、のコード生成結果を比較します。https://qiita.com/dl_from_scratch/items/b5d6ab05464f8e25faf5
Androidのアプリの作り方を、ほとんど知らない状態で(※1・※2)、タップした時にテキストを1秒表示して消すような、簡単なサンプルアプリを試しに作ってみようと思った時に、
Androidアプリに関わったことがない、何も分からない状態で、一から検索して読み調べてコードを作るのは(簡単なコードであっても)相当面倒くさいな…、と思ってしまいます。そこで、4種の生成AIに聞いて、タップした時にテキストを1秒表示して消す動作を行うサンプルプログラムを作ってもらい、うまく動作するかを試してみます。
※1: ただし、Android Studioの空のサンプルプロジェクトをそのままビル