In App was posten und alle anderen können es lesen.

  • Antworten:36
Sambai
  • Forum-Beiträge: 34

30.10.2016, 12:53:10 via Website

Hallo, ich wollte erst meine Facebook seite in meine App einbinden aber dazu habe ich nichts gefunden. Dann ist mir eingefallen das ich es auch anders machen kann. Ich würde gerne das meine app wenn ich irgendwo (ich nehme an das muss ich mit einem server machen oder einer Datenbank) etwas hin schreibe es in der App unter einer bestimmten avtivity abgerufen wird und man es dort sehen kann.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.10.2016, 13:14:44 via Website

Ja geht schon.
Wieviel Vorerfahrung in Java (und PHP) hast du denn?
Du kannst auf einem Server dann eine MySql DB einrichten und über PHP Skripte (API) dann Daten lesen und schreiben aus der App. Dabei muss deine App dann nur noch die passende URL aufrufen und die Daten im z.b. Json Format auswerten.
Für die HTTP Connections gibt es genug Libs wie okhttp,Ion,Volley etc..

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

30.10.2016, 13:42:40 via Website

Vorerfahrung habe ich etwas. Zurzeit programmiere ich eine Quizapp ich weiß wie man activitys verbindet. Fragmente erstellt und wie man Timer erstellt. Von einem Server habe ich schon mal was gehört. ich schau mal bei YT ob ich dazu etwas finde das wäre nämlich ziemlich toll wenn ich sowas hätte.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.10.2016, 13:46:01 via Website

Warum denn bei YT?!
Es gibt so schöne Tuorials in Schriftform, welche ich persönlich irgendwelchen Videos bevorzuge ;)

Beispielsweise sobald du einen Sever hast:
http://androidcss.com/android/android-php-mysql-login-tutorial/

Oder installiere dir zum Test einfach mal XAMPP dann musst du vorerst garkeinen Server mieten.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

30.10.2016, 13:52:12 via Website

Hm ok danke. Oder kennst du auch eine Variante wie ich meine Facebookseite einfach in die App bekomme? Mit einem webView ist das doof weil das dann die internet seite extra öffnet.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.10.2016, 13:57:25 via Website

Entweder WebView mit den passenden Einstellungen, dann wird in deiner App die Mobile Seite angezeigt. Ansonsten darfst du die Facebook API mit FB Logon etc. anzapfen, dann kannst du alles selber darstellen. Ist halt um einiges Aufwändiger.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

30.10.2016, 14:02:39 via Website

Also müsste ich einen Login erstellen das man sich auf seiner Seite anmelden kann und so weiter.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.10.2016, 14:09:04 via Website

der User müsste Facebook haben oder die API geht auch ohne ACC das weiß ich nicht.
Schau dir das doch einfach mal an:
https://developers.facebook.com/docs/android/getting-started

LG Pascal //It's not a bug, it's a feature. :) ;)

Sambai

Antworten
Sambai
  • Forum-Beiträge: 34

31.10.2016, 14:02:07 via Website

Hallo, das habe ich nun gemacht und alles eingetragen. Meinen Key Hash habe ich erzeugt und eine Beispielapp erstellt also den Key Hash dort eingetragen. Nur wenn ich meine App nun öffne und auf meinem fragment bin dann auf weiter klicke müsste ich eigentlich auf der facebook seite landen. Bei mir stürtzt die app ab aber Facebook öffnet sich im hintergrund.
Was kann der fehler sein? Und ist es vielleicht möglich diese Facebook seite in ein Fragent einzubinden nicht in eine Application?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

31.10.2016, 14:04:26 via Website

Ja du kannst das in ein Fragment einbinden, davor solltest du das aber in einer Activity zum Laufen bekommen.
Was ist denn der Fehler?
Was sagt LogCat?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

31.10.2016, 15:02:00 via Website

Es weißt keine fehler auf. es kommt nur der Fehler das die app unerwartet geschlossen wurde sonst geht auch alles.
Ich weiß nicht ob es am keyhash liegt. Ich habe das erst in CMD gemacht und ich weiß nicht vielleicht liegt es keystore kennwort. Ich habe da jetzt einfach irgendwas eingegeben. muss man da etwas bestimmtes eingeben?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

31.10.2016, 15:07:55 via Website

Ja, App unerwartet geschlossen = Exception,
und wenn du dein Gerät per USB debugging und ADB dran hast, solltest du in Logcat den genauen Fehler bekommen wo im Code der auftritt.

