App First Start Check for Android
앱이 최초로 실행되었는지를 확인하고, 그 경우에 따라 처리를 하는 경우가 있다. 아래와 같이 처리하면 된다. Preference 에 값을 넣어 놓고 그것으로 비교하면 된다.
enum class AppStart {
FIRST_TIME, // 최초 실행
FIRST_TIME_VERSION, // 업데이트 하고 최초 실행
NORMAL, // 일반적 실행
ERROR // 오류
}
object AppUtils {
fun checkFirstRun(): AppStart {
val currentVersion = BuildConfig.VERSION_CODE
val doesnt_exist: Int = -1;
val savedVersionCode = PreferenceHelper.defaultPrefs()["PREF_VERSION_CODE", doesnt_exist] // 본인이 사용하고 있는 Preference Uitlity
PreferenceHelper.defaultPrefs()["PREF_VERSION_CODE"] = currentVersion
return when {
currentVersion == savedVersionCode -> AppStart.NORMAL
savedVersionCode == doesnt_exist -> AppStart.FIRST_TIME
currentVersion > savedVersionCode -> AppStart.FIRST_TIME_VERSION
else -> AppStart.ERROR
}
}
}
사용할때는 단순히 호출해서 사용하면 된다.
if (AppUtils.checkFirstRun() == AppStart.FIRST_TIME) {
// 최초 실행
} else if (AppUtils.checkFirstRun() == AppStart.FIRST_TIME_VERSION) {
// 업데이트 하고 최초 실행
}
Read other posts