Gå till innehåll
8 jan 11

Google fixar en bugg

av admin

Som jag rapporterade, skulle Google Analytics för Android ibland kasta en SQLiteException. Naturligtvis den stora G var att få online-flack över det och har nu lagt ut en ny version av deras JAR-fil. Version 1.1 hävdar att åtgärda problemet. Du kan kolla upp det på code.google.com / mobil / analytics / docs / android längst ner på sidan.

1 jan 11

Kan Google programmerare koda Android?

av admin

Man skulle kunna tro om någon skulle veta hur man skriver Android kod skulle det vara kodare på Google. Men om du använder Google Analytics-biblioteket tillgängligt för Android, kan du stöta på problem. Google Analytics är bra att spåra användningen av din Android-applikation, men bör Google Analytics någonsin få din app att krascha?

Google Analytics orsakade en av mina program att krascha och stackspårningen såg ut:

android.database.sqlite.SQLiteException: inte öppna databasfilen
vid android.app.ActivityThread.performLaunchActivity (ActivityThread.java: 2787)
vid android.app.ActivityThread.handleLaunchActivity (ActivityThread.java: 2803)
på android.app.ActivityThread.access $ 2300 (ActivityThread.java: 135)
vid android.app.ActivityThread $ H.handleMessage (ActivityThread.java: 2136)
vid android.os.Handler.dispatchMessage (Handler.java: 99)
vid android.os.Looper.loop (Looper.java: 144)
vid android.app.ActivityThread.main (ActivityThread.java: 4937)
vid java.lang.reflect.Method.invokeNative (Native Method)
vid java.lang.reflect.Method.invoke (Method.java: 521)
på com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java: 868)
vid com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 626)
vid dalvik.system.NativeStart.main (Native Method)
Orsakas av: android.database.sqlite.SQLiteException: inte att öppna databasfilen
vid android.database.sqlite.SQLiteDatabase.dbopen (Native Method)
vid android.database.sqlite.SQLiteDatabase <init>. (SQLiteDatabase.java: 1899)
vid android.database.sqlite.SQLiteDatabase.openDatabase (SQLiteDatabase.java: 881)
vid android.database.sqlite.SQLiteOpenHelper.getReadableDatabase (SQLiteOpenHelper.java: 168)
vid com.google.android.apps.analytics.PersistentEventStore.getNumStoredEvents (Okänd källa)
vid com.google.android.apps.analytics.PersistentEventStore.startNewVisit (Okänd källa)
vid com.google.android.apps.analytics.GoogleAnalyticsTracker.start (Okänd källa)
vid com.google.android.apps.analytics.GoogleAnalyticsTracker.start (Okänd källa)

Så Google Analytics försökte använda SQLite för att öppna databasen, men misslyckades med att fånga en SQLiteException. Korrigeringen var att linda öppna Google Analytics i en try-catch-block och fånga detta undantag. Här är de relevanta kodfragment att fixa kraschen genom att fånga undantaget Google Analytics misslyckats med att:


import com.google.android.apps.analytics.GoogleAnalyticsTracker;
GoogleAnalyticsTracker tracker = null;
try {
tracker = GoogleAnalyticsTracker.getInstance();
tracker.start("UA-123456-78", 20, this);
}
catch (android.database.sqlite.SQLiteException sqle)
{
Log.d(SUBSYSTEM_TAG, "Google Analytics SQLite exception: "+sqle);
tracker = null;
}
catch (Exception e)
{
Log.d(SUBSYSTEM_TAG, "Google Analytics exception: "+e);
tracker = null;
}
if (tracker != null)
tracker.trackEvent("Android", action, label, val);

Den OnDestroy () metoden kod ser ut:

if (tracker != null) {
tracker.stop();
tracker = null;
}

Kom ihåg att du måste fånga dessa undantag om du använder Google Analytics i din Android app, annars en av dina användare kan titta på din app kraschar. Hur tror du att de kommer att sätta betyg på din app då?

8 juni 10

Android App Store brister

av admin

Google marknaden har varit det enda spelet runt för Android Apps, även om det kan förändras. Några av marknadens brister är:

  • Inga skärmdumpar av din ansökan.
  • 325 tecken på beskrivningar.
  • Google Checkout är det enda betalningsalternativet.
  • Apps är svårt för användarna att hitta.
  • Inget sätt att ladda ner ett program via webben via en webblänk.

Vissa förbättringar kan vara på väg, men dessa är gotchas för utvecklare idag.