آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

استفاده از یک متغیر در یک اکتیویتی و تاثیر تغیر آن در اکتیویتی دیگر

Mr7  12 سال پیش  12 سال پیش
0 0

سلام . یه سوال خیلی ساده داشتم . من می خواستم توی یک اکتیویتی یک بولین تعریف کنم که با تغییر اون مثلا true شدنش در اکتیویتی دیگه یه تغییراتی بوجود بیاد . ممنون  (راستی از static هم استفاده کردم ولی یا من بلد نبودم یا نمی شد)

0 0
من از PutExtra و Getextras استفاده کردم _ ولی راه بهتری هم وجود داره که هنوز من اموزش های اینده رو ندیدم < ! (12 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
hamidd  12 سال پیش
+2 0

توی کلاس G تعریفش کنید. مثلا به این صورت فیلد رو توی کلاس G تعریف کنید:

public static boolean booleanValue1;

بعد میتونید از داخل هر اکتیویتی ای به این صورت تغییرش بدید:

G.booleanValue1 = true;
G.booleanValue1 = false;

یا به این صورت از داخل هر اکتیویتی ای بهش دسترسی داشته باشید و مثلا مقدارش رو توی یک متغیر دیگه بریزید:

boolean booleanValue2 = G.booleanValue1;

استاد کلاس G رو توی بخش 05-02 Activity Life Cycle توضیح دادن اگه تا حالا ندیدید پیشنهاد میکنم حتما مشاهده اش کنید.

پاسخ به سوال 
hamed  12 سال پیش
0 0

دوستان این جوابی که اضافه می کنم حکم سوال هم داره پس لطفا تصحیح بفرمائید:

به طور کلی به نظر می رسد به چند روش می توان اطلاعات را بین کلاس های مختلف به اشتراک گذاشت:

1- استفاده از متغیرهای استاتیک مثل همین چیزی که hamidd عزیز در بالا فرمودند که حالا می تونیم متغیر استاتیک را در کلاس G تعریف کنیم و یا حتی یک کلاس مخصوص متغیرهای عمومی بسازیم و یا آن را در یکی از کلاس هایی که در سیستم اشتراکی ما درگیر است قرار دهیم.

2- تعریف یک متد در کلاسی که قرار است متغیر در آن مورد استفاده قرار گیرد (تحت عنوان کلاس ست کردن متغیر) و احضار کردن آن در هر زمان که به خواهیم آن کلاس را احضار کنیم و نیاز به مقدار دهی به آن متغیر هم هست.

3- قرار دادن مقادیر  متغیرها در یک کلید و ارسال آن به کلاس مورد نظر

4- استفاده از دیتابیس یا prefrense برای ذخیره اطلاعات و خواندن اطلاعات از آن جا که خوب البته سرعت پایین خواندن و نوشتن می تواند عملکرد برنامه را مختل سازد.

5- یه جیزی هم اینجا از دوستان یاد گرفتم که یه جورایی حالت خاص مورد یک هست.

 

با تشکر. می دونم اشتباه و کمبود زیاد داره لطفا همراهی کنید.


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .