Nulldarstellungen anzeigen, nachdem die ersten Benutzer sich in Android registriert haben

Ich habe 3 Fragmente in einer App und in einem von ihnen zeige ich Benutzernamen aus der SQLite-Datenbank. Was passiert ist, wenn ich einen neuen Benutzer registriere und das erste Mal mit ihm registriere, in der Textansicht, wo der Benutzername benachrichtigt wird, erscheint es NULL-Wert, aber wenn ich mich abmelden und wieder mit demselben Benutzer anmelden, erscheint der Name wie es sollte.

Nach der Registrierung des Benutzers werden alle Daten in eine Datenbank eingefügt, die ich überprüft habe.

  • Android Auto Google Play Ablehnung
  • Upgrade von Android Studio 2.1 Preview3: Kann die Erweiterung 'publishing' nicht nach dem Zugriff auf
  • Android SharedPreferences, wie man eine einfache int Variable
  • Google Maps API V2 'konnte die Karte nicht laden. Konnte nicht mit den Google-Servern in Verbindung treten.
  • So legen Sie Textgröße in WebView in android fest
  • Inline CSS für hr nicht angewendet bei der Konvertierung von HTML in pdf mit iText Bibliothek
  • Irgendwelche Ideen, was dieses Problem verursachen kann? Ich werde etwas Code auf Anfrage hinzufügen, da ich keine Ahnung habe, welcher Teil des Codes, Fragmente oder Java-Dateien dies verursachen könnten ..

    BEARBEITET

    Ich habe etwas Code hinzugefügt, um dieses Problem zu lösen.

    Login-Funktion im Hauptbildschirm (einmal App startet):

    private void checkLogin(final String email, final String password) { // Tag used to cancel the request String tag_string_req = "req_login"; pDialog.setMessage("Logging in ..."); showDialog(); StringRequest strReq = new StringRequest(Request.Method.POST, AppConfig.URL_LOGIN, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d(TAG, "Login Response: " + response.toString()); hideDialog(); try { JSONObject jObj = new JSONObject(response); boolean error = jObj.getBoolean("error"); // Check for error node in json if (!error) { // user successfully logged in // Create login session session.setLogin(true); // Now store the user in SQLite String uid = jObj.getString("uid"); JSONObject user = jObj.getJSONObject("user"); String name = user.getString("name"); String email = user.getString("email"); String created_at = user.getString("created_at"); // Inserting row in users table db.addUser(name, email, uid, created_at); // Launch main activity Intent intent = new Intent(Main.this, Logged.class); startActivity(intent); finish(); } else { error_msg.setVisibility(View.VISIBLE); String msg = jObj.getString("error_msg"); error_msg.setText(msg); } } catch (JSONException e) { // JSON error e.printStackTrace(); Toast.makeText(getApplicationContext(), "Json error: " + e.getMessage(), Toast.LENGTH_LONG).show(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, "Login Error: " + error.getMessage()); Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show(); hideDialog(); } }) { @Override protected Map<String, String> getParams() { // Posting parameters to login url Map<String, String> params = new HashMap<String, String>(); params.put("email", email); params.put("password", password); return params; } }; // Adding request to request queue AppController.getInstance().addToRequestQueue(strReq, tag_string_req); } 

    OnViewCreated func inside Fragment, wo Benutzer Namen sollte diplayed:

     @Override public void onViewCreated(View view, Bundle savedInstanceState){ profileName = (TextView) getActivity().findViewById(R.id.profileName); // SqLite database handler db = new SQLiteHandler(getActivity().getApplicationContext()); // session manager session = new SessionManager(getActivity().getApplicationContext()); if (!session.isLoggedIn()) { logoutUser(); } // Fetching user details from SQLite HashMap<String, String> user = db.getUserDetails(); String name = user.get("name"); // Displaying the user details on the screen profileName.setText(name); } 

    Registrieren Funktionsteil:

      public void onResponse(String response) { Log.d(TAG, "Register Response: " + response.toString()); hideDialog(); try { JSONObject jObj = new JSONObject(response); boolean error = jObj.getBoolean("error"); if (!error) { // User successfully stored in MySQL // Now store the user in sqlite String uid = jObj.getString("uid"); JSONObject user = jObj.getJSONObject("user"); String name = user.getString("name"); String email = user.getString("email"); String created_at = user.getString("created_at"); // Inserting row in users table db.addUser(name, email, uid, created_at); // Launch login activity Intent intent = new Intent( Register.this, Main.class); startActivity(intent); finish(); } else { // Error occurred in registration. Get the error // message error_msg.setVisibility(View.VISIBLE); String msg = jObj.getString("error_msg"); error_msg.setText(msg); } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, "Registration Error: " + error.getMessage()); Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show(); hideDialog(); } }) { 

  • So schließen Sie Sonderzeichen aus der Android-Tastatur für EditText aus
  • Bild, gespeichert in sdcard, erscheint nicht in Android Galerie App
  • Wie kann ich neue Android-Kalender-App-Erinnerungen abfragen?
  • Compiler-Optionen fehlen in Android Studio> = 0.8.2
  • DialogFragment, das von onContextItemSelected angezeigt wird, überlebt nicht onPause / onResume
  • Holen Sie sich Gateway-IP-Adresse in Android
  • One Solution collect form web for “Nulldarstellungen anzeigen, nachdem die ersten Benutzer sich in Android registriert haben”

    Ich habe es geschafft, dieses Problem selbst zu sortieren .. Das Problem war nicht in Java-Dateien, sondern in PHP-Dateien senden, um Java aus irgendeinem Grund ..

    In PHP-Funktion habe ich verwendet:

     $stmt->bind_result($id, $unique_id, $name, $email, $encrypted_password, $salt, $created_at, $updated_at); $user = $stmt->fetch(); 

    Aber dann gewechselt

     $user = $stmt->get_result()->fetch_assoc(); 

    Und das hat das Problem behoben ..

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.