View Full Version : shake رفتن به صفحات دیگر با تکان دادن گوشی
moralschool
جمعه 20 تیر 1393, 13:44 عصر
من یه برنامه دارم که با تکان دادن گوشی وارد اکتیویتی بعدی میشه ...
حالا اگر 10 تا اکتیویتی داشته باشم ،
1- چطور میتونم کاری کنم که بصورت نوبتی و یا تصادفی وارد یکی از این 10 تا اکتیویتی بشه ...
2- وارد هر کدوم از اکتیویتی ها که شد ، در تکان دادن بعدی دیگه اون اکتیویتی جزو لیستی که بشه واردش شد نباشه یعنی از بین اون 10 تا اکتیویتی حذف بشه ( البته برای تکان دادن )
3- نام اکتیویتی هایی که با تکان دادن باز میشه چحوری در یه لیست و در یک اکتیویتی دیگه نمایش داده بشه که با کلیک روی هر کدوم بشه واردشون شد ( یعنی یه صفحه میشه برای اکتیویتی هایی که قبلا نمایش داده شدن )
-------
ممنون میشم دوستان راهنمایی کنند
امیدوارم اساتید در این زمینه کمک خوبی انجام بدن فکر میکنم این برای همه دوستان مفید باشه ...
اگه نتیجه گرفتیم انشاالله کد کامل رو برای استفاده همه دوستان همین جا قرار میدیم
moralschool
جمعه 20 تیر 1393, 23:02 عصر
برای این کار میدونم که باید نام اکتیویتی ها رو در یه لیست آرایه ای قرار داد و برای هر کدوم هم یه لیست آرایه ای عددی تعیین کرد که مقدار عناصرش صفر باشه
بعدشم باید یه عدد تصادفی ایجاد کنیم و عدد مربوط به هر اکتیویتی که انتخاب شد ، مقدارش از صفر به یک تغییر کنه
حالا در دفعات بعدی باید تعیین کنیم که اگر عنصری که بصورت تصادفی انتخاب میشه مقدارش یک بود بیاد و از اول یه عدد دیگه تعیین کنه که مقدارش صفر باشه و بعدشم که باید با توجه به عدد انتخاب شده ، اکتیویتی که مربوط به اون هست رو اجرا کنیم
حالا این توضیح منطقی کار هست که از کمک دوستان استفاده کردم اما راستش من نتونستم نتیجه بگیرم و کد کار رو بنویسم لطفا اگه اساتید میتونن کمک کنن
کد این سوال و توضیحی که داده شد رو کسی هست زحمتش رو بکشه :لبخند:
سوالم بدون جواب رفته بود آرشیو امیدوارم دوستان جواب بدن :اشتباه:
moralschool
شنبه 21 تیر 1393, 19:50 عصر
هل من ناصر ینصرنی ؟!
Is there anyone who can help me?
moralschool
یک شنبه 22 تیر 1393, 18:56 عصر
Did Not Help
? !
saeidpsl
یک شنبه 22 تیر 1393, 19:03 عصر
اینو (http://stackoverflow.com/questions/2317428/android-i-want-to-shake-it) ببین
http://stackoverflow.com/questions/5271448/how-to-detect-shake-event-with-android
moralschool
یک شنبه 22 تیر 1393, 19:17 عصر
ممنون که بالاخره یکی پاسخ این تایپیک مظلوم رو داد ...
لینک هایی که دادید رو دیدم در مورد اینکه که چجور از تکان دادن(shake) استفاده کنیم بودند ...
اما من این رو قبلا انجام دادم و با تکان دادن گوشی میره به اکتیویتی بعدی
حالا چیزی که سوالم بود اینه که اگه ما مثلا 3 تا اکتیویتی داشته باشیم و بخوایم با هر بار تکون دادن گوشی بصورت تصادفی بره به یکی از این اکتیویتی ها باید چیکار کنیم ؟ ( یعنی کاری با (shake) نداریم فرض کنید اصلا میخوایم روی یه دکمه کلیک کنیم و بصورت تصادفی وارد یکی از این 3 اکتیویتی بشیم )
ضمنا میخوایم طوری باشه که اگه مثلا قبلا رفته به اکتیویتی 2 ، دفعه بعدی که تکون میخوره گوشی دیگه به اون اکتیویتی 2 نره و از بین 1 و 3 بره یکی دیگه
لطفا کمک مجدد
saeidpsl
یک شنبه 22 تیر 1393, 19:23 عصر
بیا (http://stackoverflow.com/questions/12101292/how-can-i-display-random-activity-when-click-button)
http://stackoverflow.com/questions/19868847/start-random-activity
moralschool
یک شنبه 22 تیر 1393, 19:35 عصر
ممنون
ولی متاسفانه جواب نداد برام:اشتباه::خجالت:
نمیشه خودتون توی 7-8 خط راهنمایی کنید
moralschool
یک شنبه 22 تیر 1393, 20:59 عصر
خدا رو شکر قسمت اول حل شد
من از این کد استفاده کردم :
Intent newIntent = null;
Random rand = new Random();
int index = rand.nextInt(4);
switch (index) {
case 0:
newIntent = new Intent(this, Page1.class);
break;
case 1:
newIntent = new Intent(this, Page2.class);
break;
case 2:
newIntent = new Intent(this, Page3.class);
break;
}
startActivity(newIntent);
که باعث میشه بصورت رندم بین صفحات بره
فقط چیزی که کم داره اینه که من میخوام اگه رفت به یه اکتیویتی ، دفعه بعد از بین لیست رندم خارج بشه و دیگه جزو صفحاتم نباشه
moralschool
سه شنبه 24 تیر 1393, 09:10 صبح
آیا اصلا با استفاده از این روش ، میشه در دفعات بعدی که shake صورت می گیره گزینه ای رو از لیست رندم خارج کرد ؟
فکر کنم با sharedpreferences بشه لطفا راهنمایی کنید جچوری میشه ...
moralschool
سه شنبه 24 تیر 1393, 14:37 عصر
از این روش هم برای رفتن تصاوفی به اکتیویتی ها استفاده کردم جواب میده
لطفا یکی کمک کنه که در رندم دو بار به یه اکتیویتی نره
Intent[] intentArray = {new Intent(this, Page1.class), new Intent(this, Page2.class),
new Intent(this, Page3.class)};
int random = (int) (Math.random() *3 );
Intent intent = intentArray[random];
startActivity(intent);
moralschool
پنج شنبه 26 تیر 1393, 11:25 صبح
ما که جواب نگرفتیم با این تایپیک !
دوستانی که میتونن کمک کنن لطفا . ماهیت این انجمن همین هست
moralschool
جمعه 27 تیر 1393, 10:33 صبح
اینجا انگار یکی بود هیچکس نبوده ! :قهقهه:
toopak
شنبه 28 تیر 1393, 13:33 عصر
فرض کن یک آرایه داری
String[] pagesOpt = { "page1", "page2", "page3", "page3"....};
حالا بیا با دستور زیر آرایتو به هم بریز
Random random = new Random();
String randString = pagesOpt[random.nextInt(pagesOpt.length)];
حالا هر دفعه بیا از آرایت شروع کن به خوندن، با یک کانتر ببین چندمین shake انجام شده و بر اساس اون برو خونه مربوط به اون ایندکس رو با توجه به کانترت بخون
اینجوری هر با برنامه اجرا میشه یک بار عملیات رندوم انجام میشه و دفعه های دیگه فقط عملیات خوندنت صورت میگیره
moralschool
شنبه 28 تیر 1393, 17:23 عصر
میشه لطفا با توجه به یکی از اون کد های من که در بالا گذاشتم اینو کامل کنید ؟ راستش من در این زمینه ضعیف هستم لطفا کمک کنید
ممنونم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.