Android Probleme bei Facebook Integration

T.U.S.O.

Mitglied
Hi Leute,
ich bin noch ein Anfänger in der Java Programmierung, also tut es mir leid wenn ich manchmal "blöde" Fragen stelle.
Ich bin gerade dabei, mit ein paar Freunden eine App zu programmieren und möchte in dieser Facebook integrieren. Dazu benutze ich folgendes Tutorial: Android Tutorial - Facebook-Entwickler
Nun habe ich allerdings ein paar kleine Probleme:
1. Bei Schritt 5 soll man die App Signatur herausfinden und bei Facebook eintragen. Ich habe auch schon auf anderen Seiten gesucht, aber irgendwie hat nichts funktioniert. Ich arbeite mit Eclipse und wenn ich das richtig verstanden habe, erzeugt dieses automatisch einen Debugging Key, den der Android Emulator benutzen kann. Aber wie bekomme ich jetzt den Key-Hash heraus, um ihn bei Facebook einzutragen.
2. Bei Schritt 6.6 soll man wieder einiges an Code einfügen. Ich habe alles eingefügt, allerdings meldet Eclipse Fehler in der Codezeile
Code:
mPrefs = getPreferences(MODE_PRIVATE);
.
Bei "getPreferences" sagt Eclipse "Return type for the method is missing"
Als Fixes bietet er "set method return type to void" und "change to constructor", wobei beides nicht geholfen hat.
Bei "MODE_PRIVATE" kommt der Fehler "MODE_PRIVATE cannot be resolved to a type".
Als Fixes schlägt er hier beispielsweise "create class/interface/enum" und "add type parameter MODE_PRIVATE to 'Name meiner Klasse'" vor.
3. Bei Schritt 7 bekomme ich in der Zeile
Code:
mAsyncRunner.logout(getContext(), new RequestListener() {
ebenfalls den Fehler "Return type for the method is missing".

Ich hoffe Ihr könnt mir helfen und freue mich über jeden Lösungsvorschlag:)
 

schlingel

Gesperrter Benutzer
Bei Schritt 1 sagt dir die Doku doch eh was du machen musst. Du musst eine Signatur von deinem Debug-Key erstellen, dass ist dann dein Hash.

Dazu musst du openssl installieren und dann folgendes ausführen:
Code:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Auf Windows kann es sein, dass du den Pfad zum debug.keystore ändern musst.

Für die anderen zwei Fehler fehlt der Kontext. Mit einer Zeile Code gleicht es Wahrsagerei hier zu sagen was nicht stimmt.
 

T.U.S.O.

Mitglied
Hallo schlingel,
erstmal Danke für deine Hilfe. Also ich hab OpenSSL installiert bzw. runtergeladen und in C:\Programme entpackt... Den Code muss ich doch in das Windows Kommando Fenster eingeben oder nicht? Weil wenn ich das tue, kommt die Fehlermeldung das der Befehl "openssl" entweder falsch geschrieben ist oder nicht gefunden werden konnte....
Zu 2. und 3.: Ich dachte die Codezeile in Verbindung mit dem Link zum Tutorial wo ja eigentlich der gesamte Code steht, den man braucht, würde reichen. Hier ist dann nochmal der gessamte Code der Klasse, wobei hier auch mein eigener funktionierender Code der App drinsteht, ergänzt mit dem Facebook-Code
Java:
package pu.app;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.facebook.android.*;
import com.facebook.android.Facebook.*;

public class GymTriStart extends Activity{
	
	Facebook facebook = new Facebook("pu.app");
	String FILENAME = "AndroidSSO_data";
	private SharedPreferences mPrefs;

	Button kalender;
    Button vertretung;
    Button anfahrt;
    Button raumplan;
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main); 
     
	     Button kalender = (Button)findViewById(R.id.kalender);
	     Button vertretung = (Button)findViewById(R.id.vertretung);
	     Button anfahrt = (Button)findViewById(R.id.anfahrt);
	     Button raumplan = (Button)findViewById(R.id.raumplan);
	     
		    kalender.setOnClickListener(menu);
		    vertretung.setOnClickListener(menu);
		    anfahrt.setOnClickListener(menu);
		    raumplan.setOnClickListener(menu);
		    
		    facebook.authorize(this, new DialogListener() {
	            @Override
	            public void onComplete(Bundle values) {}

	            @Override
	            public void onFacebookError(FacebookError error) {}

	            @Override
	            public void onError(DialogError e) {}

	            @Override
	            public void onCancel() {}
	        });
	    

	
		    
	
	
	facebook.authorize(this, new String[] { "email", "publish_checkins" },

		      new DialogListener() {
		           @Override
		           public void onComplete(Bundle values) {}

		           @Override
		           public void onFacebookError(FacebookError error) {}

		           @Override
		           public void onError(DialogError e) {}

		           @Override
		           public void onCancel() {}
		      }
   );}


    

	 mPrefs = getPreferences(MODE_PRIVATE);
	 String access_token = mPrefs.getString("access_token", null);
	 long expires = mPrefs.getLong("access_expires", 0);
	 if(access_token != null) {
	            facebook.setAccessToken(access_token);
	        }
	        if(expires != 0) {
	            facebook.setAccessExpires(expires);
	        }
	        
	        /*
	         * Only call authorize if the access_token has expired.
	         */	
	        if(!facebook.isSessionValid()) {

	            facebook.authorize(this, new String[] {}, new DialogListener() {
	                @Override
	                public void onComplete(Bundle values) {
	                    SharedPreferences.Editor editor = mPrefs.edit();
	                    editor.putString("access_token", facebook.getAccessToken());
	                    editor.putLong("access_expires", facebook.getAccessExpires());
	                    editor.commit();
	                }
	    
	                @Override
	                public void onFacebookError(FacebookError error) {}
	    
	                @Override
	                public void onError(DialogError e) {}
	    
	                @Override
	                public void onCancel() {}
	            });
	        }
	    };

	  
	public OnClickListener menu = new OnClickListener()
    {
    	@Override
    	public void onClick(View v)
    	{
    		Intent intent;
            switch (v.getId())
            {
            case R.id.kalender: intent = new Intent(GymTriStart.this, kalender.class); break;
            case R.id.vertretung: intent = new Intent(GymTriStart.this, vertretung.class); break;
            case R.id.anfahrt: intent = new Intent(GymTriStart.this, anfahrt.class); break;
            case R.id.raumplan: intent = new Intent(GymTriStart.this, raumplan.class); break;
            default: intent = new Intent (GymTriStart.this, GymTriStart.class);
            }
            startActivity(intent);
    	}
    	
    };
    
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        facebook.authorizeCallback(requestCode, resultCode, data);
    }
    mAsyncRunner.logout(getContext(), new RequestListener() {
    	  @Override
    	  public void onComplete(String response, Object state) {}
    	  
    	  @Override
    	  public void onIOException(IOException e, Object state) {}
    	  
    	  @Override
    	  public void onFileNotFoundException(FileNotFoundException e,
    	        Object state) {}
    	  
    	  @Override
    	  public void onMalformedURLException(MalformedURLException e,
    	        Object state) {}
    	  
    	  @Override
    	  public void onFacebookError(FacebookError e, Object state) {}
    });
    
    
    
}

Ich bedanke mich jetzt schon für weitere Hilfe;)
 

T.U.S.O.

Mitglied
Ich habe Openssl jetzt nochmal mit einem Installer installiert, trotzdem kommt bei der Eingabe des Befehls
Code:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
im Windows Kommmando Fenster weiterhin die FehlermeldungDer Befehl "openssl" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Ich habe jetzt auch schon stundenlang im Internet geguckt und tausende Tutorials versucht, um den Keystore auszulesen, aber nichts hat funktioniert:(
Kann mir den niemand helfen???
 

T.U.S.O.

Mitglied
Danke erstmal für die Hilfe. Leider komme ich bei den Fehlern im Code nicht weiter und kann sie nicht beheben... Hat hier vielleicht noch jemand eine Idee???
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Android Probleme mit Facebook-SDK? Android & Cross-Platform Mobile Apps 1
J Android Probleme mit BLE-Notify Android & Cross-Platform Mobile Apps 2
J Android Probleme mit der Realm Datenbank Android & Cross-Platform Mobile Apps 3
J Android Probleme mit Navigation-Fragments? Android & Cross-Platform Mobile Apps 0
N Probleme mit custom dynamic ListView Android & Cross-Platform Mobile Apps 15
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
B Android Probleme mit Realm Datenbank Android & Cross-Platform Mobile Apps 2
B Android Probleme mit ArrayList Android & Cross-Platform Mobile Apps 6
J Android Probleme mit FileProvider Android & Cross-Platform Mobile Apps 1
B Probleme mit Firebase Authentication Android & Cross-Platform Mobile Apps 25
H Android Probleme mit SearchView in ArrayAdapter Android & Cross-Platform Mobile Apps 7
ATZENPOWER Android Probleme mit mobilen Daten via lte Android & Cross-Platform Mobile Apps 10
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
B Android Probleme mit RealmObject? Android & Cross-Platform Mobile Apps 1
M Android ExpandableListView merkwürdige Probleme Android & Cross-Platform Mobile Apps 20
F Probleme mit Google-Maps Android & Cross-Platform Mobile Apps 0
B Android Probleme mit ViewPager? Android & Cross-Platform Mobile Apps 5
J Probleme mit ViewPager und Activity Android & Cross-Platform Mobile Apps 1
B Android Probleme mit Eclipse? Android & Cross-Platform Mobile Apps 6
E MAVLINK Probleme Android & Cross-Platform Mobile Apps 1
C Android Probleme mit JavaMail Android & Cross-Platform Mobile Apps 5
D Android Probleme mit info/warning (1, 902) Android & Cross-Platform Mobile Apps 4
D Android Gallery Probleme Android & Cross-Platform Mobile Apps 3
B Probleme mit App auf Galaxy S3? Android & Cross-Platform Mobile Apps 13
S Hat der AVD-Manager Probleme mit GPS? Android & Cross-Platform Mobile Apps 5
P Probleme mit xml-Layout Android & Cross-Platform Mobile Apps 2
P Android Probleme mit Spinner Android & Cross-Platform Mobile Apps 3
F Layout mit listViews (Scrolling-Probleme) Android & Cross-Platform Mobile Apps 2
A Android Probleme mit Dialog Android & Cross-Platform Mobile Apps 4
U SQLite-Datenbank Probleme Android & Cross-Platform Mobile Apps 8
tfa Android Layout-Probleme: View programmatisch erweitern (addContentView) Android & Cross-Platform Mobile Apps 7
A Probleme mit ListView / ArrayAdapter Android & Cross-Platform Mobile Apps 3
A Probleme mit Form.isShown Android & Cross-Platform Mobile Apps 9
A Probleme mit Calendar auf dem Handy Android & Cross-Platform Mobile Apps 3
U Probleme mit der drawString Methode bei Canvas Android & Cross-Platform Mobile Apps 8
P Probleme mit dem Deployment Android & Cross-Platform Mobile Apps 3
P Probleme mit Streams Android & Cross-Platform Mobile Apps 4
C 2 kleine Probleme (Datei lesen, String durchsuchen) Android & Cross-Platform Mobile Apps 16
G Proguard Obfuscator macht Probleme Android & Cross-Platform Mobile Apps 2
P Probleme mit RMS Android & Cross-Platform Mobile Apps 5
L Android Von Android Game Highscore auf Facebook posten Android & Cross-Platform Mobile Apps 2
TheSorm Androit App mit Facebook Android & Cross-Platform Mobile Apps 3
B Android Fragen zu Facebook-SDK? Android & Cross-Platform Mobile Apps 4
JAVAnnik Android Facebook in App einbinden Android & Cross-Platform Mobile Apps 2

Ähnliche Java Themen

Neue Themen


Oben