Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.test.trafficlightcountdown;
- import java.text.DateFormat;
- import java.text.NumberFormat;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.Locale;
- import java.util.concurrent.TimeUnit;
- import de.werneritsolutions.trafficlightcountdown.R;
- import android.app.Activity;
- import android.net.ParseException;
- import android.os.Bundle;
- import android.os.CountDownTimer;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
- public class TrafficLightCountdownActivity extends Activity
- {
- TextView day,hour,min,sec;
- int iDay,iHour,iMin,iSec;
- MyCount counter;
- Date endDate = null;
- Date startDate = null;
- NumberFormat myFormat = NumberFormat.getInstance();
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- final SimpleDateFormat outputFormat = new SimpleDateFormat("HH:mm:ss");
- day=(TextView)findViewById(R.id.day);
- hour=(TextView)findViewById(R.id.hour);
- min=(TextView)findViewById(R.id.min);
- sec=(TextView)findViewById(R.id.sec);
- myFormat.setMinimumIntegerDigits(2);
- final String currentDate = outputFormat.format(new Date());
- Button btnStart=(Button)findViewById(R.id.btnstart);
- btnStart.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0)
- {
- try
- {
- try
- {
- endDate = outputFormat.parse(nextDate);
- }
- catch (java.text.ParseException e)
- {
- e.printStackTrace();
- }
- try
- {
- startDate=outputFormat.parse(currentDate);
- }
- catch (java.text.ParseException e)
- {
- e.printStackTrace();
- }
- long diffInMis= endDate.getTime() - startDate.getTime();
- if(diffInMis<0)
- {
- Toast.makeText(getBaseContext(), "Please, Enter valid Time...",Toast.LENGTH_SHORT).show();
- }
- else
- {
- long diff = TimeUnit.MILLISECONDS.toSeconds(diffInMis);
- iDay=(int) (diff/(60*60*24));
- long lday= (diff%(60*60*24));
- iHour=(int)(lday/3600);
- long lhour= (lday%(60*60));
- iMin=(int)(lhour/60);
- long lmin= (lhour%(60));
- iSec=(int)(lmin);
- hour.setText(String.valueOf(myFormat.format(iHour)).toString());
- min.setText(":"+String.valueOf(myFormat.format(iMin)).toString());
- sec.setText(":"+String.valueOf(myFormat.format(iSec)).toString());
- counter = new MyCount(iSec*1000,1000);
- counter.start();
- }
- }
- catch (ParseException e)
- {
- e.printStackTrace();
- }
- };
- });
- Button btnStop=(Button)findViewById(R.id.btnstop);
- btnStop.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0)
- {
- counter.cancel();
- hour.setText("00");
- min.setText(":"+"00");
- sec.setText(":"+"00");
- }
- });
- }
- public class MyCount extends CountDownTimer
- {
- public MyCount(long millisInFuture, long countDownInterval)
- {
- super(millisInFuture, countDownInterval);
- }
- @Override
- public void onFinish()
- {
- counter = new MyCount(60000,1000);
- counter.start();
- iMin-=1;
- if(iMin>-1)
- {
- min.setText(":"+String.valueOf(myFormat.format(iMin)).toString());
- }
- else
- {
- iMin=59;
- min.setText(":"+String.valueOf(myFormat.format(iMin)).toString());
- iHour-=1;
- if(iHour>-1)
- {
- hour.setText(String.valueOf(myFormat.format(iHour)).toString());
- }
- else
- {
- iHour=11;
- hour.setText(String.valueOf(myFormat.format(iHour)).toString());
- iDay-=1;
- if(iDay>-1)
- {
- day.setText(" "+String.valueOf(iDay).toString());
- }
- else
- {
- day.setText("Green!");
- hour.setText("");
- min.setText("");
- sec.setText("");
- counter.cancel();
- }
- }
- }
- }
- @Override
- public void onTick(long millisUntilFinished)
- {
- sec.setText(":"+String.valueOf(myFormat.format(millisUntilFinished/1000)));
- }
- }
- }
Add Comment
Please, Sign In to add comment