2015-04-24 81 views
0

我們正在開發一個我們需要當前日期和時間的android應用程序。我們正在使用API​​從服務器獲取日期和時間。但我們不想一直溝通。其實,我們有3個選項卡。在每個選項卡上,我們都要求服務器提供日期和時間,並且我們有時間在每個選項卡上下拉菜單。如果當前時間是下午4點50分,我們正在以這種方式填充下拉,然後我們以半小時間隔填充下拉(即下午5點30分,6點,6點30分7點,晚上7點等)。由於這個原因,標籤刷卡變得糟糕透頂。當我滑動下一個標籤頁時,然後調用服務器在後臺進行日期和時間。直到它沒有得到當前的日期和時間。我的申請被吊死。如何在android中沒有系統和服務器的情況下獲取當前的日期和時間(IST)?

,我們不能使用系統的日期和時間吧。因爲用戶可以更改設備的日期和時間。

我甚至查爲同一網絡提供商。它提供SIM卡可用的情況。它不適用於Wi-Fi設備。

有沒有什麼辦法讓當前日期和時間?

在此先感謝!

PRASHANT。

+0

java.util.Calendar? – Wayne

回答

1

只是sugestion,和我不是一個Android開發者,所以請糾正我,如果我錯了!

http://developer.android.com/reference/android/os/SystemClock.html

你可以從你的系統中使用uptimeMillis。

當應用程序啓動,調用一個服務器,以獲得實際的時間,在此之後,使用uptimeMillis的差異來計算的確切日期和時間,而不需要額外的servercall的。

出於好奇(因爲我不是一個Android開發者) 如果用戶打開該應用程序會發生什麼,timeDiff測量計算,移動應用TE背景,改變設備的時間,然後從後臺重新打開相同的「實例」 ?

0

可能這有助於

Time today = new Time(Time.getCurrentTimezone()); 
today.setToNow(); 

不是很確定,但值得一試爲我的設備是在WiFi和這部作品在平板電腦沒有SIM

+0

這甚至可以是個好主意:) – Prashanth

+0

讓我知道它是否適合你 –

+0

它返回我的設備當前日期和時間 –

3

當您連接,您可以驗證的時間和日期到服務器並註冊與系統日期的差異。

然後,您將能夠填充下拉菜單並從服務器接收更新時更正下拉菜單。

+0

感謝隊友。這可能工作。 – Prashanth

0

在啓動時從服務器獲取的時間只有一次,在本地保存與設備的時間差,從這裏您可以根據設備的時間推斷其他需要的時間:

製表時間=設備時 - 服務器時間DIFF +標籤差異時間

相關問題