Androidアプリ開発

USBデバイスの権限チェックと
ユーザ承認リクエスト

GPSレシーバなどのUSBデバイスを使用する場合、接続やデバイス名などのメタ情報の取得には不要ですが、アクセスには権限チェックとユーザ承認が必要です。USBデバイスのアクセスに必要な権限チェックとユーザ承認リクエストの実装を紹介します
Androidアプリ開発

数値データのリトルエンディアン変換

デバイス間の通信では数値データをリトルエンディアンで扱うことが多い。リトルエンディアンとはバイト単位に分解された数値データを最下位のバイトから順番に格納していく方式です。数値データをリトルエンディアンの文字列データに変換する方法を紹介します
Androidアプリ開発

ペアリング済みのデバイスリストを取得する

Bluetooth機器との接続には、機器固有のMACアドレスが必要です。デバイスのMACアドレスを取得する方法としては、デバイスから定期的に発信されるビーコンから取得する方法、デバイスとのペアリング情報から取得する方法などがあります
スポンサーリンク
Androidアプリ開発

仮想デバイスか判定する

仮想デバイス(Android Virtual Device)で動作させるとExceptionが発生してアプリが終了することがあります。実行しているデバイスが仮想デバイスか判定して回避する方法を紹介します
Androidアプリ開発

動画ファイルのフレームレートを取得する

アプリで動画をコマ送りで再生する場合、動画ファイルのフレームレートの値が必要です。動画ファイルのフレームレートを取得する方法として、ExoPlayerのAnalyticsListenerを使用して、フレームレートを取得する方法を紹介します
Androidアプリ開発

RecyclerView スワイプ操作で画面遷移

ItemTouchHelperのスワイプでアイテムの削除とした場合は問題ありませんが、選択したアイテムで画面遷移とする場合に違和感があります。スワイプ操作でアイテムがリストから消滅しない、選択したアイテムで画面遷移する実装を紹介します
Androidアプリ開発

String型協定世界時をlong型日時に変換する

日時をデータ管理する場合、long型日時が有効ですが、日時をインタフェースで受け取る場合、String型日時であることが多い。GPS受信機の標準インタフェースNMEAフォーマットのString日時を、long型日時に変換する方法を紹介します
Androidアプリ開発

shapeの枠線(stroke)の色を
グラデーションにする

Viewの背景(background)を修飾するshape要素(drawable)には、ストローク線(stroke)の色をグラデーションにすることはできません。layer-list要素を使用して枠線の色をグラデーションにする方法を紹介します
Androidアプリ開発

Spinnerのドロップダウンで
ナビゲーションバーを表示させない

全画面モードでシステムバー(ナビゲーションバーやステータスバー)を非表示にしていても、Spinnerのドロップダウンでシステムバーが表示されます。この現象を回避するシステムバーを非表示にするカスタムSpinnerの実装方法を紹介します
Androidアプリ開発

アプリのリリース後に
Roomのテーブルを変更する

Roomのマイグレーションでは変更前テーブルのスキーマ情報が必要です。変更前テーブルのスキーマ情報がない状態でマイグレーションするとマイグレーションが失敗します。exportSchema=falseでマイグレーションする方法を紹介します
スポンサーリンク