Advertisement
Guest User

Behinderter Fehler Android App

a guest
Feb 23rd, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.94 KB | None | 0 0
  1. //Login.java-----------------------------------------------------------------------------------------------
  2.     /**Loggt bestehenden Nutzer ein */
  3.     public void startLogin(){
  4.         ArrayList<String> params_name = new ArrayList<>();
  5.         ArrayList<String> params_value = new ArrayList<>();
  6.        
  7.         params_name.add("username");
  8.         params_name.add("password");
  9.        
  10.         params_value.add(Username);
  11.         params_value.add(Passwort);
  12.        
  13.         //Hier ist der Fehler:
  14.         Webserver_Connection we = new Webserver_Connection();
  15.         we.sendRequest("login.php", params_name, params_value, this);
  16.        
  17.         //Die Werte werden aus dem Speicher ausgelesen, noch bevor diese in
  18.         //Der Klasse Webserver_Connection gespeichert werden
  19.         SharedPreferences pref = getSharedPreferences("SERVER_RESPONSE", 0);
  20.         String response = pref.getString("Response0", "fail");
  21.         //------------------------------------------------------------
  22.         Log.i("Login", response);
  23.        
  24.         if(response.equals("error")){
  25.             laden.dismiss();
  26.             Toast.makeText(getApplicationContext(),
  27.                     R.string.toast_login_failed,
  28.                     Toast.LENGTH_LONG).show();
  29.            
  30.         }else if(response.equals("success")){
  31.             laden.dismiss();
  32.            
  33.             Log.i("Login", "Nutzer eingeloggt");
  34.            
  35.             Toast.makeText(getApplicationContext(),
  36.                     R.string.toast_login_success,
  37.                     Toast.LENGTH_LONG).show();
  38.            
  39.             startActivity(new Intent(this, Eventliste.class));
  40.            
  41.         }else if(response.equals("fail")){
  42.             laden.dismiss();
  43.             Toast.makeText(getApplicationContext(),
  44.                 R.string.toast_Server_Connection_fail,
  45.                 Toast.LENGTH_LONG).show();         
  46.         }
  47.        
  48.         //Wenn Nutzer eingeloggt bleiben will, Daten abspeichern
  49.         writeData();
  50.  
  51.  
  52.         // Serverantwort aus dem Speicher löschen
  53.         SharedPreferences.Editor editor = pref.edit();
  54.         editor.clear();
  55.         editor.commit();
  56.     }
  57.    
  58.     /**Username und Passwort in shared Preferences Abspeichern, um Eingeloggt Bleiben Funktion zu
  59.      * gewährleisten */
  60.     private void writeData() {     
  61.      //Wenn der Nutzer eingeloggt bleiben möchte, zudem noch passwort speichern
  62.      editor.putString("Passwort", Passwort);
  63.      
  64.      if(loggedIn){
  65.          editor.putBoolean("KeepLoggedIn", true);
  66.      }
  67.      
  68.      editor.putString("Username", Username);    
  69.      editor.commit();
  70.     }
  71. //----------------------------------------------------------------------------------------------------------------------
  72. //Webserver_connection.java
  73. package de.friedrich.activities;
  74.  
  75. import java.util.ArrayList;
  76. import android.app.Dialog;
  77. import android.content.Intent;
  78. import android.content.SharedPreferences;
  79. import android.os.Bundle;
  80. import android.support.v7.app.AppCompatActivity;
  81. import android.view.View;
  82. import android.widget.EditText;
  83. import android.widget.Toast;
  84. import de.friedrich.eventbewertung.R;
  85. import de.friedrich.services.Webserver_Connection;
  86.  
  87. /** Registriert einen neuen Benutzer */
  88. public class Register extends AppCompatActivity {
  89.     /** Ladebildschirm */
  90.     Dialog laden;
  91.  
  92.     /** Daten des Nutzers */
  93.     String Vorname, Nachname, Username, Email, Password, Password_repeat;
  94.     int Age;
  95.     String vollerName;
  96.  
  97.     @Override
  98.     protected void onCreate(Bundle savedInstanceState) {
  99.         super.onCreate(savedInstanceState);
  100.         setContentView(R.layout.register);
  101.     }
  102.  
  103.     /**
  104.      * Liest die Textfelder aus und speichert die werte in den Passenden
  105.      * Attributen
  106.      */
  107.     public void getData() {
  108.         // Alle Textfelder initialisieren
  109.         EditText etNachName, etVorName, etUsername, etEmail, etPassword, etPassword_repeat, etAlter;
  110.         etVorName = (EditText) findViewById(R.id.etRegisterFirstName);
  111.         etNachName = (EditText) findViewById(R.id.etRegisterLastName);
  112.         etUsername = (EditText) findViewById(R.id.etRegisterUsername);
  113.         etEmail = (EditText) findViewById(R.id.etRegisterMail);
  114.         etPassword = (EditText) findViewById(R.id.etRegisterPassword);
  115.         etPassword_repeat = (EditText) findViewById(R.id.etRegisterPasswordRepeat);
  116.         etAlter = (EditText) findViewById(R.id.etRegisterAge);
  117.  
  118.         // Werte auslesen und speichern
  119.         Vorname = etVorName.getText().toString();
  120.         Nachname = etNachName.getText().toString();
  121.         Username = etUsername.getText().toString();
  122.         Email = etEmail.getText().toString();
  123.         Password = etPassword.getText().toString();
  124.         Password_repeat = etPassword_repeat.getText().toString();
  125.         Age = Integer.parseInt(etAlter.getText().toString());
  126.  
  127.         // Volständigen Namen zusammensetzen
  128.         vollerName = Vorname + "%20" + Nachname;
  129.  
  130.         // Ladebildschirm
  131.         laden = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
  132.         laden.setContentView(R.layout.ladebildschirm);
  133.     }
  134.  
  135.     /** Überprüft alle Eingaben auf bestimmte Parameter */
  136.     public boolean checkEntries() {
  137.  
  138.         /*
  139.          * Alle Abfragen im Überblick: 1. Passwörter nicht gleich 2. Alle Felder
  140.          * ausgefüllt 3. Alter ist offensichtlich falsch 4. Passowrt zu Kurz
  141.          */
  142.  
  143.         if (!Password.equals(Password_repeat)) {
  144.             Toast.makeText(getApplicationContext(), getString(R.string.toast_different_passwords), Toast.LENGTH_LONG)
  145.                     .show();
  146.             return false;
  147.  
  148.         } else if (Nachname.equals("") || Vorname.equals("") || Username.equals("") || Email.equals("")
  149.                 || Password.equals("") || Password_repeat.equals("")) {
  150.  
  151.             Toast.makeText(getApplicationContext(), getString(R.string.toast_field_empty), Toast.LENGTH_LONG).show();
  152.             return false;
  153.         } else if (Age >= 100 || Age <= 5) {
  154.             Toast.makeText(getApplicationContext(), getString(R.string.toast_age_false), Toast.LENGTH_LONG).show();
  155.             return false;
  156.         } else if (Password.length() < 6) {
  157.             Toast.makeText(getApplicationContext(), getString(R.string.toast_short_password), Toast.LENGTH_LONG).show();
  158.             return false;
  159.         } else {
  160.             return true;
  161.         }
  162.     }
  163.  
  164.     /** Methode, die beim drücken des "Registrieren"-Buttons ausgefürt wird */
  165.     public void btnRegisterGo(View v) {
  166.         getData();
  167.         if (checkEntries()) {
  168.             laden.show();
  169.             sendRequest();
  170.         }
  171.     }
  172.  
  173.     /**
  174.      * Übergibt die eingegebenen Daten nach dem Überprüfen an die Klasse
  175.      * {@link Webserver_Connection}, die sich um das weiterleiten an den Server
  176.      * und die Antwort kümmert
  177.      */
  178.     private void sendRequest() {
  179.         /** Parameter für die Übergabe vorbereiten */
  180.         ArrayList<String> params_name = new ArrayList<>();
  181.         ArrayList<String> params_value = new ArrayList<>();
  182.  
  183.         params_name.add("email");
  184.         params_name.add("username");
  185.         params_name.add("alter");
  186.         params_name.add("password");
  187.         params_name.add("name");
  188.  
  189.         params_value.add(Email);
  190.         params_value.add(Username);
  191.         params_value.add(Integer.toString(Age));
  192.         params_value.add(Password);
  193.         params_value.add(vollerName);
  194.  
  195.         /** Antwort des Servers zurückerhalten und auswerten */
  196.  
  197.         Webserver_Connection connect = new Webserver_Connection();
  198.  
  199.         // Anfrage an Server senden
  200.         connect.sendRequest("register.php", params_name, params_value, this);
  201.  
  202.         // Antwort auslesen
  203.         SharedPreferences pref = getSharedPreferences("SERVER_RESPONSE", 0);
  204.         String response = pref.getString("Response0", "fail");
  205.  
  206.         if (response.equals("existing_user")) {
  207.             // Nutzername bereits vergeben
  208.             laden.dismiss();
  209.  
  210.             Toast.makeText(getApplicationContext(),
  211.                     R.string.toast_existing_user,
  212.                     Toast.LENGTH_LONG).show();
  213.  
  214.         } else if (response.equals("existing_mail")) {
  215.             // Email bereits registriert
  216.             laden.dismiss();
  217.  
  218.             Toast.makeText(getApplicationContext(),
  219.                     R.string.toast_existing_email,
  220.                     Toast.LENGTH_LONG).show();
  221.  
  222.         } else if (response.equals("fail")) {
  223.             // Fehler bei der Verbindung
  224.             laden.dismiss();
  225.  
  226.             Toast.makeText(getApplicationContext(),
  227.                     R.string.toast_Server_Connection_fail,
  228.                     Toast.LENGTH_LONG).show();
  229.  
  230.         } else if (response.equals("success")) {
  231.             // Nutzer erfolgreich registriert
  232.             laden.dismiss();
  233.  
  234.             Toast.makeText(getApplicationContext(),
  235.                     R.string.toast_registration_successfull,
  236.                     Toast.LENGTH_LONG).show();
  237.  
  238.             startActivity(new Intent(getApplicationContext(), Profil.class));
  239.  
  240.         }
  241.  
  242.         // Serverantwort aus dem Speicher löschen
  243.         SharedPreferences.Editor editor = pref.edit();
  244.         editor.clear();
  245.         editor.commit();
  246.     }
  247. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement