So habe ich derzeit ein Problem mit dem Kontext in SharedPreferences, wo es LoginActivity.this heißt. Dies ist meine device.java-Klasse und LoginActivity ist die Aktivität, von der ich diese Methode aufrufen möchte. Also wäre es wie Device.This oder etwas in dieser Richtung?Shared Preference Method Aufruf von Aktivität zu Java-Klasse
Methoden:
public void validateLogin(String username, String password, String ipAddress) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(LoginActivity.this);
if (sharedPreferences.contains("ip") && sharedPreferences.contains("username") && sharedPreferences.contains("password")) {
String strUsername = sharedPreferences.getString("username", username);
String strPassword = sharedPreferences.getString("password", password);
String strIpAddress = sharedPreferences.getString("ip", ipAddress);
//performLogin(strUsername, strPassword, strIpAddress);
}
}
public void saveSP(String username, String password, String ipAddress) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(LoginActivity.this);
sharedPreferences.edit()
.putString("ip", ipAddress)
.putString("username", username)
.putString("password", password)
.commit();
}
Sie müssen nur 'activity = this;' irgendwo in onCreate setzen. Normalerweise lege ich es am Anfang der Klasse ab, weil es sicherstellt, dass getActivity() auf jeden Fall ein Objekt zurückgibt. – Namnodorel
Cheers hat gut funktioniert! Du hast mich komplett ausgeblendet, aber du warst am Anfang gleich: S – Lotse
Oh du noch eine Sache, du siehst wo ich performLogin auskommentiert habe. Diese Methode ist auch in der LoginActivity und ich versuche, sie in meiner Java-Klasse zu verwenden. Wie kann ich das erreichen? – Lotse