Androidアプリ開発

Androidアプリ開発

動画や音楽のファイル形式を変換する

AndroidスマホはMP4形式しか動画ファイルは再生できません。Android13からApple標準形式(AIFF)の音楽ファイルが再生できなくなっています。FFmpegでMP4形式に変換して、Androidで再生する方法を紹介します
Androidアプリ開発

QRコードから任意の文字列を取得する

QRコードのスキャンはスマホのカメラ機能して、撮影した画像からQRコードを検出し、デコードします。GooglePlay開発者サービスにスキャン機能があり、簡単にQRコードのスキャン機能が簡単に実装できます。オートスキャンの使用やカメラの権限リクエストが不要です
Androidアプリ開発

全画面モード時のホームボタンを実装する

動画やゲームなどのコンテンツでは、全画面で表示したくなります。全画面モードでナビゲーションバーを非表示にした場合、ワンタップでホーム画面に戻ることができなくなります。今回は全画面モードでナビゲーションバーの戻るボタンとホームボタンを使用できる実装を紹介します
スポンサーリンク
Androidアプリ開発

Android16対応
(edge-to-edgeオプトアウト廃止の対応)

エッジ ツー エッジが無効化できない場合、ステータスバーやナビゲーションバーをアプリ領域に被らないようにレイアウトを制御する必要があります。Android14以下においてもエッジ ツー エッジを適用することでレイアウト制御の共通化が図れます
Androidアプリ開発

横画面での入力キーボードを最適化する

横画面で入力キーボードを表示すると全画面にソフトキーボードが表示されて、入力項目が隠れる現象が発生します。EditTextのIMEオプションを指定することで入力項目が隠れる現象を回避することが可能です。
Androidアプリ開発

任意の文字列をQRコードで表示する

URLの交換をスマホで行う場合に便利なQRコード。QRコードはURLの交換に特化したインタフェースではありません。任意のデータをQRコードで表示して、データ交換の手段として使用できます。任意の文字列をQRコードで表示する実装を紹介します
Androidアプリ開発

キーボード表示でレイアウトが崩れる

Androidスマホのアプリでキーボードを閉じずに処理を継続すると画面項目が切れる現象が発生します。キーボードが表示されているか検知して、処理を継続する前にキーボードを閉じるコードを追加すると画面項目が切れる現象を回避することが可能です
Androidアプリ開発

Android15対応
(edge-to-edgeの無効化)

Android15ではアプリのtargetSdkを35にすると、強制的にエッジツーエッジが適用され、アプリの表示領域にステータスバーとナビゲーションバーが被さって表示されます。アプリの対応として、エッジツーエッジを無効にする方法を紹介します
Androidアプリ開発

USBシリアル通信をAndroidで実装する

AndroidのUSBシリアル通信は、USBデバイスの接続はUSBホストAPI、シリアル通信はusb-serial-for-androidを使えば、簡単に実装できます。USBシリアル通信の実装について、サンプルコードを交えて、説明します
Androidアプリ開発

浮動小数点演算の誤差対応
BigDecimal

小数点以下の数値を含む演算での数値は2進数で表現し、演算します。2進数で表現できない数値は近似値で扱われ、これが誤差が生じる原因です。今回はBigDecimalを使用して、有効桁数の範囲で誤差が発生しない演算の実装について説明します
スポンサーリンク