Androidアプリ開発 USBデバイスの権限チェックとユーザ承認リクエスト GPSレシーバなどのUSBデバイスを使用する場合、接続やデバイス名などのメタ情報の取得には不要ですが、アクセスには権限チェックとユーザ承認が必要です。USBデバイスのアクセスに必要な権限チェックとユーザ承認リクエストの実装を紹介します 2024.10.10 Androidアプリ開発
Androidアプリ開発 数値データのリトルエンディアン変換 デバイス間の通信では数値データをリトルエンディアンで扱うことが多い。リトルエンディアンとはバイト単位に分解された数値データを最下位のバイトから順番に格納していく方式です。数値データをリトルエンディアンの文字列データに変換する方法を紹介します 2024.10.03 Androidアプリ開発
Androidアプリ開発 ペアリング済みのデバイスリストを取得する Bluetooth機器との接続には、機器固有のMACアドレスが必要です。デバイスのMACアドレスを取得する方法としては、デバイスから定期的に発信されるビーコンから取得する方法、デバイスとのペアリング情報から取得する方法などがあります 2024.09.12 Androidアプリ開発
Androidアプリ開発 仮想デバイスか判定する 仮想デバイス(Android Virtual Device)で動作させるとExceptionが発生してアプリが終了することがあります。実行しているデバイスが仮想デバイスか判定して回避する方法を紹介します 2024.09.11 Androidアプリ開発
Androidアプリ開発 動画ファイルのフレームレートを取得する アプリで動画をコマ送りで再生する場合、動画ファイルのフレームレートの値が必要です。動画ファイルのフレームレートを取得する方法として、ExoPlayerのAnalyticsListenerを使用して、フレームレートを取得する方法を紹介します 2024.09.02 Androidアプリ開発
Androidアプリ開発 RecyclerView スワイプ操作で画面遷移 ItemTouchHelperのスワイプでアイテムの削除とした場合は問題ありませんが、選択したアイテムで画面遷移とする場合に違和感があります。スワイプ操作でアイテムがリストから消滅しない、選択したアイテムで画面遷移する実装を紹介します 2024.07.10 Androidアプリ開発
Androidアプリ開発 String型協定世界時をlong型日時に変換する 日時をデータ管理する場合、long型日時が有効ですが、日時をインタフェースで受け取る場合、String型日時であることが多い。GPS受信機の標準インタフェースNMEAフォーマットのString日時を、long型日時に変換する方法を紹介します 2024.07.10 Androidアプリ開発
Androidアプリ開発 shapeの枠線(stroke)の色をグラデーションにする Viewの背景(background)を修飾するshape要素(drawable)には、ストローク線(stroke)の色をグラデーションにすることはできません。layer-list要素を使用して枠線の色をグラデーションにする方法を紹介します 2024.04.04 Androidアプリ開発
Androidアプリ開発 Spinnerのドロップダウンでナビゲーションバーを表示させない 全画面モードでシステムバー(ナビゲーションバーやステータスバー)を非表示にしていても、Spinnerのドロップダウンでシステムバーが表示されます。この現象を回避するシステムバーを非表示にするカスタムSpinnerの実装方法を紹介します 2024.04.04 Androidアプリ開発
Androidアプリ開発 アプリのリリース後にRoomのテーブルを変更する Roomのマイグレーションでは変更前テーブルのスキーマ情報が必要です。変更前テーブルのスキーマ情報がない状態でマイグレーションするとマイグレーションが失敗します。exportSchema=falseでマイグレーションする方法を紹介します 2024.03.15 Androidアプリ開発