PDA

View Full Version : لطفا راهنماییم کنید



hoh_wxw
شنبه 29 شهریور 1393, 15:53 عصر
سلام خسته نباشید...
اقا یه کمک کنید به من...!
یه تب ویو دارم که تو اون سه تا اکتیویتی دارم ، هر سه اکتیویتی هم قراره یه مقدار عددی رو بعد از یه سری محاسبه تو خودشون برگردونن و در یک اکتیویتی نتیجه نشون داده بشن
حالا من میخوام تو هر یک از این اکتیویتی ها که هستم وقتی دکمه محاسبه رو میزنم مجموع نتیجه تمام این سه اکتیویتی رو محاسبه کنه.
از putExtra استفاده کردم ولی نتیجه همون اکتیوتی که توش هستم رو نشون میده ولی دو اکتیویتی دیگر رو نال بر می گردونه
ممنون میشم اگه راهنماییم کنید...

saeed_g21
شنبه 29 شهریور 1393, 16:16 عصر
لطفا شما هم موضوع تاپیک رو درست انتخاب نمایید

چرا از دیتابیس یا Shared Preferences استفاده نمی کنی ؟

آموزش نحوه کار با Shared preferences توسط دوست عزیزمون poorman اینجا (http://barnamenevis.org/showthread.php?447908-%D8%A7%DB%8C%D9%86-%D9%87%D9%85-%DA%A9%D8%AF&p=2008744&viewfull=1#post2008744)گفته شده

omid.n1990
شنبه 29 شهریور 1393, 18:18 عصر
به نظرم
Shared Preferences مربوط به زمانی است که شما بخوای نتایج رو ذخیره کنید برای ورودهای بعدی به برنامه و اینجا به گمانم نیازی به اینکار نباشه که مقادیر برای ورودهای بعدی ذخیره بشن.
خوب از یک کلاس عمومی استفاده کن! و هروقت خواستی و از هرجا خواستی به خصوصیاتش مقدار بده.


public final class MyClass{
public static int intNumber1;
public static int intNumber2;
public static int intNumber3;}

ارسال و گرفتن مقادیر هم که مشکلی نداره و بلد هستید.

MyClass.intNumber2=131
int x = MyClass.intNumber2;

hoh_wxw
شنبه 29 شهریور 1393, 19:58 عصر
امید جان یک دنیا ممنون از پاسخت
فقط یک مقدار من گیج شدم ، این کلاس عمومی رو باید جدا از همه کلاس ها تعریف کنم؟ و بعدش ازش در اکتیویتی هام یک شی بسازم و مقدار متغیر هام رو برابر با نتیجه اکتیویتی هام قرار بدم؟
میدونم گیج کننده گفتم اخه خودم هم یکم سردر گم شدم اگه یکم بیشتر توضیح بدید ممنون میشم.
فقط یه چیز دیگه هم بگم اینکه وقتی من تو یکی از اتیویتی هام هستم اون دو تا اکتیویتی دیگه onStop میشن که null رو برمیگردونن. راه هست که من بتونم کاری کنم که اونا هم در حال اجرا بمونن و وقتی دکمه محاسبه رو زدم هر سه اکتیویتی محاسبات رو انجام بدن و نتیجه ها جمع بشن و در نهایت در اکتیویتی نتیجه نمایش بده؟
بازم ممنون

omid.n1990
شنبه 29 شهریور 1393, 20:14 عصر
نه نیازی به ساختن شیء نیست. کلاس رو به صورت final تعریف کردم که دیگه نیاز به تعریف شیء نباشه و مقداری که به پارامترها میدی همه جا قابل دسترس باشه.
یک کلاس جدید ایجاد میکنید مثل همون کلاسی که من ایجاد کردم توی همون پکیج کلیک راست، گزینه new، و بعد class. و بعد کلاس رو نام اش رو انتخاب کنید و مثل همون مثالی که زدم توی کلاس خصوصیت های مورد نیازتون رو تعریف کنید.
دسترسی هم مثل همون مثالی که زدم کافیه و نه شیء میخواد تعریف کنید نه چیز دیگه.
سوال دومتون کمی گنگ هست. یعنی خود مسئله ای که میخواهید محاسبات رو انجام بدید گنگ هست. محاسباتتون چقدر سنگین هست مگه؟ بعد چطوری شروع به اجرا میشن این محاسبات؟ اگر محاسباتتون سنگین هست و میخواهید همروند اجرا بشن میتونید از نخها استفاده کنید.
اگر هم سه اکتیویتی دارید که میخواهید خروجی اشون جمع بشه، خوب همون کلاس کارتون رو راه میندازه، بعد از اینکه خروجی هر اکتیوتی محاسبه شد مقدارش رو توی اون کلاس قرار بدید.
برای رویداد onstop هم شما میتونید خودتون مجدد تو کدتون دوباره نویسی اش کنید. به صورت پیش فرض کد زیر اجرا میشه که شما میتونید متوقف اش نکنید و کدی که میخواهید تو این رویداد اتفاق بیفته رو بنویسید.


@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
}

hoh_wxw
شنبه 29 شهریور 1393, 20:25 عصر
بازم ممنون از توضیح خوبت
نه محاسبات سنگین نیستن و نیازی نیست همروند انجام بشن
در اصل توی هر اکتیویتی قراره از کاربر در editText مقدار عددی گرفته بشه بد یسری جمع و ضرب انجام بشه بعد نتیجه همه با هم جمع بشه
منتها مسئله اینه که یوقتایی امکان داره با دو اکتیویتی دیگر کاری نداشه باشیم و یعنی حتی نیاز تباشه اجرا بشن و تمام نیاز کاربر تو یکی از اکتیویتی ها باشه
من میخوام وقتی هر کدوم از اکتیویتی ها اجرا شد نتیجش همزمان محاسبه شه و اکتیویتی هم که اجرا نشد 0 رو بررگردونه
که فک میکنم کمک شما خیلی کارساز باشه امتحانش میکنم
بازم تشکر میکنم ازتون

hoh_wxw
شنبه 29 شهریور 1393, 20:48 عصر
اقا امید دست گلت درد نکنه واقعا جواب گرفتم مشتی
یه دنیا ممنونم ازت دستت طلااااااااااااااااااااااا اااااااااااااا

omid.n1990
شنبه 29 شهریور 1393, 20:52 عصر
خواهش، سلامت باشید.