1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. ensacom, 27.05.2009 #1
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Hallo, ich habe gerade das Problem, das ich im LogFile folgende Fehlermeldung erhalte wenn ich mein Programm starte.

    Code:
    05-27 13:25:08.999: ERROR/Database(10457): Leak found
    05-27 13:25:08.999: ERROR/Database(10457): java.lang.IllegalStateException: /data/data/com.ensacom.android.TankPro2/databases/TankPro2 SQLiteDatabase created and never closed
    05-27 13:25:08.999: ERROR/Database(10457):     at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1580)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:638)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:659)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:652)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.app.ApplicationContext.openOrCreateDatabase(ApplicationContext.java:463)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:181)
    05-27 13:25:08.999: ERROR/Database(10457):     at com.ensacom.android.TankPro2.tanken.LoadFahrzeugSpinner(tanken.java:65)
    05-27 13:25:08.999: ERROR/Database(10457):     at com.ensacom.android.TankPro2.tanken.onCreate(tanken.java:59)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.app.ActivityThread.access$1800(ActivityThread.java:112)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.os.Handler.dispatchMessage(Handler.java:99)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.os.Looper.loop(Looper.java:123)
    05-27 13:25:08.999: ERROR/Database(10457):     at android.app.ActivityThread.main(ActivityThread.java:3948)
    05-27 13:25:08.999: ERROR/Database(10457):     at java.lang.reflect.Method.invokeNative(Native Method)
    05-27 13:25:08.999: ERROR/Database(10457):     at java.lang.reflect.Method.invoke(Method.java:521)
    05-27 13:25:08.999: ERROR/Database(10457):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
    05-27 13:25:08.999: ERROR/Database(10457):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
    05-27 13:25:08.999: ERROR/Database(10457):     at dalvik.system.NativeStart.main(Native Method)
    
    Hier mein Code der den Fehler wohl auslöst.

    Code:
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            setDefaultKeyMode(DEFAULT_KEYS_SHORTCUT);
    
            getListView().setOnCreateContextMenuListener(this);
            
               myDB = this.openOrCreateDatabase(TankPro2.MY_DATABASE_NAME, MODE_PRIVATE, null);
               
               Cursor c = myDB.rawQuery("SELECT _id, name || ', ' || model as bezeichnung, tankinhalt FROM " + TankPro2.MY_DATABASE_TABLE, null);        
               startManagingCursor(c);    
    
               final SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
                    R.layout.fahrzeuge, 
                    c,
                    new String[] { "_id" },
                    new int[] { R.id.KfzNameModel });
              
            adapter.setViewBinder(new ViewBinder() 
            {               
                @Override
                public boolean setViewValue(View view, Cursor theCursor, int column) 
                {
                    final String ColNameModel = theCursor.getString(1); //Name und Model
                    ((TextView)view).setText(ColNameModel);
                    return true;
                }
            });
            this.setListAdapter(adapter);
      }
    
    Ich weiß was der Fehler bedeutet, nämlich das die geöffnete DB nicht wieder geschlossen wird.

    Das Problem ist. Wenn ich diese im onCreate auch wieder schließe und ich komme von der activity, wo ich ein neues Fahrzeug anlege, zurück zur main-activity. dann zeigt er mir keine Fahrzeuge mehr an.

    Was mache ich falsch?
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Android Room, wie einsteigen? Android App Entwicklung 31.07.2018
Du betrachtest das Thema "Log, Database, Leak found???" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.