Hi Leute ich mal wieder,
Es geht um den Login und die Registrierung mit SharedPreferences. Ich habe nochmal guides geschaut und es nochmal gemacht. Das Speichern ist erfolgreich
. Allerdings gibt es beim Laden Probleme. Ich denke, dass es eigentlich funktionieren müsste. Nur wird beim Display auf der nächsten Activity die Details nicht abgefragt... schade. Könnte wer mal drüber schauen, woran es liegt? Ich denke irgendwas passt nicht. Ich habe die Klasse User erstmal bewusst ausgelassen, hoffe aber auch, dass ich den User irgendwie dann damit verlinken kann. Der Login bzw. dessen Daten die gespeichert werden und geholt werden sollen ja auch später mit trays verknüpft werden.
Es geht um den Login und die Registrierung mit SharedPreferences. Ich habe nochmal guides geschaut und es nochmal gemacht. Das Speichern ist erfolgreich
Code:
package de.miguel.frozzenlist.frozzenbetaa;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.SharedPreferencesCompat;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Register extends AppCompatActivity implements View.OnClickListener {
SharedPreferences sharedPreferences;
Button regristryFinish;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
regristryFinish=(Button)findViewById(R.id.btnRegistry);
regristryFinish.setOnClickListener(this);
final EditText inputName= (EditText)findViewById(R.id.bntInputName);
final EditText inputEmail=(EditText)findViewById(R.id.bntInputEmail);
final EditText setPasswort=(EditText)findViewById(R.id.bntsetPasswort);
final EditText setControlPasswort=(EditText)findViewById(R.id.bntControlPasswort);
final TextView inputAnswer=(TextView) findViewById(R.id.btnAnswer);
regristryFinish.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SharedPreferences preferences = getSharedPreferences("UserPreferences",0);
String newUser= inputName.getText().toString();
String newEmail= inputEmail.getText().toString();
String newPasswort= setPasswort.getText().toString();
String newPasswortCommit= setControlPasswort.getText().toString();
SharedPreferences.Editor editor= preferences.edit();
if(newPasswort.equals(newPasswortCommit)){
editor.putString(newEmail+newPasswort+"dataUser",
newUser+ "\n"+newEmail);
editor.commit();
if(editor.commit()){
inputAnswer.setText("Regristration erfolgreich");
}
//commit
Intent loginScreen = new Intent(Register.this,MainActivity.class);
startActivity(loginScreen);
}
}
});
}
@Override
public void onClick(View view) {
Intent loginScreen = new Intent(Register.this,MainActivity.class);
startActivity(loginScreen);
}
}
Code:
package de.miguel.frozzenlist.frozzenbetaa;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.util.Arrays;
import static android.app.PendingIntent.getActivity;
public class MainActivity extends Activity implements View.OnClickListener {
Button btnRegister;
Button btnSignIn;
SharedPreferences sharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnRegister= (Button)findViewById(R.id.bntRegister);
btnRegister.setOnClickListener(this);
btnSignIn= (Button)findViewById(R.id.bntSignIn);
final EditText inputEmail= (EditText)findViewById(R.id.bntViewEmail);
final EditText inputPasswort= (EditText)findViewById(R.id.btnViewPasswort);
// sign in condition
btnSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String userEmail = inputEmail.getText().toString();
String passwort= inputPasswort.getText().toString();
SharedPreferences preferences= getSharedPreferences("UserPreferences"
,0);
String userDetails = preferences.getString(userEmail+passwort+"userData",
"Email oder Passwort falsch");
SharedPreferences.Editor editor= preferences.edit();
editor.putString("display",userDetails);
editor.commit();
Intent freezerManager = new Intent(MainActivity.this,FreezerManagment.class);
startActivity(freezerManager);
}
});
}
//register button
@Override
public void onClick(View view) {
Intent intent = new Intent(this,Register.class);
startActivity(intent);
}
}
Code:
package de.miguel.frozzenlist.frozzenbetaa;
import java.io.File;
public class User {
private int userID;
private String userName;
private String passwort;
private String email;
public User() {
this.userID = userID;
this.userName = userName;
this.passwort=passwort;
this.email=email;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPasswort() {
return passwort;
}
public void setPasswort(String passwort) {
this.passwort=passwort;
}
public String getEmail(){
return email;
}
public void setEmail(String inputEmail){
this.email=inputEmail;
}
public void changePasswort(String input)
{
this.passwort= input;
}
public int getUserID(){
return userID;
}
public void setUserID(int input){
this.userID=input;
}
@Override
public String toString() {
return "#" + getUserID() + "#" + getUserName() + "#" + getEmail() + "#" + getPasswort()
+ "#";
}
}
Code:
package de.miguel.frozzenlist.frozzenbetaa;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class FreezerManagment extends AppCompatActivity {
Button btnFreezerAdd;
Button btnFreezerJoin;
Button btnBack;
TextView etDisplay;
String display;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_freezer_managment);
btnFreezerAdd=(Button)findViewById(R.id.btnFreezerAdd);
btnFreezerJoin=(Button)findViewById(R.id.btnFreezerJoin);
btnBack=(Button)findViewById(R.id.btnBack);
etDisplay=(TextView) findViewById(R.id.etDisplay);
SharedPreferences preferences= getSharedPreferences("UserPreferences",0);
display= preferences.getString("display","");
etDisplay.setText(display);
btnFreezerAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
}