Hallo!
Ich bekommen viele Error-Meldungen wenn ich das google-play-services_lib-Projekt importiere.
... und so weiter ...
Weiß jemand wie man das ganze beheben kann?
LG Jakob
— geändert am 12.07.2014, 13:30:37
LG Jakob
Hallo!
Ich bekommen viele Error-Meldungen wenn ich das google-play-services_lib-Projekt importiere.
... und so weiter ...
Weiß jemand wie man das ganze beheben kann?
LG Jakob
— geändert am 12.07.2014, 13:30:37
LG Jakob
12.07.2014, 17:39:10 via Website
12.07.2014 17:39:10 via Website
Wie hast du die Lib denn eingebunden?
Einfach zum Projekt und zum BuildPath hinzugefügt oder noch zusetzlich etwas am Projekt verändert?
Unterstütz deine App so viele Sprachen oder warum gibt es so viele Sprachen XML ordner in denen die Fehler auftreten.
Evntl. einfach löschen.
LG Pascal //It's not a bug, it's a feature.
Ich habe das Projekt normal importiert bzw. in den workspace kopiert vom sdk/extras/google/...
LG Jakob
LG Jakob
12.07.2014, 17:44:14 via Website
12.07.2014 17:44:14 via Website
Das brauchst du doch garnicht.
Es reicht wenn du in dein Projekt dass die Lib benutzen soll, die Google Play serveices.jar in den Class und BuildPath einbindest.
LG Pascal //It's not a bug, it's a feature.
Habe ich jetzt eh gemacht! Bekomme aber in der checkPlayServices-Methode eine Fehlermeldung.
LG Jakob
LG Jakob
12.07.2014, 17:59:01 via Website
12.07.2014 17:59:01 via Website
Was meinst du mit checkPlayServices?
Welche Fehlermeldung ist es genau?
LG Pascal //It's not a bug, it's a feature.
Vielleicht liegt es daran, dass ich daweil eine Versionsnummer statisch hineingeschrieben habe, wie kann ich das lösen?
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Er findet bei mir den integer nicht! Habe die jar-Datei einfach als Libary hinzugefügt.
LG Jakob
LG Jakob
12.07.2014, 19:01:07 via Website
12.07.2014 19:01:07 via Website
Ich habe dieses Tag in der manifest genau wegen dem gleichen Problem weggelassen und siehe Da, macht überhaupt keinen Unterschided.
Es funktioniert trotzdem alles.
LG Pascal //It's not a bug, it's a feature.
Oke danke!
Der Error von vorher kommt jedoch immer noch! LogCat sagt folgendes:
07-12 19:13:55.705: I/dalvikvm(25667): Could not find method com.google.android.gms.gcm.GoogleCloudMessaging.getInstance, referenced from method com.neubergerjakob.jj.MainActivity.onCreate
07-12 19:13:55.705: W/dalvikvm(25667): VFY: unable to resolve static method 4800: Lcom/google/android/gms/gcm/GoogleCloudMessaging;.getInstance (Landroid/content/Context
Lcom/google/android/gms/gcm/GoogleCloudMessaging;
/ check if google play services for GCM are available
private boolean checkPlayServices() {
int PLAY_SERVICES_RESOLUTION_REQUEST = 9000;
int resultCode = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(this); <--- hier tritt der fehler auf!
if (resultCode != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) {
GooglePlayServicesUtil.getErrorDialog(resultCode, this,
PLAY_SERVICES_RESOLUTION_REQUEST).show();
} else {
Log.i(LOGCAT_TAG_GCM, "This device is not supported.");
finish();
}
return false;
}
return true;
}
LG Jakob
LG Jakob
12.07.2014, 19:49:56 via Website
12.07.2014 19:49:56 via Website
Also nach dem Log Kommt er mit irgend einer getinstance Methode nich larar.
Benutzt du sowas?
Der Check Code ist eigentlich (meiner Meinung nach) völlig überflüssig,
ich Prüfe das Vorhandensein der Google Play Services + passende GCM ID per try/catch beim Auslesen der GCM Daten.
LG Pascal //It's not a bug, it's a feature.
Könntest du mir den Code dafür bitte schicken.
LG Jakob
LG Jakob
12.07.2014, 20:04:05 via Website
12.07.2014 20:04:05 via Website
Mir ist gerade aufgefallen, dass ich auch die GoogleCloudMessagin#getinstance Methode benutze.
Aber bei mir funktioniert es einwandfrei.
public static String registerClient(Context ctx)
{
GoogleCloudMessaging gcm =
GoogleCloudMessaging.getInstance(ctx);
String regId = null;
String registeredResponse = "";
try {
regId = gcm.register(Globals.PROJECT_NUMBER);
registeredResponse = new HTTPAsync().httpGet(XML.getEntryValue(XmlKeys.GcmRegister) + regId,false);//Post Code to DB for GCM Messages || Weglassen, ist für den Poast an die PHP zum schreiben der GCM Id in meine Datenbank
} catch (IOException e) {
e.printStackTrace();
Log.d("GCM Fehler",e.getMessage());
}
return registeredResponse;
}
LG Pascal //It's not a bug, it's a feature.
Und wie überprüfst du ob das Device schon registriert wurde?
LG Jakob
LG Jakob
12.07.2014, 21:02:23 via Website
12.07.2014 21:02:23 via Website
Das wird bei mir PHP seitig überprüft,
wenn aber sich eine ID ändert wir dein neuer DB eintrag erstellt.
Irgendwann lasse ich dann ein DB Clean durchlaufen, der überprüft, ob diese IDs noch existieren, sonst wird der betreffende Eintrag gelöscht.
LG Pascal //It's not a bug, it's a feature.
Ich habe eine User-Tabelle und in den sharedpreferences den User gespeichert und in der User-Tabelle eine Spalte wo ich dann die ID speicher.
LG Jakob
LG Jakob
12.07.2014, 22:30:41 via Website
12.07.2014 22:30:41 via Website
Ja und ich mache es so:
Wenn eine Neue ID hinzukommt -> Neuer DB eintag mit der GCM ID
Irgendwann muss man die DB dann aufräümen, der rest erledigt sich von selbst.
Da müsste man Garnichts in die Sharedprefs schreiben.
LG Pascal //It's not a bug, it's a feature.
Ich will die Zugehörogkeit zum User haben, deswegen so.
Werde morgen versuchen den Fehler wegzubekommen ...
LG Jakob
LG Jakob
Wie meinst du das mit zugehörigkeit?
Was bingt das?
LG Pascal //It's not a bug, it's a feature.
Die Zugehörigkeit von User und Device. Dass ich einem bestimmten Benutzer eine Push-Message schicken kann.
LG Jakob
LG Jakob
13.07.2014, 11:50:16 via Website
13.07.2014 11:50:16 via Website
Ja schon, das kannst du aber auch in deiner DB speichern, z.b. die Email noch zusätzlich speichern.
Ich kann aber auch eine Nachricht an einen bestimmten User schicken.
LG Pascal //It's not a bug, it's a feature.