スプラッシュスクリーンを作成する

本アプリを起動する時に表示される次のスプラッシュスクリーンの作成方法を解説します。

 

 

まず、build.gradleファイルで、依存関係にSplashScreen互換性ライブラリを追加します。

dependencies {
    ・・・
    implementation(libs.androidx.core.splashscreen)
}

themes.xmlにTheme.SplashScreenを親とするstyleエレメントを設定します。

<style name="Theme.ImaBiker.SplashOpening" parent="Theme.SplashScreen">
    <item name="windowSplashScreenBackground">@color/teal_200</item>
    <item name="windowSplashScreenAnimatedIcon">@drawable/baseline_directions_bike_24_xy</item>
    <item name="postSplashScreenTheme">@style/Theme.ImaBiker.NoActionBar</item>
</style>

スプラッシュスクリーンの色は、Backgroundで@color/teal_200を設定しています。センターに表示される画像は、Drawableで作成した画像を設定しています。

MainActivityでは、super.onCreate()の前にinstallSplashScreen()を呼びます。

override fun onCreate(savedInstanceState: Bundle?) {
    installSplashScreen()

    super.onCreate(savedInstanceState)

    ・・・

ユーザー設定を管理する

本アプリで使用するユーザープロファイルやオプション設定などのユーザー設定を管理する方法を解説します。ユーザー設定のデータは、ArrayListとしてsharedPreferencesを使用し、リスト情報をJSONArrayに変換し、それを文字列として保存します。

例えば、バイクリストの各バイク毎のデータは、次のようにして呼び出します。

const val IMABIKER_FILE_NAME = "imabiker"
const val BIKE_DATA_LIST = "bike_data_list"
val sharedPreferences = activity?.getSharedPreferences(IMABIKER_FILE_NAME, MODE_PRIVATE)
val jsonArray = JSONArray(sharedPreferences!!.getString(BIKE_DATA_LIST, "[]"))
for (i in 0 until jsonArray.length()) {
    val jsonData = jsonArray.getString(i)
    var profile = Gson().fromJson(jsonData, BikeProfile::class.java)
    ・・・ profileの要素に関する処理を追加
}

 

サイドメニューを実装する

 

下部メニューを実装する

 

データベースを管理する