نمایش پیام خوش آمدگویی برای ورژن های جدید به کمک preference (مثل اجرای بار اول برنامه) ???
در قسمت preference استاد برای تشخیص اجرای بار اول برنامه از نبود فلان کلید در preference استفاده کردند. و بعد از اجرای دوم دیگه آن کلید ساخته شده و دیگر هم بار اول اجرا به حساب نمی آید.
چطور می توان بعد از نصب ورژن جدید برنامه، مثل اجرای اول پیام خوش آمد گویی را نمایش داد؟؟
چراکه preference ها پاک نمیشن و اون کلید ساخته شده موجود است و برنامه ورژن جدید را هم به عنوان اجرای دوم به بعد در نظر میگیرد.
برای این کار key مربوط به preference ما باید متغیر باشه یعنی در هر ویرایش از برناممون فرق کنه ، که اگر دقت کنید مناسب ترین مورد برای ما versionCode در فایل manifest هستش ، که در هر نسخه از برنامه یه عدد متفاوت و بزرگتر از قبلی هستش.
با این متد میشه اون عدد رو بدست آورد :
public int getVersion() {
int v = 0;
try {
v = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
} catch (NameNotFoundException e) {
e.printStack();
}
return v;
}
اینجوری هم میشه استفاده کرد ازش :
boolean firstTime = prefs.getBoolean("first_time" + String.ValueOf(getVersion()), false);
همین راه spirit عزیز خوبه فقط به نظرم اصولی تر اینه که این مقدار ورژن رو توی یه preference ذخیره کنیم و چک کنیم که آیا مقدار این preference ما از مقدار ورژن فعلی پایین تره یا نه:
public boolean checkVersion() {
int v = 0;
try {
v = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
} catch (NameNotFoundException e) {
e.printStack();
}
int lastVersion= prefs.getInt("version", 0);
if( lastVersion<v){
return true;
}else{
return false;
}
}
حالا مثلا جواب میاد true پس یعنی ورژن جدیده پس کارهایی که میخواستی رو انجام میدی
فقط یادت نره که حتما بعدش مقدار v رو توی اون کلید version ذخیره کنی
اینجوری از تعدد کلید ها جلوگیری میشه
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .