在布局文件中放一个TextView用来显示时间,如下所示:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white"> <TextView android:id="@+id/mytime" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:textColor="@android:color/black" android:textSize="36sp"/> </LinearLayout>
开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间:
import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.format.DateFormat; import android.widget.TextView; public class TestActivity extends Activity { private static final int msgKey1 = 1; private TextView mTime; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.time); mTime = (TextView) findViewById(R.id.mytime); new TimeThread().start(); } public class TimeThread extends Thread { @Override public void run () { do { try { Thread.sleep(1000); Message msg = new Message(); msg.what = msgKey1; mHandler.sendMessage(msg); } catch (InterruptedException e) { e.printStackTrace(); } } while(true); } } private Handler mHandler = new Handler() { @Override public void handleMessage (Message msg) { super.handleMessage(msg); switch (msg.what) { case msgKey1: mTime.setText(getTime()); break; default: break; } } }; //获得当前年月日时分秒星期 public String getTime(){ final Calendar c = Calendar.getInstance(); c.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); String mYear = String.valueOf(c.get(Calendar.YEAR)); // 获取当前年份 String mMonth = String.valueOf(c.get(Calendar.MONTH) + 1);// 获取当前月份 String mDay = String.valueOf(c.get(Calendar.DAY_OF_MONTH));// 获取当前月份的日期号码 String mWay = String.valueOf(c.get(Calendar.DAY_OF_WEEK)); String mHour = String.valueOf(c.get(Calendar.HOUR_OF_DAY));//时 String mMinute = String.valueOf(c.get(Calendar.MINUTE));//分 String mSecond = String.valueOf(c.get(Calendar.SECOND));//秒 if("1".equals(mWay)){ mWay ="天"; }else if("2".equals(mWay)){ mWay ="一"; }else if("3".equals(mWay)){ mWay ="二"; }else if("4".equals(mWay)){ mWay ="三"; }else if("5".equals(mWay)){ mWay ="四"; }else if("6".equals(mWay)){ mWay ="五"; }else if("7".equals(mWay)){ mWay ="六"; } return mYear + "年" + mMonth + "月" + mDay+"日"+" "+"星期"+mWay+" "+mHour+":"+mMinute+":"+mSecond; } }
以上所述是小编给大家介绍的Android动态显示当前年月日时分秒系统时间,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对菜鸟教程(cainiaojc.com)网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。