android取系統時間
1. android 怎麼實時顯示時間
我們知道,用System.currentTimeMillis()可以獲取系統當前的時間,我們可以開啟一個線程,然後通過handler發消息,來實時的更新TextView上顯示的系統時間。
我們開啟一個線程,線程每隔一秒發送一次消息,我們在消息中更新TextView上顯示的時間就ok了。
首先我們在布局文件中放一個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"
2. android有個獲取時間的函數:systemTime(SYSTEM_TIME_MONOTONIC);我想知道SYSTEM_TIME_MONOTONIC什麼意思
獲取系統當前的時間。下面的文章希望能幫到您。
在一些系統調用中需要指定時間是用CLOCK_MONOTONIC還是CLOCK_REALTIME,以前總是搞不太清楚它們之間的差別,現在終於有所理解了。
CLOCK_MONOTONIC是monotonic time,而CLOCK_REALTIME是wall time。
monotonic time字面意思是單調時間,實際上它指的是系統啟動以後流逝的時間,這是由變數jiffies來記錄的。系統每次啟動時jiffies初始化為0,每來一個timer interrupt,jiffies加1,也就是說它代表系統啟動後流逝的tick數。jiffies一定是單調遞增的,因為時間不夠逆嘛!
wall time字面意思是掛鍾時間,實際上就是指的是現實的時間,這是由變數xtime來記錄的。系統每次啟動時將CMOS上的RTC時間讀入xtime,這個值是"自1970-01-01起經歷的秒數、本秒中經歷的納秒數",每來一個timer interrupt,也需要去更新xtime。
以前我一直想不明白,既然每個timer interrupt,jiffies和xtime都要更新,那麼不都是單調遞增的嗎?那它們之間使用時有什麼區別呢?昨天看到一篇文章,終於明白了,wall time不一定是單調遞增的。因為wall time是指現實中的實際時間,如果系統要與網路中某個節點時間同步、或者由系統管理員覺得這個wall time與現實時間不一致,有可能任意的改變這個wall time。最簡單的例子是,我們用戶可以去任意修改系統時間,這個被修改的時間應該就是wall time,即xtime,它甚至可以被寫入RTC而永久保存。一些應用軟體可能就是用到了這個wall time,比如以前用vmware workstation,一啟動提示試用期已過,但是只要把系統時間調整一下提前一年,再啟動就不會有提示了,這很可能就是因為它啟動時用gettimeofday去讀wall time,然後判斷是否過期,只要將wall time改一下,就可以欺騙過去了。
3. 如何獲取android從系統開機開始算起的運行時間
安卓系統平板電腦部分設備可以查看到系統的「開機時間」。開機時間記錄了,你所使用設備的時間總時長。即便連續使用,也會積累時間算下去。現在就來看一下你設備的開機時間吧!步驟如下:
(1)在主屏幕上輕按「設置」按鈕。或者,按下物理按鈕「Menu」,選擇「設置」。
(2)在設置的列表下,輕按選擇「關於本機」按鈕。
(3)然後,輕按「狀態消息」按鈕。
(4)查看「開機時間」。編者按:
使用安卓系統的設備,在長時間不使用時,建議關機,不但可以省電還可以起到保護設備的作用。如果短時間離開,像是去洗手間,可以把它鎖屏,這樣也是保養設備的一種方式。系統上顯示的「開機時間」,它可以告訴你使用的設備的時長。或者推算系統開機的時間。如果發現長時間沒有關機,則需要正常重新啟動一次。