PopupMenuのメニューを表示する位置がリスナーを設定したオブジェクトの左下または右下です。メニューのアイテムの間隔が広く、メニュー操作の対象がわかりにくい。PopupMenuの表示位置とメニューの間隔を調整する実装方法を紹介します
老後は「余生」ではなく、「セカンドライフ」。そんな生き方に挑戦する元ITエンジニアのブログです。
某ITベンダーを早期退職。現在、フリーランスのエンジニアとして、日々アプリ開発に奮闘中です(^^♪ クルマとアニメとラノベが大好きなナイスミドルです♪
「ブログリーダー」を活用して、まっさんさんをフォローしませんか?
PopupMenuのメニューを表示する位置がリスナーを設定したオブジェクトの左下または右下です。メニューのアイテムの間隔が広く、メニュー操作の対象がわかりにくい。PopupMenuの表示位置とメニューの間隔を調整する実装方法を紹介します
ブレーキペダルの位置は調整できますが、アクセルペダルの位置は調整できないことが多い。ブレーキペダルの位置の調整は、遊びとストロークに影響がでるため、ブレーキペダルはベストな位置に調整して、アクセルペダルの位置を調整する方法をオススメします
Google社より「ご対応のお願い: GooglePlayのポリシーをアプリが遵守していません」といったタイトルのメールが届き、リリースが否承認となりました。ポリシー違反を特定する方法と対処から、ポリシー違反の解消までの流れを説明します
overridePendingTransitionは予測型「戻る」アニメーションのサポートに伴い、Android14から非推奨です。非推奨のoverridePendingTransitionをAndroid14以降に対応する実装方法を紹介
Exoplayerで音楽の再生をコントールする場合、PlayerControlViewを使用します。PlayerControlViewで音楽の再生や一時停止などを操作するための標準コントローラのアイコンを変更する方法を紹介します
USB接続GPSレシーバはなんといっても価格が安いのでロガーアプリをお試しで利用したい人におススメです。Bluetoothのように電波干渉で通信が不安定になることがありませんが、USB入力を使用するため使用中は充電できない欠点があります。
AndroidのUSBシリアル通信は、USBデバイスの接続はUSBホストAPI、シリアル通信はusb-serial-for-androidを使えば、簡単に実装できます。USBシリアル通信の実装について、サンプルコードを交えて、説明します
GPSレシーバなどのUSBデバイスを使用する場合、接続やデバイス名などのメタ情報の取得には不要ですが、アクセスには権限チェックとユーザ承認が必要です。USBデバイスのアクセスに必要な権限チェックとユーザ承認リクエストの実装を紹介します
デバイス間の通信では数値データをリトルエンディアンで扱うことが多い。リトルエンディアンとはバイト単位に分解された数値データを最下位のバイトから順番に格納していく方式です。数値データをリトルエンディアンで文字列データに変換する方法を紹介します
Bluetooth機器との接続には、機器固有のMACアドレスが必要です。デバイスのMACアドレスを取得する方法としては、デバイスから定期的に発信されるビーコンから取得する方法、デバイスとのペアリング情報から取得する方法などがあります
仮想デバイス(Android Virtual Device)で動作させるとExceptionが発生してアプリが終了することがあります。実行しているデバイスが仮想デバイスか判定して回避する方法を紹介します
アプリで動画をコマ送りで再生する場合、動画ファイルのフレームレートの値が必要です。動画ファイルのフレームレートを取得する方法として、ExoPlayerのAnalyticsListenerを使用して、フレームレートを取得する方法を紹介します
ジムカーナ練習会では、全体のタイムよりも自身の課題をもとに、コースをいくつかの区間にわけて、区間毎のタイムを確認しながら練習する方法が有効です。ジムカーナ練習会でアプリとGPSロガーを使って、区間毎のタイムを簡単に計測する方法を紹介します
Google社より「ご対応のお願い: GooglePlayのポリシーをアプリが遵守していません」といったタイトルのメールが届き、リリースが否承認となりました。ポリシー違反を特定する方法と対処から、ポリシー違反の解消までの流れを説明します
ItemTouchHelperのスワイプ操作をアイテムの削除とした場合は問題ありませんが、アイテムの選択と画面遷移とする場合に違和感があります。スワイプ操作でアイテムがリストから消滅しない、アイテムの選択と画面を遷移する実装を紹介します
日時をデータ管理する場合、long型日時が有効ですが、日時をインタフェースで受け取る場合、String型日時であることが多い。GPS受信機の標準インタフェースNMEAフォーマットのString日時を、long型日時に変換する方法を紹介します
アプリに対応していないGPSロガーの利用や位置情報を扱うアプリの開発やテストの際にNMEAフォーマットのGPSデータを疑似ロケーションすることで、GPSから位置情報を受信することなく、位置の移動をシミュレーションするサービス型アプリです
フロアジャッキは梃子の原理と油圧で動作しています。フロアジャッキで一番多い故障がオイル漏れです。オイル漏れの原因はOリングの劣化で負荷のかかるメインピストンは2~3年でダメになります。メインピストンのOリングを交換する方法を紹介します。
退職後も加入していた健康保険の任意継続の期間満了(最大2年間)となり、国民健康保険に加入しました。任意継続から、国民健康保険に加入する際に必要な書類やその入出方法、手続きの時期などを詳しく説明します。
Viewの背景(background)を修飾するshape要素(drawable)には、ストローク線(stroke)の色をグラデーションにすることはできません。layer-list要素を使用して枠線の色をグラデーションにする方法を紹介します
Androidのナビゲーションバーには標準で戻るボタンが配置されています。前の画面に戻るためのボタンですが、アプリ側で処理を記述する必要があります。タブレイアウトの画面遷移で戻るボタンによるヒストリーバック機能の実装方法を紹介します
標準のアプリ画面では上側にステータスバー、下側(横画面では右側)にナビゲーションバーが表示されます。動画や画像、ゲームなどのコンテンツでは、全画面で表示したくなる場面があります。システムバーを非表示や透明化した全画面表示の方法を紹介します
ジョイント部分が破損したドライブシャフト、ジョイントを交換するだけで再使用できます。ブーツが破けてグリスが漏れている場合もあります。残念ながら、この状態では車検に通りません。ドライブシャフトのアウタージョイントを交換する方法を説明します
個人データを扱うアプリを欧州経済領域と英国に配信する場合はGDPR対応は必須ですが、個人データを扱っていなくてもAdMobやFirebaseを使用しているアプリでアプリの配信先に欧州経済領域と英国が含まれている場合はGDPR対応が必要です
CriteriaクラスはAndroidアプリで位置情報を扱うときに使用します。精度、電力使用量などに基づいて、最適な位置プロバイダを選択します。しかし、Android14では、Criteria クラスが非推奨となり、代替クラスもない状況です
Android14のコア機能の変更のひとつ「フォアグラウンドサービスタイプは必須」に対応していないアプリは、フォアグラウンドサービスを起動したときにアプリが落ちます。フォアグラウンドサービスタイプは必須の対応方法について、紹介します
これまで戻るボタンの処理は、onBackPressedに記述していました。onBackPressedはAndroid13から非推奨、Android14から使用不可になりました。Android14での戻るボタンの処理の実装を紹介します
ExoPlayerは音声や動画のローカル再生のほか、DASH、SmoothStreamingなど、MediaPlayerではサポートされていない機能があります。Media3のExoPlayerを使用して、動画や音楽を再生する方法を紹介します
Spinnerは前回選択したアイテムと同じアイテムを選択した場合、onItemSelectedのイベントが発生しません。アイテム選択時に前回と同じアイテムであっても選択を検知できるCustomSpinerを実装する方法を紹介いたします
動画からのサムネイルの作成方法は、サムネイルユーティリティで動画ファイルからサムネイル用のBitmapを取得し、ファイル出力します。作成対象の動画ファイルが多い場合は、処理に時間がかかるので、作成済みの動画は再作成しないなどの工夫が必要です
Duelは動画で"ライバルとの差を可視化する"コラージュアプリです。スマホやタブレットにある動画ファイルにチャプタを設定して、画面尿に2つの動画を並べてシンクロ再生、スロー再生でどこで差がついか、操作と動作を確認、どう変化したか確認します。
画面が回転する際、画面が再起動します。ダイアログを表示中に再起動が発生すると、アプリがクラッシュします。タブレットでは本体側の設定(画面の自動回転)が優先され、アプリで画面の向きが固定できません。タブレットでは画面の回転の対応が必須です。
Androidで日本語を含むデータを出力したファイルをWidowsで読み込むと文字化けします。文字コードがAndroidがUTF-8でWidowsがShift_JISだからです。AndroidでShift_JISに変換する方法を説明します。
WSAを使用すれば、Androidスマホがなくても、Windows 11のPCさえあれば、Androidネイティブアプリを動作させることが可能になります。Windows 11でAndroidアプリを実行する方法について、紹介します。
TextToSpeech は、テキストから音声合成して、再生や音声ファイルを作成できるライブラリです。画面上に通知メッセージをテキスト出力する感覚で、テキストを指定して音声で案内することが可能となります。実用的な音声案内の実装を説明します
DIYなら、エンジンを停止して数日経った状態でオイル交換することが可能です。オイルが冷えている状態で、汚れを含めて、オイルパンに十分に落ちていることが期待できます。同時にオイルフィルタを交換すると、無駄にオイルで汚れることなく交換できます
確定申告で必要な『仕訳』をスマホで簡単らくらく登録。登録した仕訳データを会計ソフトに取り込んで使う、確定申告サポートアプリです。登録している伝票(取引の仕訳)を選んで、金額を入力するだけで、計上・決済・手数料の仕訳を一度に登録できます。
DialogFragmentはユーザーによる意思決定や追加情報の入力を求める小さなウィンドウを想定しているため、通常の使用方法では、画面サイズいっぱいに表示することができません。ここでは画面サイズいっぱいに表示する方法について、紹介します。