Making a simple timer


Last Updated:

  1. anta40

    anta40 New Member This Topic's Starter

    Joined:
    May 26, 2010
    Messages:
    1
    Likes Received:
    0
    This is my first android app: a simple timer.

    Screenshots:
    http://i47.tinypic.com/zj8chu.jpg
    http://i47.tinypic.com/fthcli.jpg

    At the moment, I'm working on these 2 problems.
    First, there's a textview under the clock, but it is not displayed (XML problem?).
    Second, the timer doesn't work. Let's say 3 seconds is chosen as interval, than a text is supposed to be shown under the clock for each 3 seconds. But it doesn't.

    This is my code, so far.

    Reminder.java
    Code (Text):
    1. package com.anta40.reminder;
    2.  
    3. import java.io.File;
    4. import java.io.FileInputStream;
    5. import java.io.FileNotFoundException;
    6. import java.io.FileOutputStream;
    7. import java.io.IOException;
    8. import java.io.InputStream;
    9. import java.util.Timer;
    10. import java.util.TimerTask;
    11.  
    12. import android.app.Activity;
    13. import android.os.Bundle;
    14. import android.widget.RadioGroup;
    15. import android.widget.TabHost;
    16. import android.widget.TextView;
    17. import android.widget.RadioGroup.OnCheckedChangeListener;
    18. import android.widget.TabHost.TabSpec;
    19.  
    20. public class Reminder extends Activity{
    21.    
    22.     public final int TIMER_DELAY = 1000;
    23.     public final int TIMER_ONE_MINUTE = 60000;
    24.     public final int TIMER_ONE_SECOND = 1000;
    25.     Timer timer;
    26.     TimerTask task;
    27.     TextView tv;
    28.    
    29.     @Override
    30.     public void onCreate(Bundle icicle) {
    31.  
    32.         super.onCreate(icicle);
    33.         setContentView(R.layout.main);
    34.         timer = new Timer();
    35.  
    36.         task = new TimerTask() {
    37.            
    38.             @Override
    39.             public void run() {
    40.                 tv = (TextView) findViewById(R.id.textview1);
    41.                 tv.setText("BOOM!!!!");
    42.                 tv.setVisibility(TextView.VISIBLE);
    43.                 try {
    44.                     this.wait(TIMER_DELAY);
    45.                 }
    46.                 catch (InterruptedException e){
    47.                    
    48.                 }
    49.                 tv.setVisibility(TextView.INVISIBLE);
    50.             }
    51.            
    52.         };
    53.        
    54.         TabHost tabs=(TabHost)findViewById(R.id.tabhost);
    55.  
    56.         tabs.setup();
    57.  
    58.         TabSpec spec = tabs.newTabSpec("tag1");
    59.  
    60.         spec.setContent(R.id.tab1);
    61.         spec.setIndicator("Clock");
    62.         tabs.addTab(spec);
    63.        
    64.         spec=tabs.newTabSpec("tag2");
    65.         spec.setContent(R.id.tab2);
    66.         spec.setIndicator("Settings");
    67.         tabs.addTab(spec);
    68.        
    69.         tabs.setCurrentTab(0);
    70.        
    71.         RadioGroup rgroup = (RadioGroup) findViewById(R.id.rgroup);
    72.         rgroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    73.            
    74.             @Override
    75.             public void onCheckedChanged(RadioGroup group, int checkedId) {
    76.                 if (checkedId == R.id.om){
    77.                     timer.schedule(task, TIMER_DELAY, 3*TIMER_ONE_SECOND);
    78.                 }
    79.                 else if (checkedId == R.id.twm){
    80.                     timer.schedule(task, TIMER_DELAY, 6*TIMER_ONE_SECOND);
    81.                 }
    82.                 else if (checkedId == R.id.thm){
    83.                     timer.schedule(task, TIMER_DELAY, 9*TIMER_ONE_SECOND);
    84.                 }
    85.             }
    86.         });
    87.  
    88.     }
    89. }
    main.xml
    Code (Text):
    1.  
    2. <?xml version="1.0" encoding="utf-8"?>
    3. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    4.     android:orientation="vertical"
    5.     android:layout_width="fill_parent"
    6.     android:layout_height="fill_parent">
    7.     <TabHost android:id="@+id/tabhost"
    8.         android:layout_width="fill_parent"
    9.         android:layout_height="fill_parent">
    10.         <TabWidget android:id="@android:id/tabs"
    11.             android:layout_width="fill_parent"
    12.             android:layout_height="wrap_content"
    13.         />
    14.         <FrameLayout android:id="@android:id/tabcontent"
    15.             android:layout_width="fill_parent"
    16.             android:layout_height="fill_parent"
    17.             android:paddingTop="62px">
    18.             <LinearLayout android:id="@+id/tab1"
    19.                 android:layout_width="fill_parent"
    20.                 android:layout_height="fill_parent"
    21.                 android:layout_centerHorizontal="true">
    22.                
    23.                 <AnalogClock android:id="@+id/clock"
    24.                 android:layout_width="fill_parent"
    25.                 android:layout_height="fill_parent"
    26.                 android:layout_centerHorizontal="true"
    27.                 />
    28.                
    29.                 <TextView android:id="@+id/textview1"
    30.                 android:layout_width="fill_parent"
    31.                 android:layout_height="wrap_content"
    32.                 android:text="Lalalala....."
    33.                 />
    34.             </LinearLayout>
    35.            
    36.             <LinearLayout android:id="@+id/tab2"
    37.                 android:orientation="vertical"
    38.                 android:layout_width="fill_parent"
    39.                 android:layout_height="fill_parent"
    40.                 android:layout_centerHorizontal="true">
    41.                
    42.                 <TextView android:id="@+id/textview2"
    43.                     android:layout_width="fill_parent"
    44.                     android:layout_height="wrap_content"
    45.                     android:text="Interval: "/>
    46.                
    47.                 <RadioGroup android:id="@+id/rgroup"
    48.                     android:orientation="vertical"
    49.                     android:layout_width="fill_parent"
    50.                     android:layout_height="wrap_content"
    51.                     android:padding="5px">
    52.                     <RadioButton
    53.                       android:id="@+id/om"
    54.                       android:text="3 seconds" />
    55.                     <RadioButton
    56.                       android:id="@+id/twm"
    57.                       android:text="6 seconds" />
    58.                     <RadioButton
    59.                       android:id="@+id/thm"
    60.                       android:text="9 seconds" />
    61.                  </RadioGroup>
    62.             </LinearLayout>
    63.         </FrameLayout>
    64.     </TabHost>
    65. </LinearLayout>
     

    Advertisement

Share This Page

Loading...