Androidアプリ開発

Androidアプリ開発

Google Play Billing Library 5(6,7)対応

Google Play Billing Library 5ではquerySkuDetailsAsync、SkuDetailsが非推奨になり、替わりにqueryPurchasesAsync、ProductDetailsを使用した実装が必要です
Androidアプリ開発

Google Play Billing Library8対応

Google Play Billing Library7からBilling Library8に移行する場合、QueryProductDetailsResultの変更の影響でビルドエラーになります。ビルドエラーの原因と対応方法を紹介します
Androidアプリ開発

沈黙の非推奨APIに対応する

非推奨APIとは将来的に廃止予定、バージョン間で互換性がないなど、対処が必要です。デフォルトのビルドでは新しいバージョンで非推奨になったAPIがソースに含まれていても検出されません。検出する方法から対処方法のサンプルをいくつか紹介します。
スポンサーリンク
Androidアプリ開発

メディアストアの画像や動画の削除

スマホ本体にある動画や画像ファイルにアクセスする場合にコンテンツリゾルバを使用しますが、Androidのバージョンの違いによって動画や画像ファイルを削除できない場合があります。メディアストアにある動画や画像ファイルを削除する実装を紹介します
Androidアプリ開発

UIスレッドでタイムアウトを回避する

UIスレッドで実行した処理が5秒以上応答がない場合、Input event dispatching timed outのANRエラーが発生します。これを回避するためのコーディングを紹介します(UIスレッドとは別スレッドで処理を実行)
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オプションを指定することで入力項目が隠れる現象を回避することが可能です。
スポンサーリンク