Androidアプリ開発 全画面モード時のホームボタンを実装する 動画やゲームなどのコンテンツでは、全画面で表示したくなります。全画面モードでナビゲーションバーを非表示にした場合、ワンタップでホーム画面に戻ることができなくなります。今回は全画面モードでナビゲーションバーの戻るボタンとホームボタンを使用できる実装を紹介します 2025.05.08 Androidアプリ開発
Androidアプリ開発 任意の文字列をQRコードで表示する URLの交換をスマホで行う場合に便利なQRコード。QRコードはURLの交換に特化したインタフェースではありません。任意のデータをQRコードで表示して、データ交換の手段として使用できます。任意の文字列をQRコードで表示する実装を紹介します 2025.05.07 Androidアプリ開発
Androidアプリ開発 横画面での入力キーボードを最適化する 横画面で入力キーボードを表示すると全画面にソフトキーボードが表示されて、入力項目が隠れる現象が発生します。EditTextのIMEオプションを指定することで入力項目が隠れる現象を回避することが可能です。 2025.04.25 Androidアプリ開発
Androidアプリ開発 Android16対応(edge-to-edgeオプトアウト廃止の対応) エッジ ツー エッジが無効化できない場合、ステータスバーやナビゲーションバーをアプリ領域に被らないようにレイアウトを制御する必要があります。Android14以下においてもエッジ ツー エッジを適用することでレイアウト制御の共通化が図れます 2025.04.21 Androidアプリ開発
Androidアプリ開発 浮動小数点演算の誤差対応BigDecimal 小数点以下の数値を含む演算での数値は2進数で表現し、演算します。2進数で表現できない数値は近似値で扱われ、これが誤差が生じる原因です。今回はBigDecimalを使用して、有効桁数の範囲で誤差が発生しない演算の実装について説明します 2025.01.27 Androidアプリ開発
Androidアプリ開発 他のアプリのスクリーンショットを取得するMediaProjection Android5で画面に表示している内容をメディアストリームとしてキャプチャするMediaProjectionが追加されました。今回はMediaProjectionで実行中の他のアプリ画面のスクリーンショットを取得する実装を紹介します 2025.01.22 Androidアプリ開発
Androidアプリ開発 他のアプリ画面の上に重ねて表示するWindowManager アプリの操作してる様子を録画したい、アプリの画面のスナップショットを取得したいなど、操作パネルを他のアプリの上に重ねて表示したいケースがあります。他のアプリの上に重ねて操作パネル(フローティングアイコン)を表示する実装を紹介します 2025.01.21 Androidアプリ開発
Androidアプリ開発 SAFのデフォルトフォルダを指定するEXTRA_INITIAL_URI Storage Access Framework(SAF)のデフォルトフォルダはEXTRA_INITIAL_URIで指定しますが、EXTRA_INITIAL_URIに指定するフォルダ表記を誤ると動作しません。フォルダの表記について説明します 2025.01.20 Androidアプリ開発
Androidアプリ開発 Activityの待機と復帰moveTaskToBack & moveTaskToFront ActivityのライフサイクルでonDestroyが実行された状態を終了、onPauseまで実行された状態を中断と区別します。サービス起動で画面をバックグランドに移動させ、サービス終了で画面をフォアグランドに呼び戻す実装方法を紹介します 2025.01.18 Androidアプリ開発
Androidアプリ開発 ポリシーに準拠する対応Photo and Video Permissions policy Photo and Video Permissions policyではREAD_MEDIA_IMAGES、READ_MEDIA_VIDEOの使用を制限します。Photo Pickerでスマホ本体にある画像や動画を選択する実装を紹介します 2025.01.17 Androidアプリ開発