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

ساخت یک تایمر رندم در اندروید استودیو

Allowmahdi  5 سال پیش  5 سال پیش
+1 0

دوستان عزیزم سلام
بنده تازه یادگیری اندروید رو شروع کردم و هنوز آماتور هستم!
در حال ساخت برنامه ای هستم که نیاز به یک تایمر رندم دارم، میخوام یه تایمر بذارم و این تایمر بیاد چند خط کد رو بین 4 ثانیه تا 12 ثانیه به اختیار خودش اجرا کنه ! یعنی به صورت رندم بین 4 تا 12 ثانیه کدهای مورد نظر بنده رو اجرا کنه ، مثلا یک بار در ثانیه 8ام اجرا بشه یک بار در ثانیه 5ام اجرا بشه و به همین شکل ادامه داشته باشه ...

قطعه کد زیر رو خودم نوشتم و درست هم کار میکنه فقط به صورت رندم نیست، میاد هر 4 ثانیه یک بار کدها رو اجرا میکنه اما من میخوام رندم بین 4 تا 12 ثانیه باشه !

 
fast_type.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MainActivity.isAuto = true ;
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Handler hh = new Handler(Looper.getMainLooper());
hh.post(new Runnable() {
@Override
public void run() {
if(MainActivity.isAuto){
frag_main_follow_follow.performClick();
}else {
MainActivity.isAuto = false ;
timer.cancel();
}
}
});
}
}, 0, 4000);

alert_auto_follow.dismiss();
}
});
+2 0
شما میخواید با هر بار اجرای برنامه بصورت تصادفی یکبار بعد از 4 ثانیه ، یکبار بعد از 10 ثانیه و ... اجرا بشه ؟ (5 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
ChookD1  5 سال پیش
+4 0

تنها کافیت که شما بجای 4 هزار میلی ثانیه به اون یک مقدار اینتیجر پاس بدید ، پس بجای اون 4000 میلی ثانیه بنویسید مثلاً : randNum

اما این randNum چی هست ؟ توی کد زیر مشخصه ، یک مقدار اینتیجیری که خروجی اون بین 4 هزار تا 12 هزار هست که وقتی به جای میلی ثانیه قرار میدیم ، مقداری کاملا تصادفی برامون میده بین 4 هزار میلی ثانیه و 12 هزار میلی ثانیه ( یعنی 4 تا 12 ثانیه ) :

 
int randNum = (int) ((Math.floor(Math.random() * 8)) + 5) * 1000 ;

بصوتر کلی برای تولید یک عدد تصادفی از : Math.random
 و بـــرای گــرفت عـدد رنـد ( کف گیری ) از :   Math.floor 
استفاده میکنیم .

پاسخ به سوال 
Allowmahdi  5 سال پیش
+1 0

یه دنیا ممنون، اوکی شد

+2 0
پاسخ بالا رو به عنوان پاسخ صحیح انتخاب کنید تا سوال بسته شود ، ما همیشه در انجمن uncox منتظر سوالات شما هستیم تا بتونیم به اتفاق همدیگه پیشرفت کنیم. (5 سال پیش)
+2 0
ضمناً یک سوالی هم داشتم خدمتتون ، شما برنامه نویسی رو از آموزشهای چه سایتی شروع کردید ؟ یا شاید دارید کلاس حضوری میرید ؟ (5 سال پیش)
+1 0
من اندروید رو فعلا دارم از طریق آموزش های استاد یاد میگیرم! تخصصم طراحی وب هست (5 سال پیش)

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