Der Keystore hat damit nix zutun, dieser ist zur Signatur der App für eine Veröffentlichung z.b. im PlayStore.
Wenn du ein Keystore festgelegt hast mit Kennwort, dann speicher dir beides gut ab, sobald du die App einmal Live schaltest, kannst du den Keystore nicht mehr ändern, also wenn das PW weg ist kannst du die App vergessen (höchstens komplett neu hochladen)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

31.10.2016, 15:14:09 via Website

Achso ich hab es. Das war gemeint. Hier steht have you declared this activity in your AndroidManifest.xml?
In meiner androidManifest dati habe ich das activity weg gemacht und oben bei application einfach nur android:name=".login"

— geändert am 31.10.2016, 15:15:58

Antworten
Sambai
  • Forum-Beiträge: 34

05.11.2016, 17:02:57 via Website

Wie kann ich dieses Problem lösen?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

05.11.2016, 18:04:02 via Website

Selber mal aktiv werden.
Was ist der Error?
Was zeigt LogCat.
Wenn die App unerwartet abstürtzt und du im Debug bist, dann bekommst du die Errormeldung.
Da wird dir der Fehler angezeigt und dann kannst du diesem auf den Grund gehen. Normalerweise steht die betreffende codezeile auch mit drin.

PS: Bitte in Zukunft nicht mehr Pushen, danke :)

— geändert am 05.11.2016, 18:05:17

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

05.11.2016, 18:35:25 via Website

Unable to find explicit activity class {com.example.mein.projekt/com.example.mein.projekt.login}; have you declared this activity in your AndroidManifest.xml?

Das ist die Fehlermeldung. Die seite mit Facebook öffnet sich nicht wenn ich auf einen Button klicke wo die Seite dann kommen soll.
In der Manifest datei habe ich die activity mit ".login" raus genommen weil login rot unterstrichen war weil ich aus der login activity nun eine application gemacht habe weil es so vorgeschrieben wurde. Und habe dafür dann oben bei Application einfach
android:name=".login"

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

05.11.2016, 18:53:16 via Website

Zeig mal deine komplette manifest DAtei

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

05.11.2016, 19:18:10 via Website


package="com.example.mein.projekt">

<uses-permission android:name="android.permission.INTERNET" />
<application
    android:name=".login"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

    <provider android:authorities="com.facebook.app.FacebookContentProvider1688286514821730"
        android:name="com.facebook.FacebookContentProvider"
        android:exported="true" />

    <activity
        android:name=".SplashScreen"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".quiz"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="com.example.mein.projekt.Quiz1" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Kennlernquiz"
        android:label="@string/title_activity_kennlerquiz"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".Alter1quiz"
        android:label="@string/title_activity_alter1quiz"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".Fingerquiz"
        android:label="@string/title_activity_fingerquiz"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".Alter2quiz"
        android:label="@string/title_activity_alter2quiz"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".Spiel1quiz"
        android:label="@string/title_activity_spiel1quiz"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".Sonstige1quiz"
        android:label="@string/title_activity_sonstige1quiz"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".Sonstige2quiz"
        android:label="@string/title_activity_sonstige2quiz"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".fab"
        android:label="@string/title_activity_fab"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".Alter3quiz"
        android:label="@string/title_activity_alter3quiz"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".test"
        android:label="@string/title_activity_test"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".sprueche"
        android:label="@string/title_activity_sprueche"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".Spielequiz"
        android:label="@string/title_activity_spielequiz"
        android:theme="@style/AppTheme.NoActionBar" />



</application>

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

05.11.2016, 19:48:35 via Website

Naja, dein .login ist bei Application wo das nicht hingehört.

Da gehört dein package rein.

Und für die Login Activity brauchst du auch einen Activity Block

<activity
    android:name=".login"
    android:label="@string/title_activity_login"
    android:theme="@style/AppTheme.NoActionBar" />

LG Pascal //It's not a bug, it's a feature. :) ;)

Ludy

Antworten
Sambai
  • Forum-Beiträge: 34

05.11.2016, 20:05:46 via Website

Den hatte ich vorher auch, nur dann war das .login rot unterstrichen.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

05.11.2016, 20:09:39 via Website

Rot untrstrichen.. ok, was war der "Fehler" dazu?
Ansonsten tut es auch wenns rot ist.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

