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

گرفتن زمان از کاربر در پروژه شمارش گر معکوس استاد

amir.kenarang  10 سال پیش  10 سال پیش
0 0

سلام و خسته نباشید.

دوستان من میخواستم پروژه counter استاد رو یه تغییری بدم. قصدم این بود که با قرار دادن یک Plain Text زمان رو از کاربر بگیرم  و با توجه به زمان وارد شده شمارشگر شروع به شمارش کنه .ولی چون من خیلی مبتدی هستم اصلا نمیدونم باید چه کدی رو کجا بنویسم. اگه میشه یه کمک بکنید. فقط خواهشا کامل توضیح بدین که چیکار کنم تا دستم راه بیافته، مرسی

0 0
خودت باید اینقدر تلاش کنی تا یاد بگیری ! (10 سال پیش)
0 0
تلاش کردم ولی چون تا حالا برنامه ای ننوشیتم ایده ای به ذهنم نمیرسه (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Soheil  10 سال پیش
+1 0

سلام

در ابتدا مثلا یک تکست ویو معرفی میکنی

TextView txtcounter = (TextView) findviewbyid(R.id.txtcounter) ;

TextView count = (TextView) findviewbyid(R.id.count) ; ( اینم برای همون شمارنده زمان )

بعد الان مثلا کاربر میزنه عدد 80 . خب باید بیایم مقدار وارد شده رو تبدیل کنیم

int counter = Integer.parseint (txtcounter.gettext().toString()) ;

چون میدونی که این پروژه بهتره با مفهوم thread ها نوشته بشه پس میای تو کلاسی که اکستند شده از Thread اینا رو تو متد run مینویسی :

counter -- ;

int min = (int) Matih.floor (counter / 60 ) ; ( تو اینجا اومدیم اینو کد زدیم برای بالاتر از 60 که به دقیقه تبیدل بشه )

int sec = counter % 60

 

count.setrext (min + ":" + sec) ;

به همین سادگی :)

 

0 0
مرسی از راهنماییت ولی با توجه به این کد های استاد که پایین گذاشتم اصلا نمیتونم متوجه بشم. (10 سال پیش)
پاسخ به سوال 
amir.kenarang  10 سال پیش
0 0

دوست عزیز متاسفانه مشکل از منه که نمیتونم مشکلم رو حل کنم و از کد های شما استفاده کنم

اینم از کد های استاد

 public class ActivityMain extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

TextView txtCounter = (TextView) findViewById(R.id.txtCounter);

ThreadCounter counter = new ThreadCounter();

counter.setSeconds(80);
counter.setTextView(txtCounter);
counter.start();

}
}
 public class ThreadCounter extends Thread {

private int seconds;
private int counter;
private TextView textView;


public void setSeconds(int value) {
seconds = value;
counter = seconds;

}


public void setTextView(TextView value) {
textView = value;
}


@Override
public void run() {
super.run();
while (counter > 0) {
try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
counter--;
if (textView != null) {
G.HANDLER.post(new Runnable() {

@Override
public void run() {
int min = (int) Math.floor(counter / 60);
int sec = (int) counter % 60;
String minPrefix = "";
if (min < 10) {
minPrefix = "0";

}
String secPrefix = "";
if (sec < 10) {
secPrefix = "0";

}
textView.setText(minPrefix + min + ":" + secPrefix + sec);
}
});
}
Log.i("LOG", "counter: " + counter);
}
G.HANDLER.post(new Runnable() {

@Override
public void run() {
Toast.makeText(G.context, "Alarm ! ! !", Toast.LENGTH_SHORT).show();
}
});
}
}

+1 0
خب الان مشکل کجاس ؟ (10 سال پیش)
0 0
کد هایی رو که میگین کجا باید بنویسم؟ داخل کدوم کلاس؟ (10 سال پیش)
0 0
برادر مگه آموزشها را به دقت دنبال نکردی ؟؟؟ این قسمت فکر کنم مربوط به فصل 9 میشه هااااا !!!!! (10 سال پیش)
0 0
عزیز جان اتفاقا آموزش رو تا آخر فصل 9 دنبال کردم و اینم برای فصل هست. ولی همون طور که گفتم میخواستم یه تغییری در پروژه استاد بدم، به این صورت که به جای این که عدد 80 رو داخل برنامه بنویسیم با استفاده از یک Edit Text یا Plan Text زمان رو از کاربر دریافت کنیم. اما چون خیلی مسلط نیستم نتونستم کد های مربوط رو داخل این برنامه بنویسم. یه جورایی میخوام این پروژه رو تکمیل تر و کاربردی تر بکنم که به مشکل برخوردم. از این که پیگیر هستی و کمک میکنی بسیار متشکرم. (10 سال پیش)
0 0
اول از همه یه plain text میندازی تویه لیوتت بعدش تویه برنامه تعریفش میکنی زیر text view این تا اینجا ! بعدش یه باتون میندازی تویه لیوتت و همون جایی که گفتم تعریفش میکنی بعدش برای باتون یک on click lisener تعریف میکنی و از public class Thread counter به بعد هرچی هست رو انتقال میدی تویه لیسنر که وقتی رویه باتون کلیک شد شروع کنه به شمارش ! بعد یه متغییر int تعریف میکنیم و مقدار plainText رو میریزیم توش البته باید string رو به int تبدیل کنی! بعدش به جایه اون 80 متغییری رو که تعریف کردیم توش قرار میدیم ! امیدوارم که متوجه شده باشی عمدا کد ننوشتم تا خودت بنویسی و یاد بگیری ! یه توصیه ای هم بهت بکنم اونم اینکه سعی نکن سریع آموزش هارو نگاه کنی و تموم کنی بهتره که آموزش هارو اینقدر تمرین کن که بفهمی ! (10 سال پیش)
+1 0
FSR عزیز واقعا متشکرم از راهنمایی خوبت. آره کار خوبی کردی که کد ننوشتی. همین که توضیح دادی چیکار کنم و کجا بنویسم برام کافیه.تشکر (10 سال پیش)
0 0
خواهش میکنم کاری نکردم که ! باز هرجا سوال داشتی بپرس (10 سال پیش)

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