最寄り駅サーチの改修再開します
by rikuchin7 · 2021年11月3日
Google Playストアからアプリの4月末ごろに公開を停止されてしまったので、しばらく開発を止めていました。
停止から約半年が経過し、富山地鉄の新駅や座標の更新、その他もろもろ含めて更新する必要が出てきてしまったので少しずつ準備を始めることにします。
改修量が多く、時間を作って作業を進めるため相当な時間がかかってしまうことについてご容赦いただきたいです。
もしかしたら野良APKのまま公開でもよいと思う方もいるかもしれません。
しかしAndroidはストア版と野良版とでは別扱いにされています。
ストア版~野良APK版の切り替えには一度今のアプリをアンインストールしなければなりません。ストア以外のAPKを許可する設定も必要です。
手続きが増えることでインストールやアップデートのハードルがどうしても高くなってしまいます。こうなると「インストール方法がわからない」といった声が多くなり導入サポートの時間を多めにとる必要が出てしまいます。さすがにこれは避けたいです。
ただ、このサイトに現行バージョンの2.1.5のAPKを置いておくことはできると思います。
まずストア公開にあたり対応が必須なものは次の2つです。
(1)位置情報権限の許可のダイアログを出す前に説明画面を入れること。
(2)アプリをビルドするターゲットのSDKをAndroid 11以上にすること。
(2)から着手していきます。
ターゲットのSDKはAndroid 12にします。Android 11にしても来年にはAndroid 12への対応が必須となるため、いつかはやらなければなりません。
最低SDKバージョンを21から23に変更し、サポートOSはAndroid6.0以上とします。Android 5.xへのインストールはできなくなります。
Android 12対応端末は11月3日時点ではPixelシリーズしかないので実機確認はAndroid11で行います。
よってAndroid12で追加された「あいまいな位置情報を送る」機能を選択したときの挙動に対しては何もしません。
現行ソースを対象にビルドをしかけるとビルドエラーとWarningが発生するため、この対処をしていきます。
(今日までにビルドエラーはとれたので、動作はします)
・GoogleMapsのOnMapReadyCallbackにあるMaponMapReady()の引数がGoogleMap?からGoogleMapに変更されていたので あわせる。
・Handlerクラスをデフォルトコンストラクタで生成する方法は非推奨となってしまったため、別の手段に変更する。現在時刻表示などで利用。Androidは標準で秒単位で表示してくれないので、時計をみるためだけにアプリを開くことがある。
・ASyncTaskクラスが非推奨になってしまったため、JetPackのLiveDataとExecuterServiceの組み合わせにしようか検討中。ASyncTaskはアプリの根幹になっており、位置情報からSQLiteのデータベースにアクセスする処理は非同期タスクで動いている(バックグラウンドとはまったく別の機能)。<2021.11.04 RunnableとExecuterServiceにしました>