Я сделал приложение, которое синхронизирует данные данных через устройства в зависимости от времени эпохи. Сейчас я получаю это время эпохального с помощью REST API на сервере с помощью HttpURLConnection следующим образом:Является ли время Android одинаковым во всех устройствах
public static String getTime(String time){
InputStream is = null;
BufferedReader bufferedReader = null;
HttpURLConnection urlConnection = null;
try{
URL url = new URL(SERVERURL);
urlConnection = (HttpURLConnection) url.openConnection();
is = urlConnection.getInputStream();
bufferedReader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuilder stringBuilder = new StringBuilder();
String line = null;
while((line = bufferedReader.readLine()) != null){
stringBuilder.append(line);
}
JSONObject jsonObject = new JSONObject(stringBuilder.toString());
return jsonObject.getString("time");
}
catch(JSONException e){
Log.d("getTime","json object creation failed");
}
catch(IOException e){
Log.d("getTime", "couldn't get time from server");
}
finally {
try {
if(urlConnection != null){
urlConnection.disconnect();
}
if(bufferedReader != null) {
bufferedReader.close();
}
if(is != null){
is.close();
}
}
catch(IOException e){
Log.d("async getGameName","io exception closing buffer");
}
}
return time;
}
так, что все устройства получают метку времени от одного известного источника. Этот метод работает в фоновом режиме, поэтому он не замедляет работу приложения, но он не дает хорошего пользовательского опыта, потому что мне нужна эта метка времени, чтобы отображать информацию пользователю, а запрос http занимает много времени. Несколько раз до минуты, потому что это зависит от сетевого подключения, поэтому я хотел спросить, является ли время локальной эпохи одинаковым для всех устройств Android, и если это лучший способ получить временную метку эпохи на андроиде? Заранее спасибо.
Не существует гарантированного универсального времени для всех устройств Android, поскольку все их часы могут отличаться. Точная синхронизация времени - довольно сложная проблема, как вы обнаружили. –