Kullanıcı, programı kullanmaya başlamadan önce oturum açma işlemini yapması gereken basit bir GUI ile bir program yapıyorum. Kullanıcı adı ve şifreyi kaydetmek istiyorum ve eğer kullanıcı "Beni hatırla" onay kutusunu işaretlerse, bir dahaki sefere veri girmesine gerek olmadığını istiyorum. Ben Java Tercihler API ile yapıyor bu yolu denedim:Java kullanıcı tercihlerini kaydetme
private Preferences prefs = Preferences.userRoot().node(this.getClass().getName());
prefs.put("codCliente", txtCodCliente.getText());
prefs.put("username", txtUsername.getText());
prefs.put("password", DigestUtils.md5Hex(String.valueOf(txtPassword.getPassword())));
Ama kapatıp i değişkenlerin içeriği yazdırmak eğer Uygulamayı yeniden halinde bunun "Boş tuşu" NullPointerException döndürür.
Bir .properties dosyasında bunları kaydetmeye çalıştım, ancak tüm dosya üzerine yazmak istemiyorum ve eğer apache commons yapılandırmasını setProperty ile kullanmaya çalışırsam, bu değeri koyamıyorum değişkenler.
Bu tür verileri depolamanın en iyi yolu hangisidir?
Hepinize teşekkürler.
o veri girmek için o ALIŞKANLIK METİN INTO bir şey koymak anlamına gelir dahaki sefere
gerekmez:
Sen hiç bir zaman damgası atayabilirsiniz kullanıcı giriş yaptıklarında. Beni hatırlarsa, hatırlamanız için 1 gün gibi bir süre geçene kadar bekleyin. – piyush121
userRoot(). Node (this.getClass(). GetName()) yerine, 'Preferences.userNodeForPackage (MyClass.class)' kullanılmalıdır. Her zaman getClass() yerine bir sınıf edebi ('MyClass.class' gibi) kullanın, bu nedenle miras tercihlerin beklemediğiniz bir yerde saklanmasına neden olmaz. – VGR
@ piyush121 problemi, uygulamayı kapattığımda veriyi koruyamıyorum. – luca89pe