USB接続GPSレシーバはなんといっても価格が安いのでロガーアプリをお試しで利用したい人におススメです。Bluetoothのように電波干渉で通信が不安定になることがありませんが、USB入力を使用するため使用中は充電できない欠点があります。
老後は「余生」ではなく、「セカンドライフ」。そんな生き方に挑戦する元ITエンジニアのブログです。
某ITベンダーを早期退職。現在、フリーランスのエンジニアとして、日々アプリ開発に奮闘中です(^^♪ クルマとアニメとラノベが大好きなナイスミドルです♪
Roomのマイグレーションでは変更前テーブルのスキーマ情報が必要です。変更前テーブルのスキーマ情報がない状態でマイグレーションするとマイグレーションが失敗します。exportSchema=falseでマイグレーションする方法を紹介します
RoomはオープンソースデータベースSQLiteを抽象化レイヤとして提供するライブラリです。データベースの操作や定義、SQLの実行など、SQLiteを最大限に活用することが可能です。Roomの導入から使用方法をソースを参考に説明します
次の項目で問題が見つかりました。 権限の使用が申告されていないか、 間違って申告されています
Google社より「ご対応のお願い: GooglePlayのポリシーをアプリが遵守していません」といったタイトルのメールが届き、リリースが否承認となりました。ポリシー違反を特定する方法と対処から、ポリシー違反の解消までの流れを説明します
2つの動画を再生位置を合わせ・並べて・同時に再生する動画再生アプリ(Duel)を使って、ライバルと比較、外撮りと車載の比較、過去の自分と比較について、比較する目的や確認するポイントから、比較する内容に適したアプリの使用方法を説明します
「ブログリーダー」を活用して、まっさんさんをフォローしませんか?
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要素を使用して枠線の色をグラデーションにする方法を紹介します
全画面モードでシステムバー(ナビゲーションバーやステータスバー)を非表示にしていても、Spinnerのドロップダウンでシステムバーが表示されます。この現象を回避するシステムバーを非表示にするカスタムSpinnerの実装方法を紹介します
Roomのマイグレーションでは変更前テーブルのスキーマ情報が必要です。変更前テーブルのスキーマ情報がない状態でマイグレーションするとマイグレーションが失敗します。exportSchema=falseでマイグレーションする方法を紹介します
RoomはオープンソースデータベースSQLiteを抽象化レイヤとして提供するライブラリです。データベースの操作や定義、SQLの実行など、SQLiteを最大限に活用することが可能です。Roomの導入から使用方法をソースを参考に説明します
Google社より「ご対応のお願い: GooglePlayのポリシーをアプリが遵守していません」といったタイトルのメールが届き、リリースが否承認となりました。ポリシー違反を特定する方法と対処から、ポリシー違反の解消までの流れを説明します
2つの動画を再生位置を合わせ・並べて・同時に再生する動画再生アプリ(Duel)を使って、ライバルと比較、外撮りと車載の比較、過去の自分と比較について、比較する目的や確認するポイントから、比較する内容に適したアプリの使用方法を説明します
ジョイント部分が破損したドライブシャフト、ジョイントを交換するだけで再使用できます。ブーツが破けてグリスが漏れている場合もあります。残念ながら、この状態では車検に通りません。ドライブシャフトのアウタージョイントを交換する方法を説明します
個人データを扱うアプリを欧州経済領域と英国に配信する場合は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はユーザーによる意思決定や追加情報の入力を求める小さなウィンドウを想定しているため、通常の使用方法では、画面サイズいっぱいに表示することができません。ここでは画面サイズいっぱいに表示する方法について、紹介します。
練習しても成績が伸びない、あれこれと足掻けば足掻くほどに成績が落ちてきて、モチベーションが下がってきている人におススメする、GPSロガーとアプリを使った、いろいろな運転操作を試す、セッティングの良し悪し確認する区間タイムの計測方法を紹介します
タイヤチェンジャーを使わず、扁平タイヤ(ロープロファイル)やスポーツタイヤはタイヤレバーの手組みでは無理な作業です。小型でアンカー設置が不要、部屋でも作業できる手動式タイヤチェンジャーを使って、スポーツタイヤの組み換えする手順を紹介します
GPSの位置情報を使ってタイムを計測する方法はお手軽な反面、GPSの特性を知らずにタイムを計測した場合、光電管と比べて、計測ミスや精度がイマイチで使い物にならないといったことをよく聞きます。GPSの特性を考慮したタイムを計測する方法を紹介します