05.11.2016, 20:19:44 via Website

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mein.projekt, PID: 12599
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.mein.projekt/com.example.mein.projekt.login}: java.lang.ClassCastException: com.example.mein.projekt.login cannot be cast to android.app.Activity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassCastException: com.example.mein.projekt.login cannot be cast to android.app.Activity
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
at android.app.ActivityThread.access$800(ActivityThread.java:135) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:136) 
at android.app.ActivityThread.main(ActivityThread.java:5001) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
at dalvik.system.NativeStart.main(Native Method)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

05.11.2016, 20:36:40 via Website

Deine Datei Login.java ist keine Android Activity oder?
Kannst deinen Fehler auch mal selber interpretieren ;)
Aber was macht denn der Button, bei dem cklick die App abstürtzt?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

06.11.2016, 10:52:01 via Website

Das hatte ich auch schon geschrieben das meine Login.java keine activity ist sondern eine Application.
der Button ist auf einem fragment. (Sliding tab) dort klickt man dann auf weiter um auf die Facebook Seite zu kommen.
weil ich nicht wusste wie man das in ein Fragment rein macht.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

06.11.2016, 14:23:40 via App

Zeig mal den Code des onClick

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

06.11.2016, 14:52:07 via Website

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {

    Button btn = (Button)contentView3.findViewById(R.id.fbbutton);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent fb = new Intent (getActivity().getApplicationContext(), login.class);
            startActivity(fb);
        }
    });


    super.onViewCreated(view, savedInstanceState);
}

}

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

06.11.2016, 15:13:10 via Website

Hab ich mir schon gedacht, dass du sowas machst.
Im normalfall kannst du mit einem Start Activity nur eine Activity per Intent starten, d.h. dein login muss eine Activity sein.
Application gibts nur einmal in der App und die wird eigentlich nur für allgemeines Kram gebraucht.
Am besten du erstellst dir eine Activity dafür und benutzt diese im Intent.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

06.11.2016, 15:18:03 via Website

Ok, nur auf der Facebookseite die ich hier bekommen habe. Da stand das so da.

public class login extends Application {
@Override
public void onCreate(){
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
}

}

dieser Code wenn ich daraus jetzt eine Activity mache dann erkennt es dieses super.OnCreate(); auch nicht da will es in den Klammern noch etwas stehen haben.

Antworten
Sambai
  • Forum-Beiträge: 34

06.11.2016, 15:27:06 via Website

Ich habe meinen Fehler gefunden, das mir das nicht selber aufgefallen ist. Vielen dank für die Hilfe
Dann nur noch eine frage, ist es möglich das in ein fragment zu machen? Also diese Facebookseite

— geändert am 06.11.2016, 15:28:16

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

06.11.2016, 15:28:08 via Website

Ja das stand so da, dann macht man das in den Standard Application File.
Aber um auf Daten zuzugreifen, brauchst du einei eigenen Activity.
In der Application passiert nur der Init.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

08.11.2016, 17:58:27 via Website

Ja, das habe ich hin bekommen. Nur wie bekomme ich das nun in mein Fragment? Ist das möglich oder wäre das zu umständlich.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

08.11.2016, 19:04:14 via Website

Ne ist es nicht,
Dazu erstellst du ein Leeres Fragment und übernimmst dein Lyout.
Den Code musst du dann halt neu erstellen oder anpassen

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sambai
  • Forum-Beiträge: 34

09.11.2016, 17:36:08 via Website

Das ist ja das Problem, ich weiß nicht was ich wie anpassen muss. Ich habe ja eine normale Fragment class und eine fragment activity. in der activity ist das ja kein problem aber in dem Fragment. Gibt es etwas wo ich sehe wie ich etwas in einem Fragment zu schreiben habe? Ich verstehe noch nicht so recht was der Unterschied zwischen Fragment und Activity ist .

Antworten
Sambai
  • Forum-Beiträge: 34

10.11.2016, 17:19:26 via Website

Vielen dank, das werde ich tun.

Antworten
Sambai
  • Forum-Beiträge: 34

19.11.2016, 18:05:31 via Website

Versucht habe ich das nur die App stürzt nur wieder ab

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

19.11.2016, 18:09:18 via Website

Mit "stürtzt ab"
Kann ich nichts anfangen...
Was ist der Fehler (LogCat) und wie sieht dein Code (Fragment) aus?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten