アプリ開発

Androidアプリ開発

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

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

Spinnerで同一項目の選択を検知する

Spinnerは前回選択したアイテムと同じアイテムを選択した場合、onItemSelectedのイベントが発生しません。アイテム選択時に前回と同じアイテムであっても選択を検知できるCustomSpinerを実装する方法を紹介いたします
Androidアプリ開発

UTF-8のデータをShift_JISに変換する

Androidで日本語を含むデータを出力したファイルをWidowsで読み込むと文字化けします。文字コードがAndroidがUTF-8でWidowsがShift_JISだからです。AndroidでShift_JISに変換する方法を説明します。
スポンサーリンク
Androidアプリ開発

Room(SQLite) データベースの実装

RoomはオープンソースデータベースSQLiteを抽象化レイヤとして提供するライブラリです。データベースの操作や定義、SQLの実行など、SQLiteを最大限に活用することが可能です。Roomの導入から使用方法をソースを参考に説明します
Androidアプリ開発

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

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

Room(SQLite)のINSERTで
自動採番されたシーケンスを取得する

データベースのテーブルで、プライマリキーを自動採番されたシーケンスとするケースが多々あります。Roomでレコード追加(INSERT)の直後に自動採番されたプライマリーキーを取得する必要がある場合、DAOインタフェースの戻り値から取得可能です。
Androidアプリ開発

Android14対応
(フォアグラウンドサービスタイプは必須)

Android14のコア機能の変更のひとつ「フォアグラウンドサービスタイプは必須」に対応していないアプリは、フォアグラウンドサービスを起動したときにアプリが落ちます。フォアグラウンドサービスタイプは必須の対応方法について、紹介します
Androidアプリ開発

Android12対応(Bluetooth権限)

Android 12対応のアプリ開発で、Bluetoothデバイスを探す、デバイスを他のデバイスから検出可能にする、ペア設定されているBluetoothデバイスと通信する場合、ユーザー承認がないと動作しなくなりました。その対処方法を説明します
Androidアプリ開発

非推奨のstartActivityForResultの対応

startActivityForResultを呼び出して、呼び先の結果をonActivityResultで取得する実装は非推奨となり、ActivityResultLauncherを使用してアクティビティの結果を取得する実装に変更が必要です。
Androidアプリ開発

動画からサムネイルを作成する

動画からのサムネイルの作成方法は、サムネイルユーティリティで動画ファイルからサムネイル用のBitmapを取得し、ファイル出力します。作成対象の動画ファイルが多い場合は、処理に時間がかかるので、作成済みの動画は再作成しないなどの工夫が必要です
スポンサーリンク