Android'de SharedPreferences
numaralı birkaç tarihi kaydetmem ve geri almam gerekiyor. Ben AlarmManager
kullanarak hatırlatma uygulaması yapıyorum ve gelecekteki tarihlerin listesini kaydetmem gerekiyor. Milisaniye olarak alınabilmelidir. Öncelikle bugün şimdiki zaman ile gelecek zaman arasındaki zamanı hesaplamayı ve paylaşılan tercihte saklamayı düşündüm. Ama bu yöntem AlarmManager
için kullanmam gerektiğinden çalışmıyor.PaylaşılanPreferences'da nasıl kayıt ve geri yükleme yapılır
39
A
cevap
131
Doğru tarihi kaydetmek ve yüklemek için, Date
nesnesinin long
(numara) gösterimini kullanabilirsiniz.
Örnek:
//getting the current time in milliseconds, and creating a Date object from it:
Date date = new Date(System.currentTimeMillis()); //or simply new Date();
//converting it back to a milliseconds representation:
long millis = date.getTime();
Bu
Kaydet gibi SharedPreferences
den Date
/Time
verileri kaydetmek veya almak için kullanabilir
:
SharedPreferences prefs = ...;
prefs.edit().putLong("time", date.getTime()).apply();
Oku geri:
Date myDate = new Date(prefs.getLong("time", 0));
Düzenleme
sen Additionaly TimeZone
saklamak istiyorsanız, bu amaçla bazı yardımcı yöntem yazabilirsiniz, böyle bir şey (ben onları test etmedim, çekinmeyin bir şey yanlışsa, düzeltin):
public static Date getDate(final SharedPreferences prefs, final String key, final Date defValue) {
if (!prefs.contains(key + "_value") || !prefs.contains(key + "_zone")) {
return defValue;
}
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(prefs.getLong(key + "_value", 0));
calendar.setTimeZone(TimeZone.getTimeZone(prefs.getString(key + "_zone", TimeZone.getDefault().getID())));
return calendar.getTime();
}
public static void putDate(final SharedPreferences prefs, final String key, final Date date, final TimeZone zone) {
prefs.edit().putLong(key + "_value", date.getTime()).apply();
prefs.edit().putString(key + "_zone", zone.getID()).apply();
}
İlgili konular
- 1. NSUndoManager'ı kullanarak, Swift kapanışlarını kullanarak geri yükleme nasıl yapılır
- 2. Ckan yedekleme ve geri yükleme
- 3. Bileşik anahtarlarla ilişkiyi silme/ayırma ve geri yükleme/geri yükleme
- 4. Görünüm durumunu geri yükleme ve geri yükleme durumu android
- 5. Dağıtım için docker görüntüsünü yedekleme/geri yükleme nasıl yapılır?
- 6. Kaydı olmayan abonelikler için geri yükleme işlemleri kayıt olmaksızın kayıt olmak
- 7. Ssis'te geri alma nasıl yapılır?
- 8. PFFacebookUtils. Giriş ve kayıt arasındaki fark nasıl yapılır?
- 9. Capybara kullanarak kayıt sayısını doğrulama nasıl yapılır
- 10. Kayıt alanları üzerinde nasıl yineleme yapılır?
- 11. VirtualBox ile yedekleme ve geri yükleme
- 12. Android yedekleme ve SD karttan veritabanına geri yükleme ve geri yükleme
- 13. Woocommerce siparişlerini geri yükleme
- 14. Yedekleme ve geri yükleme wss 3.0
- 15. liman işçisi yedekleme ve geri yükleme mongodb
- 16. DataGrid'de Satır Seçimlerini Kaydetme ve Geri Yükleme
- 17. smo geri yükleme veritabanı
- 18. RequireJS ile tembel yükleme nasıl yapılır?
- 19. MonitoredTrainingSession() işlevi "geri yükleme" ve "test modu" ile nasıl çalışır?
- 20. , aşağıya doğru daha fazla kayıt yükleme
- 21. Android kodu ve yerel kod arasında nasıl geri arama yapılır?
- 22. AWS'de Cassandra Düğümlerinin Yedeklenmesi ve Geri Yüklenmesi Nasıl Yapılır?
- 23. Struts kullanarak bir Kayıt Sayfası Nasıl Yapılır 2.3
- 24. Boto kullanarak yükleme yaparken gzip nasıl yapılır
- 25. Angular2 Formbuilder kullanarak dosya yükleme nasıl yapılır?
- 26. Git çekildikten sonra geri alma nasıl yapılır
- 27. Nasıl bitwise AND (&) cinsinden geri dönüş yapılır?
- 28. Coffeescript'te geri arama işlevi nasıl yapılır
- 29. Geri aramak için "bekleme" nasıl yapılır?
- 30. Sistem geri yükleme noktası nasıl programlanır?
Bu çalışır. Doğru olarak işaretlemelisin. – rplankenhorn
Bu şekilde, saat dilimlerine özgü tarihler için geçerli değildir. Kullanım durumu: seyahat eden kullanıcı için tarihleri sakla – Sergii