اجرا شد یک سری کد فقط در هنگام اجرای برنامه!برای اولین بار!
اگه تدوین شده لطفا اعلام کنید:)
ممکن است بخواهیم که یک سری دستور، تنها یک بار در برنامه اندروید اجرا شوند. مثلا می توانیم بعد از نصب برنامه اندروید و در اولین اجرای برنامه اندروید، توسط کاربر، یک پیام را به کاربر نمایش بدهیم، ولی در دفعات بعد، هیچ پیامی نمایش داده نشود. البته این تنها یک کاربرد است برای اجرای یک سری دستور، تنها یک مرتبه، می باشد و فرقی ندارد که دستورات، در کجای برنامه به کار رفته باشند یا اینکه کی کاربر، به activity حاوی آن دستورات، وارد شود.
روشی که ما به کار می بریم، بر اساس SharedPreferences می باشد.
ابتدا یک کلاس با نام Prefs می سازیم (ساخت فایل Prefs.java). این کلاس باید حاوی کدهای زیر باشد :
public class Prefs extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
Boolean b = prefs.getBoolean("FIRSTRUN", true);
}
سپس باید فایل AndroidManifest.xml را باز کرده و خط زیر را به آن اضافه کنیم (بعد از آخرین تگ activity) :
<activity android:name=".Prefs"></activity>
اکنون، در آن activity که قصد داریم، یک سری دستور، تنها یک مرتبه اجرا شوند، کدهای زیر را می نویسیم :
final SharedPreferences shared = getSharedPreferences("Prefs", MODE_PRIVATE);
final SharedPreferences.Editor editor = shared.edit();
boolean isFirstRun = shared.getBoolean("FIRSTRUN", true);
if (isFirstRun){
// Code to run one
editor.putBoolean("FIRSTRUN", false);
editor.commit();
}
سپس کدهایی که می خواهید تنها یک بار اجرا شوند را به جای عبارت // Code to run one بنویسید.
همین کد بالا، پاسخگوی نیاز شما است، اما بد نیست نکته زیر را در مورد SharedPreferences بدانید :
دقت داشته باشید که به جای editor.commit(); می توان از editor.apply(); استفاده نمود، این گزینه دوم، در برخی موارد که چندین بار، در یک activity ، از SharedPreferences مقدار خوانده و در آن نوشته ایم، می تواند عملکرد مورد نظر ما را صحیح تر اجرا کند. انتخاب بین این دو، بستگی به کدهای activity دارد. شما ابتدا از editor.commit(); استفاده کنید و اگر مشاهده کردید که مقادیر جدیدی که در SharedPreferences ذخیره می کنید، جایگزین مقادیر قبلی نشده اند، آنگاه از editor.apply(); استفاده نمایید. دقت داشته باشید که برای استفاده از editor.apply(); باید حداقل شماره minSdkVersion در فایل AndroidManifest.xml را به 9 تغییر دهید که باعث می شود، برخی گوشی ها با برنامه شما سازگار نباشند.
اگه تدوین شده ببخشید.بگید اموزش رو تعغیر میدم با تشکر
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .