Autore Topic: close() was never explicitly called  (Letto 739 volte)

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
close() was never explicitly called
« il: 07 Giugno 2011, 09:51:23 CEST »
0
Ciao a tutti,

Non riesco a sistemare il mio codice. Ho una activiity1 dalla quale vado alla activity2, dalla activity2 alla activity3. Se dalla 3 torno alla 2 e poi senza fare alcun scroll clicco sulla mia lista passo di nuovo alla activity3 e posso tornare indietro e andare avanti. Pero appena scrollo la mia activity2 (solo e quando son passato dalla activity3) ottengo questo errore:

Codice: [Seleziona]
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304): Releasing statement in a finalizer. Please ensure that you explicitly call close() on your cursor: SELECT _id, name FROM mystery WHERE name= ?
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:62)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:80)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:46)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1229)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1184)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1301)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at com.racoonlab.geo.map.GeoDbAdapter.viewCitiesByTitle(GeoDbAdapter.java:303)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at com.racoonlab.geo.map.CitiesViewByDistance.getCityByTitle(CitiesViewByDistance.java:69)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at com.racoonlab.geo.map.CitiesViewByDistance.onListItemClick(CitiesViewByDistance.java:56)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.app.ListActivity$2.onItemClick(ListActivity.java:321)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.widget.AdapterView.performItemClick(AdapterView.java:284)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.widget.ListView.performItemClick(ListView.java:3382)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.os.Handler.handleCallback(Handler.java:587)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.os.Handler.dispatchMessage(Handler.java:92)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.os.Looper.loop(Looper.java:123)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at android.app.ActivityThread.main(ActivityThread.java:4627)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at java.lang.reflect.Method.invokeNative(Native Method)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at java.lang.reflect.Method.invoke(Method.java:521)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-07 07:36:22.426: WARN/SQLiteCompiledSql(304):     at dalvik.system.NativeStart.main(Native Method)
06-07 07:36:22.446: ERROR/Database(304): close() was never explicitly called on database '/data/data/com.racoonlab.geo.map/databases/data'
06-07 07:36:22.446: ERROR/Database(304): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
06-07 07:36:22.446: ERROR/Database(304):     at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1810)
06-07 07:36:22.446: ERROR/Database(304):     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:817)
06-07 07:36:22.446: ERROR/Database(304):     at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:851)
06-07 07:36:22.446: ERROR/Database(304):     at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:844)
06-07 07:36:22.446: ERROR/Database(304):     at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:540)
06-07 07:36:22.446: ERROR/Database(304):     at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
06-07 07:36:22.446: ERROR/Database(304):     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
06-07 07:36:22.446: ERROR/Database(304):     at com.racoonlab.geo.map.GeoDbAdapter.open(GeoDbAdapter.java:108)
06-07 07:36:22.446: ERROR/Database(304):     at com.racoonlab.geo.map.CitiesViewByDistance.getCityByTitle(CitiesViewByDistance.java:68)
06-07 07:36:22.446: ERROR/Database(304):     at com.racoonlab.geo.map.CitiesViewByDistance.onListItemClick(CitiesViewByDistance.java:56)
06-07 07:36:22.446: ERROR/Database(304):     at android.app.ListActivity$2.onItemClick(ListActivity.java:321)
06-07 07:36:22.446: ERROR/Database(304):     at android.widget.AdapterView.performItemClick(AdapterView.java:284)
06-07 07:36:22.446: ERROR/Database(304):     at android.widget.ListView.performItemClick(ListView.java:3382)
06-07 07:36:22.446: ERROR/Database(304):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
06-07 07:36:22.446: ERROR/Database(304):     at android.os.Handler.handleCallback(Handler.java:587)
06-07 07:36:22.446: ERROR/Database(304):     at android.os.Handler.dispatchMessage(Handler.java:92)
06-07 07:36:22.446: ERROR/Database(304):     at android.os.Looper.loop(Looper.java:123)
06-07 07:36:22.446: ERROR/Database(304):     at android.app.ActivityThread.main(ActivityThread.java:4627)
06-07 07:36:22.446: ERROR/Database(304):     at java.lang.reflect.Method.invokeNative(Native Method)
06-07 07:36:22.446: ERROR/Database(304):     at java.lang.reflect.Method.invoke(Method.java:521)
06-07 07:36:22.446: ERROR/Database(304):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-07 07:36:22.446: ERROR/Database(304):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-07 07:36:22.446: ERROR/Database(304):     at dalvik.system.NativeStart.main(Native Method)

Questa e' la mia activity2
Codice (Java): [Seleziona]
package com.racoonlab.geo.map;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;

import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class CitiesViewByDistance extends ListActivity implements LocationListener {
        private GeoDbAdapter mDbHelper;
        public SimpleCursorAdapter citiesList;
        private LocationManager mgr;
        Cursor distanceCursor;
       
        private static final String LOG_TAG = "Racoonlab";
        double imageLatitude, imageLongitude;
       
        public void onCreate(Bundle icicle) {
                super.onCreate(icicle);
                setContentView(R.layout.cities_distance_list);
               
                mDbHelper = new GeoDbAdapter(this);
            mDbHelper.open();
               
            showCityByDistance();
           
            //mDbHelper.close();
                       
        }
       
        @Override
        protected void onListItemClick(ListView l, View v, int position, long id) {
                super.onListItemClick(l, v, position, id);
               
                //get the second column
                //selectedTitle: my title
                TextView title = (TextView) v.findViewById(R.id.kmName);      
            String wholeName = (String) title.getText();
               
                String cityId = getCityByTitle(wholeName);
                //Log.v(LOG_TAG, "cityId: "+cityId);
                 
                Intent cityIntent = new Intent(this, ViewLocation.class);
                cityIntent.putExtra("geoId", cityId);
                // callback via this code
        this.startActivity(cityIntent);
       
       
        }
       
        public String getCityByTitle(String myTitle){
                mDbHelper.open();
                Cursor idCursor = mDbHelper.viewCitiesByTitle(myTitle);
        startManagingCursor(idCursor);  
        String idText = idCursor.getString(idCursor.getColumnIndexOrThrow(GeoDbAdapter.KEY_ROWID));
       
       
        return idText;
        }
       
       

        public void onLocationChanged(Location location) {
                // TODO Auto-generated method stub
               
        }

        public void onProviderDisabled(String provider) {
                // TODO Auto-generated method stub
               
        }

        public void onProviderEnabled(String provider) {
                // TODO Auto-generated method stub
               
        }

        public void onStatusChanged(String provider, int status, Bundle extras) {
                // TODO Auto-generated method stub
               
        }
       
        private void initMyLocation(){
                mgr = (LocationManager) getSystemService(LOCATION_SERVICE);
                if(!mgr.isProviderEnabled("gps")){
            Toast.makeText(this, "GPS è attualmente disabilitato. E' possibile abilitarlo dal menu impostazioni.", Toast.LENGTH_LONG).show();
                }
                mgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 500, this);
        }
       
        static String[] convert(List<String[]> from) {
        ArrayList<String> list = new ArrayList<String>();
        for (String[] strings : from) {
            Collections.addAll(list, strings);
        }
        return list.toArray(new String[list.size()]);
    }
       
        public void showCityByDistance(){
               
                //GET info location
                initMyLocation();
               
                Criteria criteria = new Criteria();

                String provider = mgr.getBestProvider(criteria, true);

                Location location = mgr.getLastKnownLocation(provider);

                if(!mgr.isProviderEnabled("gps")){
            Toast.makeText(this, "GPS è attualmente disabilitato. E' possibile abilitarlo dal menu impostazioni.", Toast.LENGTH_LONG).show();
                }
               
                Location aLocation = new Location("LocationA");
               
               
          aLocation.setLatitude(location.getLatitude());
          aLocation.setLongitude(location.getLongitude());
                 
                distanceCursor = mDbHelper.getDistanceCities();
        startManagingCursor(distanceCursor);
       
       
     ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
       
                if (distanceCursor.moveToFirst())
                {
           do {  
                   //String distId = distanceCursor.getString(0); //id
                   String distName = distanceCursor.getString(1); //id
                   String distLat = distanceCursor.getString(2); //
                   String distLng = distanceCursor.getString(3); //
                   
               String coordinates[] = {distLat, distLng};
                   double latCity = Double.parseDouble(coordinates[0]);
                   double lngCity = Double.parseDouble(coordinates[1]);
               
               Location bLocation = new Location("LocationB");
               bLocation.setLatitude(latCity);          
               bLocation.setLongitude(lngCity);        

               int distance = (int)aLocation.distanceTo(bLocation);
               
               int kmDistancce = distance/1000;
               
               HashMap<String,Object> distanceMap=new HashMap<String, Object>();//create a map of values.

               distanceMap.put("locName", distName); // insert for the key locName the name
               distanceMap.put("locDistance", kmDistancce); //insert for the key locDistance the distance
               
               
               data.add(distanceMap);  //aggiungiamo la mappa di valori alla sorgente dati
               

           } while (distanceCursor.moveToNext());
           
         
       }
               
           Comparator<HashMap<String,Object>> comparator = new Comparator<HashMap<String,Object>>() {
              //@Override
              public int compare(HashMap<String,Object> obj1, HashMap<String,Object> obj2) {
                 return ((Integer) obj1.get("locDistance")).compareTo((Integer) obj2.get("locDistance"));
              }
           };
           Collections.sort(data,comparator);
               
           String[] from={"locDistance", "locName"}; //return the value contained in these keys
       int[] to = {R.id.kmDist, R.id.kmName,};//to the ID of the views
       
     //costruzione dell adapter
       SimpleAdapter citiesList=new SimpleAdapter(
                       getApplicationContext(),
                       data,//sorgente dati
                       R.layout.cities_distance_row, //layout where the IDs of "to" are
                       from,
                       to);

        setListAdapter(citiesList);
       

        }
       


}

Qualche consiglio?

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:close() was never explicitly called
« Risposta #1 il: 07 Giugno 2011, 10:01:01 CEST »
0
credo che tu ti sia dimenticato di chiamare il cursor.close() nell'activity3 quando vai verso la2, oppure nella 2... ma ti crasha l'app o ti rimane solo quel messaggio?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:close() was never explicitly called
« Risposta #2 il: 07 Giugno 2011, 10:04:48 CEST »
0
Nel mio HTC non succede nulla ma in alcuni cell crasha. il db non lo sto a chiudere altrimenti poi non vedo piu' nulla nella lista.

Leggevo che forse e' meglio implementare una funzione resume tipo
Codice (Java): [Seleziona]
@Override
        public void onResume() {
                distanceCursor.requery();
                super.onResume();
        }

Ho pure provato questa soluzione, ma invano al momento.

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:close() was never explicitly called
« Risposta #3 il: 07 Giugno 2011, 10:56:15 CEST »
+1
Nel mio HTC non succede nulla ma in alcuni cell crasha. il db non lo sto a chiudere altrimenti poi non vedo piu' nulla nella lista.

Leggevo che forse e' meglio implementare una funzione resume tipo
Codice (Java): [Seleziona]
@Override
        public void onResume() {
                distanceCursor.requery();
                super.onResume();
        }

Ho pure provato questa soluzione, ma invano al momento.
nella onPause mettici distanceCursor.close();
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:close() was never explicitly called
« Risposta #4 il: 07 Giugno 2011, 11:30:16 CEST »
0
Esatto,

Questo sembra aver risolto la cosa
Codice (Java): [Seleziona]
@Override
        public void onResume() {
                distanceCursor.close();
                distanceCursor.requery();
                super.onResume();
        }

Ora chiudo il cursore anche nelle altre activity.

Grazie

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:close() was never explicitly called
« Risposta #5 il: 07 Giugno 2011, 12:18:02 CEST »
0
Esatto,

Questo sembra aver risolto la cosa
Codice (Java): [Seleziona]
@Override
        public void onResume() {
                distanceCursor.close();
                distanceCursor.requery();
                super.onResume();
        }

Ora chiudo il cursore anche nelle altre activity.

Grazie
chiudilo nella onPause, non ha senso nella onResume!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:close() was never explicitly called
« Risposta #6 il: 07 Giugno 2011, 12:32:04 CEST »
0
Giusto.

Ora ho un errore quando dalla 3 passo alla 1 passando per la 2 ma direi che usando lo stesso modo dovrebbe risolversi.

