アプリをもっと多くの人に知ってもらうために作成したプロモーション動画です。動画はすべてInstagramのリール動画でMiniTool MovieMakerを使って作成しています。
老後は「余生」ではなく、「セカンドライフ」。そんな生き方に挑戦する元ITエンジニアのブログです。
某ITベンダーを早期退職。現在、フリーランスのエンジニアとして、日々アプリ開発に奮闘中です(^^♪ クルマとアニメとラノベが大好きなナイスミドルです♪
フロアジャッキは梃子の原理と油圧で動作しています。フロアジャッキで一番多い故障がオイル漏れです。オイル漏れの原因はOリングの劣化で負荷のかかるメインピストンは2~3年でダメになります。メインピストンのOリングを交換する方法を紹介します。
退職後も加入していた健康保険の任意継続の期間満了(最大2年間)となり、国民健康保険に加入しました。任意継続から、国民健康保険に加入する際に必要な書類やその入出方法、手続きの時期などを詳しく説明します。
Viewの背景(background)を修飾するshape要素(drawable)には、ストローク線(stroke)の色をグラデーションにすることはできません。layer-list要素を使用して枠線の色をグラデーションにする方法を紹介します
Spinnerのドロップダウンでナビゲーションバーを表示させない
全画面モードでシステムバー(ナビゲーションバーやステータスバー)を非表示にしていても、Spinnerのドロップダウンでシステムバーが表示されます。この現象を回避するシステムバーを非表示にするカスタムSpinnerの実装方法を紹介します
Roomのマイグレーションでは変更前テーブルのスキーマ情報が必要です。変更前テーブルのスキーマ情報がない状態でマイグレーションするとマイグレーションが失敗します。exportSchema=falseでマイグレーションする方法を紹介します
RoomはオープンソースデータベースSQLiteを抽象化レイヤとして提供するライブラリです。データベースの操作や定義、SQLの実行など、SQLiteを最大限に活用することが可能です。Roomの導入から使用方法をソースを参考に説明します
次の項目で問題が見つかりました。 権限の使用が申告されていないか、 間違って申告されています
Google社より「ご対応のお願い: GooglePlayのポリシーをアプリが遵守していません」といったタイトルのメールが届き、リリースが否承認となりました。ポリシー違反を特定する方法と対処から、ポリシー違反の解消までの流れを説明します
2つの動画を再生位置を合わせ・並べて・同時に再生する動画再生アプリ(Duel)を使って、ライバルと比較、外撮りと車載の比較、過去の自分と比較について、比較する目的や確認するポイントから、比較する内容に適したアプリの使用方法を説明します
Androidスマホは、MP4形式しか動画ファイルは再生できません。Android13から、Apple標準オーディオ形式の音楽ファイルが再生できなくなっています。FFmpegでMP形式に変換して、Androidで再生する方法を紹介します
ConoHaのレンタルサーバの基本サービスで毎日バックアップが取得していますが、WordPressのデータの一部だけリストアすることができません。WordPressの一部のファイルだけ復元できるバックアップを無料で構築する方法を紹介します
選択できる機能メニューの数が多い場合、メニューを階層化して表示することはユーザビリティの向上として有効な手段です。ActionMenuViewを使用したメニューでSubMenuを使用したメニューを階層化の実装方法について、説明します
フルード交換は基本的に、二人一組。ブレーキを踏む人、キャリパーのエアブリーダーを開け閉めする人。そんなブレーキフルードのエア抜きも、工夫次第で特殊な工具も必要なく、"ひとり"で"簡単"にできる方法とクラッチフルードの交換方法を紹介します。
散布図は実験結果などのエビデンスでよく用いられるグラフですが、2つの軸をX軸とY軸と捉えると、平面図の描画への応用が可能です。MPAndroidChartのScatterChartを使用して、散布図の特長を生かしたGUIを紹介します
円グラフはデータ全体の「内訳」を円の角度で表現するグラフで、折れ線グラフや棒グラフほど使用する機会はありません。円グラフの特長を生かした簡単なGUIを、MPAndroidChartのPieChartを使用して実装します。
エンジンに悪影響があるチリ、ほこり、砂などをブロックしているのがエアフィルターです。エアフィルターには、使い捨てのものから、洗浄して再利用できるものがあります。再利用できる湿式エアフィルターのメンテナンス方法について説明します。
MPAndroidChartの折れ線グラフは特性上、グラフ線が見やすくするために背景が白色です。このため、折れ線フラフの後ろのレイヤーにオブジェクトを配置すると背景に隠れて見えなくなります。グラフ線の背景を透過させる方法を説明します
Androidのナビゲーションバーには標準で戻るボタンが配置されています。前の画面に戻るためのボタンですが、アプリ側で処理を記述する必要があります。タブレイアウトの画面遷移で戻るボタンによるヒストリーバック機能の実装方法を紹介します
標準のアプリ画面では上側にステータスバー、下側(横画面では右側)にナビゲーションバーが表示されます。動画や画像、ゲームなどのコンテンツでは、全画面で表示したくなる場面があります。システムバーを非表示や透明化した全画面表示の方法を紹介します
ジョイント部分が破損したドライブシャフト、ジョイントを交換するだけで再使用できます。ブーツが破けてグリスが漏れている場合もあります。残念ながら、この状態では車検に通りません。ドライブシャフトのアウタージョイントを交換する方法を説明します
個人データを扱うアプリを欧州経済領域と英国に配信する場合はGDPR対応は必須ですが、個人データを扱っていなくてもAdMobやFirebaseを使用しているアプリでアプリの配信先に欧州経済領域と英国が含まれている場合はGDPR対応が必要です
Android14対応<br>(非推奨のCriteriaの対応)
CriteriaクラスはAndroidアプリで位置情報を扱うときに使用します。精度、電力使用量などに基づいて、最適な位置プロバイダを選択します。しかし、Android14では、Criteria クラスが非推奨となり、代替クラスもない状況です
Android14対応 (フォアグラウンドサービスタイプは必須)
Android14のコア機能の変更のひとつ「フォアグラウンドサービスタイプは必須」に対応していないアプリは、フォアグラウンドサービスを起動したときにアプリが落ちます。フォアグラウンドサービスタイプは必須の対応方法について、紹介します
Android14対応(非推奨のonBackPressed)
これまで戻るボタンの処理は、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はユーザーによる意思決定や追加情報の入力を求める小さなウィンドウを想定しているため、通常の使用方法では、画面サイズいっぱいに表示することができません。ここでは画面サイズいっぱいに表示する方法について、紹介します。
「ブログリーダー」を活用して、まっさんさんをフォローしませんか?
アプリをもっと多くの人に知ってもらうために作成したプロモーション動画です。動画はすべてInstagramのリール動画でMiniTool MovieMakerを使って作成しています。
スマホ本体にある動画や画像ファイルにアクセスする場合にコンテンツリゾルバを使用しますが、Androidのバージョンの違いによって動画や画像ファイルを削除できない場合があります。メディアストアにある動画や画像ファイルを削除する実装を紹介します
PDFファイルの申請書をプリンタで印刷して、記入する。記入する内容が同じ部分を毎回記入するのは面倒。違う部分のみ記入することで、ラクしたいと思ったことはありませんか?PDF編集ソフトを使って、記入済みPDFファイルを作成する方法を紹介します
QRコードのスキャンはスマホのカメラ機能して、撮影した画像からQRコードを検出し、デコードします。GooglePlay開発者サービスにスキャン機能があり、簡単にQRコードのスキャン機能が簡単に実装できます。オートスキャンの使用やカメラの権限リクエストが不要です
動画やゲームなどのコンテンツでは、全画面で表示したくなります。全画面モードでナビゲーションバーを非表示にした場合、ワンタップでホーム画面に戻ることができなくなります。今回は全画面モードでナビゲーションバーの戻るボタンとホームボタンを使用できる実装を紹介します
URLの交換をスマホで行う場合に便利なQRコード。QRコードはURLの交換に特化したインタフェースではありません。任意のデータをQRコードで表示して、データ交換の手段として使用できます。任意の文字列をQRコードで表示する実装を紹介します
横画面で入力キーボードを表示すると全画面にソフトキーボードが表示されて、入力項目が隠れる現象が発生します。EditTextのIMEオプションを指定することで入力項目が隠れる現象を回避することが可能です。
エッジ ツー エッジが無効化できない場合、ステータスバーやナビゲーションバーをアプリ領域に被らないようにレイアウトを制御する必要があります。Android14以下においてもエッジ ツー エッジを適用することでレイアウト制御の共通化が図れます
スマホアプリのプロモーション動画を作成する場合、スマホの縦長画面の動画編集に対応している動画編集ソフトを選択することが重要です。宣伝や操作説明のプロモーション動画を作成する際に使用しているMiniTool MovieMakerをご紹介します
ArchiveHubはGoogleドライブにある走行データを計測ラインを使ってタイム計測を行い、集計したタイム計測結果はアプリの画面で確認したり、Googleスプレッドシートで共有でき、画面で走行データのグラフ表示や走行データの比較表示やモーション再生ができる
バッテリーを交換したばかりなのにエンジンがかかりくい。燃料ポンプの作動音(ジージー)がするけど、セルモーターの作動音(キュルキュル)がしない場合、セルモーターが故障している可能があります。DIYでセルモーターを交換する方法を紹介します
ブレーキローターを流用する場合、ポン付けできるものから、加工が必要なものまで様々。ブレーキローターの流用で4穴のブレーキローターを5穴に加工する方法を紹介します
小数点以下の数値を含む演算での数値は2進数で表現し、演算します。2進数で表現できない数値は近似値で扱われ、これが誤差が生じる原因です。今回はBigDecimalを使用して、有効桁数の範囲で誤差が発生しない演算の実装について説明します
Android5で画面に表示している内容をメディアストリームとしてキャプチャするMediaProjectionが追加されました。今回はMediaProjectionで実行中の他のアプリ画面のスクリーンショットを取得する実装を紹介します
アプリの操作してる様子を録画したい、アプリの画面のスナップショットを取得したいなど、操作パネルを他のアプリの上に重ねて表示したいケースがあります。他のアプリの上に重ねて操作パネル(フローティングアイコン)を表示する実装を紹介します
Storage Access Framework(SAF)のデフォルトフォルダはEXTRA_INITIAL_URIで指定しますが、EXTRA_INITIAL_URIに指定するフォルダ表記を誤ると正しく動作しません。フォルダの表記を説明します
ActivityのライフサイクルでonDestroyが実行された状態を終了、onPauseまで実行された状態を中断と区別します。サービス起動で画面をバックグランドに移動させ、サービス終了で画面をフォアグランドに呼び戻す実装方法を紹介します
Photo and Video Permissions policyではREAD_MEDIA_IMAGES、READ_MEDIA_VIDEOの使用を制限します。Photo Pickerでスマホ本体にある画像や動画を選択する実装を紹介します
Android15ではアプリのtargetSdkを35にすると、強制的にエッジツーエッジが適用され、アプリの表示領域にステータスバーとナビゲーションバーが被さって表示されます。アプリの対応として、エッジツーエッジを無効にする方法を紹介します
imgsawは画像やPDFをビューアに表示、ズーム&スクロールと枠(フレーム)を調整して、トリミング加工した画像ファイルを生成します。加工した画像ファイルは他のアプリからファイルピッカーで選択させたり、Googleドライブなどに出力できます
フロアジャッキは梃子の原理と油圧で動作しています。フロアジャッキで一番多い故障がオイル漏れです。オイル漏れの原因はOリングの劣化で負荷のかかるメインピストンは2~3年でダメになります。メインピストンのOリングを交換する方法を紹介します。
退職後も加入していた健康保険の任意継続の期間満了(最大2年間)となり、国民健康保険に加入しました。任意継続から、国民健康保険に加入する際に必要な書類やその入出方法、手続きの時期などを詳しく説明します。
Viewの背景(background)を修飾するshape要素(drawable)には、ストローク線(stroke)の色をグラデーションにすることはできません。layer-list要素を使用して枠線の色をグラデーションにする方法を紹介します
全画面モードでシステムバー(ナビゲーションバーやステータスバー)を非表示にしていても、Spinnerのドロップダウンでシステムバーが表示されます。この現象を回避するシステムバーを非表示にするカスタムSpinnerの実装方法を紹介します
Roomのマイグレーションでは変更前テーブルのスキーマ情報が必要です。変更前テーブルのスキーマ情報がない状態でマイグレーションするとマイグレーションが失敗します。exportSchema=falseでマイグレーションする方法を紹介します
RoomはオープンソースデータベースSQLiteを抽象化レイヤとして提供するライブラリです。データベースの操作や定義、SQLの実行など、SQLiteを最大限に活用することが可能です。Roomの導入から使用方法をソースを参考に説明します
Google社より「ご対応のお願い: GooglePlayのポリシーをアプリが遵守していません」といったタイトルのメールが届き、リリースが否承認となりました。ポリシー違反を特定する方法と対処から、ポリシー違反の解消までの流れを説明します
2つの動画を再生位置を合わせ・並べて・同時に再生する動画再生アプリ(Duel)を使って、ライバルと比較、外撮りと車載の比較、過去の自分と比較について、比較する目的や確認するポイントから、比較する内容に適したアプリの使用方法を説明します
Androidスマホは、MP4形式しか動画ファイルは再生できません。Android13から、Apple標準オーディオ形式の音楽ファイルが再生できなくなっています。FFmpegでMP形式に変換して、Androidで再生する方法を紹介します
ConoHaのレンタルサーバの基本サービスで毎日バックアップが取得していますが、WordPressのデータの一部だけリストアすることができません。WordPressの一部のファイルだけ復元できるバックアップを無料で構築する方法を紹介します
選択できる機能メニューの数が多い場合、メニューを階層化して表示することはユーザビリティの向上として有効な手段です。ActionMenuViewを使用したメニューでSubMenuを使用したメニューを階層化の実装方法について、説明します
フルード交換は基本的に、二人一組。ブレーキを踏む人、キャリパーのエアブリーダーを開け閉めする人。そんなブレーキフルードのエア抜きも、工夫次第で特殊な工具も必要なく、"ひとり"で"簡単"にできる方法とクラッチフルードの交換方法を紹介します。
散布図は実験結果などのエビデンスでよく用いられるグラフですが、2つの軸をX軸とY軸と捉えると、平面図の描画への応用が可能です。MPAndroidChartのScatterChartを使用して、散布図の特長を生かしたGUIを紹介します
円グラフはデータ全体の「内訳」を円の角度で表現するグラフで、折れ線グラフや棒グラフほど使用する機会はありません。円グラフの特長を生かした簡単なGUIを、MPAndroidChartのPieChartを使用して実装します。
エンジンに悪影響があるチリ、ほこり、砂などをブロックしているのがエアフィルターです。エアフィルターには、使い捨てのものから、洗浄して再利用できるものがあります。再利用できる湿式エアフィルターのメンテナンス方法について説明します。
MPAndroidChartの折れ線グラフは特性上、グラフ線が見やすくするために背景が白色です。このため、折れ線フラフの後ろのレイヤーにオブジェクトを配置すると背景に隠れて見えなくなります。グラフ線の背景を透過させる方法を説明します