一个简单的现实时钟和数字时间
老规矩。右键取得图片地址,利用下载工具下载这个显示不出来的图片。后缀改为rar即可得到源代码项目。
package zhang.example;
import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.widget.AnalogClock;
import android.widget.TextView;
public class ac_dc extends Activity {
protected static final int GUINOTIFIER=0x1234;
private TextView mTextView;
private AnalogClock mAnalogClock;
public Calendar mCalendar;
public int mMinutes;
public int mHour;
public Handler mHandler;;
private Thread mClockThread;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTextView=(TextView)findViewById(R.id.textView1);
mAnalogClock=(AnalogClock)findViewById(R.id.analogClock1);
mHandler =new Handler(){
public void handleMessage(Message msg){
switch(msg.what){
case ac_dc.GUINOTIFIER:
mTextView.setText(mHour+":"+mMinutes);
break;
}
super.handleMessage(msg);
}
};
mClockThread = new LooperThread();
mClockThread.start();
}
class LooperThread extends Thread{
public void run(){
super.run();
try{
do{
long time=System.currentTimeMillis();
final Calendar mCalendar = Calendar.getInstance();
mCalendar.setTimeInMillis(time);
mHour=mCalendar.get(Calendar.HOUR);
mMinutes=mCalendar.get(Calendar.MINUTE);
Thread.sleep(1000);
Message m=new Message();
m.what=ac_dc.GUINOTIFIER;
ac_dc.this.mHandler.sendMessage(m);
}while(ac_dc.LooperThread.interrupted()==false);
}catch (Exception e) {
// TODO: handle exception
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<AnalogClock android:layout_height="wrap_content" android:id="@+id/analogClock1" android:layout_width="wrap_content"></AnalogClock>
<TextView android:layout_height="wrap_content" android:id="@+id/textView1" android:layout_width="fill_parent" android:text="TextView"></TextView>
</LinearLayout>