Codice: [Seleziona]
06-07 10:26:21.802: ERROR/Database(416): close() was never explicitly called on database '/data/data/com.racoonlab.geo.map/databases/data'
06-07 10:26:21.802: ERROR/Database(416): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here

Tks

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:close() was never explicitly called
« Risposta #7 il: 07 Giugno 2011, 13:28:27 CEST »
0
Giusto.

Ora ho un errore quando dalla 3 passo alla 1 passando per la 2 ma direi che usando lo stesso modo dovrebbe risolversi.

Codice: [Seleziona]
06-07 10:26:21.802: ERROR/Database(416): close() was never explicitly called on database '/data/data/com.racoonlab.geo.map/databases/data'
06-07 10:26:21.802: ERROR/Database(416): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here

Tks
esatto,prova e in caso poi imposta la discussione come risolta!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:close() was never explicitly called
« Risposta #8 il: 07 Giugno 2011, 14:16:20 CEST »
0
Se provo a chiudere anche il cursore "idCursor" dentro a "getCityByTitle" (vedi codice nel primo post) mi da errore.

Codice: [Seleziona]
06-07 12:12:56.973: ERROR/AndroidRuntime(491): FATAL EXCEPTION: main
06-07 12:12:56.973: ERROR/AndroidRuntime(491): java.lang.RuntimeException: Unable to resume activity {com.racoonlab.geo.map/com.racoonlab.geo.map.CitiesViewByDistance}: java.lang.NullPointerException
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3128)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3143)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2684)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.os.Looper.loop(Looper.java:123)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.app.ActivityThread.main(ActivityThread.java:4627)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at java.lang.reflect.Method.invokeNative(Native Method)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at java.lang.reflect.Method.invoke(Method.java:521)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at dalvik.system.NativeStart.main(Native Method)
06-07 12:12:56.973: ERROR/AndroidRuntime(491): Caused by: java.lang.NullPointerException
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at com.racoonlab.geo.map.CitiesViewByDistance.onResume(CitiesViewByDistance.java:247)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1149)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.app.Activity.performResume(Activity.java:3823)
06-07 12:12:56.973: ERROR/AndroidRuntime(491):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3118)

Codice (Java): [Seleziona]
public void onResume() {
                distanceCursor.requery();
idCursor.requery();
                super.onResume();
        }
       
        @Override
        public void onPause() {
                distanceCursor.close();
idCursor.close();
                super.onPause();
        }

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:close() was never explicitly called
« Risposta #9 il: 07 Giugno 2011, 14:45:48 CEST »
0
Codice (Java): [Seleziona]
public void onResume() {
super.onResume();
                distanceCursor.requery();
idCursor.requery();
               
        }
       
        @Override
        public void onPause() {
                super.onPause();
                distanceCursor.close();
idCursor.close();
        }

i super vanno messi sempre come prima riga di codice
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline racoonlab

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:close() was never explicitly called
« Risposta #10 il: 07 Giugno 2011, 17:45:09 CEST »
0
Strano pero'.

Quando metto onResume e onPause su tutte le mie activities ho il seguente errore appena avvio l'app.

Codice (Java): [Seleziona]
06-07 15:47:04.993: WARN/dalvikvm(555): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-07 15:47:05.023: ERROR/AndroidRuntime(555): FATAL EXCEPTION: main
06-07 15:47:05.023: ERROR/AndroidRuntime(555): java.lang.RuntimeException: Unable to resume activity {com.racoonlab.geo.map/com.racoonlab.geo.map.GeoIta01}: java.lang.NullPointerException
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3128)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3143)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2684)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.os.Looper.loop(Looper.java:123)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.app.ActivityThread.main(ActivityThread.java:4627)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at java.lang.reflect.Method.invokeNative(Native Method)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at java.lang.reflect.Method.invoke(Method.java:521)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at dalvik.system.NativeStart.main(Native Method)
06-07 15:47:05.023: ERROR/AndroidRuntime(555): Caused by: java.lang.NullPointerException
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at com.racoonlab.geo.map.GeoIta01.onResume(GeoIta01.java:252)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1149)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.app.Activity.performResume(Activity.java:3823)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3118)
06-07 15:47:05.023: ERROR/AndroidRuntime(555):     ... 12 more