2017-02-07 2 views
1

In meiner Android-Anwendung gibt es zwei Arten von Logins. Benutzer können sich mit Facebook oder Google+ anmelden. Wenn sich ein Benutzer erfolgreich anmeldet, werden Daten von diesem bestimmten sozialen Konto angezeigt. Wenn sich ein Benutzer beispielsweise bei Facebook anmeldet, zeigt er Daten von Facebook an. Ich habe meinen Code eingeschlossen:Wie booleschen Wert in Android überprüfen?

Wenn sich ein Benutzer in diesem Code bei Facebook anmeldet, wird stattdessen Google+ angezeigt. Wie kann ich das korrigieren?

+1

intialize ich eine Frage nicht in Ihrem Beitrag sehen .. Was fragst du eigentlich? –

+0

möglich lesen: http://codingbat.com/doc/java-if-boolean-logic.html –

+0

Sie sollten in der Lage sein, dies in viele kleinere Tests zu teilen, um zu sehen, was nicht funktioniert. – David

Antwort

3

Nun, Sie tun buchstäblich das Gegenteil von dem, was Sie beschrieben haben. Sie holen Daten von Facebook wenn isFacebook ist false, was bedeutet, dass es nicht Facebook ist.

ändern Sie die erste if-Anweisung zu if (isFacebook)

+0

Ich werde versuchen, aber es funktioniert nicht @Mehmet Kologlu –

4

Ihre Bedingung falsch ist

es muss wie diese

if (!isFacebook) { 
    // do false logic here you need to check for GOOGLE 
} 

// do true logic here you need to check for FB 
+0

Ich werde Ihre Lösung versuchen, aber wenn Benutzer klicken Sie auf Login mit Google + dann Datenanzeige, aber wenn Benutzer mit Facebook dann Daten nicht erhalten, bitte helfen Sie mir. @Aditya Vyas-Lakhan –

+0

zeigen Sie Ihren vollständigen Code –

+0

Post vollen Quellcode - Aditya Vyas-Lakhan –

1

benutzen, dies stattdessen (nur einen kleinen Fehler bekam)

boolean isFacebook; 
     if (isFacebook) { 
      txtName.setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this).firstname); 
      txtEmail.setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this).email); 

      // fetching facebook's profile picture 
      new AsyncTask<Void, Void, Void>() { 
       @Override 
       protected Void doInBackground(Void... params) { 
        URL imageURL = null; 
        try { 
         imageURL = new URL("https://graph.facebook.com/" + user.facebookID + "/picture?type=small"); 
        } catch (MalformedURLException e) { 
         e.printStackTrace(); 
        } 
        try { 
         bitmap = BitmapFactory.decodeStream(imageURL.openConnection().getInputStream()); 

        } catch (IOException e) { 
         e.printStackTrace(); 
        } 
        return null; 
       } 

       @Override 
       protected void onPostExecute(Void aVoid) { 
        super.onPostExecute(aVoid); 
        imgProfile.setImageBitmap(bitmap); 

       } 
      }.execute(); 

     } else { 
      //get google + details here 
     } 
    } 

aber dieser Code scheint keine Daten zu sammeln google + in erster Linie

auch kann es ein Problem sein, auf die Schaltfläche

bt_fb.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
isFacebook= true;` 

} 

bt_twitter.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
isFacebook= false;` 

} 

klicken und auch besser, wenn Sie die isFacebook als boolean isFacebook= true;

Verwandte Themen