Autore Topic: Problema app crasha quando si spegne lo schermo  (Letto 452 volte)

Offline Ormet

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Google+
    • Marco Falotico
    • Mostra profilo
  • Dispositivo Android:
    HTC One S
  • Play Store ID:
    Ormet
  • Sistema operativo:
    Windows 7
Problema app crasha quando si spegne lo schermo
« il: 07 Ottobre 2014, 17:50:00 CEST »
0
Salve a tutti, ho creato un'applicazione che funziona molto bene, basandomi su questo tutorial [facile] Aggiornare ListView popolata da un cursor + download e parsing JSON - Android Developers Italia.
Tutto ok, se non fosse che quando mi si spegne lo schermo, se l'applicazione è ancora attiva, al momento dello sblocco l'applicazione crasha.
Qualcuno può aiutarmi??

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema app crasha quando si spegne lo schermo
« Risposta #1 il: 07 Ottobre 2014, 18:56:08 CEST »
0
E' sicuramente qualcosa che viene distrutto e non ricreato al risveglio dell'app, ma ci vorrebbe il LogCat, altrimenti la vedo dura immaginare dove e come.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Ormet

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Google+
    • Marco Falotico
    • Mostra profilo
  • Dispositivo Android:
    HTC One S
  • Play Store ID:
    Ormet
  • Sistema operativo:
    Windows 7
Re:Problema app crasha quando si spegne lo schermo
« Risposta #2 il: 07 Ottobre 2014, 23:55:58 CEST »
0
Grazie mille dell'interessamento, ecco il logcat:
Codice: [Seleziona]
10-06 10:12:26.347: E/AndroidRuntime(27321): FATAL EXCEPTION: main
10-06 10:12:26.347: E/AndroidRuntime(27321): java.lang.IllegalStateException: trying to requery an already closed cursor  android.database.sqlite.SQLiteCursor@4104d510
10-06 10:12:26.347: E/AndroidRuntime(27321):         at android.app.Activity.performRestart(Activity.java)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at android.app.ActivityThread.handleSleeping(ActivityThread.java)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at android.app.ActivityThread.access$2700(ActivityThread.java)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at android.os.Handler.dispatchMessage(Handler.java)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at android.os.Looper.loop(Looper.java)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at android.app.ActivityThread.main(ActivityThread.java)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at java.lang.reflect.Method.invokeNative(Native Method)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at java.lang.reflect.Method.invoke(Method.java:511)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
10-06 10:12:26.347: E/AndroidRuntime(27321):         at dalvik.system.NativeStart.main(Native Method)

Sembra che l'applicazione si spenga e non si riesca a riavviare dopo lo sblocco, no?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema app crasha quando si spegne lo schermo
« Risposta #3 il: 08 Ottobre 2014, 07:43:28 CEST »
0
Sicuro non ci sia un altro pezzo di LogCat con il "caused by"?

Perchè ci direbbe quale è la riga esatta e di conseguenza come agire.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

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:Problema app crasha quando si spegne lo schermo
« Risposta #4 il: 08 Ottobre 2014, 10:07:19 CEST »
0
credo che sia perchè nel codice c'è un cursor requery tipo nell'onresume o cose del genere... Ovviamente il codice dei tutorial è fatto per capire ed eseguire quello che c'è nel titolo, altri errori possono esserci :D

Coi cursori adesso andrebbero usati i cursor manager, o comunque tirati fuori i dati dal cursore, i sconsiglio di popolare listview direttamente da cursore al giorno d'oggi...
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 Ormet

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Google+
    • Marco Falotico
    • Mostra profilo
  • Dispositivo Android:
    HTC One S
  • Play Store ID:
    Ormet
  • Sistema operativo:
    Windows 7
Re:Problema app crasha quando si spegne lo schermo
« Risposta #5 il: 08 Ottobre 2014, 11:44:30 CEST »
0
Per bradipao, ecco il logcat completo, come vedi non ha caused by, per quello non capisco l'errore.
Pensando a quello che ha detto Nicola, potrebbe essere che l'errore sia nell'on resume , startManagingCursor(query); ? .

Codice: [Seleziona]
10-08 11:28:24.908: E/FDManager(20913): Fail to open: /sys/fs/fd_list_lock, err: 2, msg: No such file or directory
10-08 11:28:24.908: W/FDManager(20913): Invalied fd of /sys/fs/fd_list_lock when release it
10-08 11:28:24.908: W/FDManager(20913): Invalied fd of /sys/fs/fd_list_forced_unlock when release it
10-08 11:28:24.908: W/FDManager(20913): Invalied fd of /sys/fs/fd_list_unlock when release it
10-08 11:28:24.908: E/FDManager(20913): Fail to register fd: 0, library not ready !!
10-08 11:28:24.908: E/FDManager(20913): Fail to register fd: 1, library not ready !!
10-08 11:28:24.908: E/FDManager(20913): Fail to register fd: 2, library not ready !!
10-08 11:28:25.088: D/ViewRootImpl(20913): getCustomizationBoolean support_pen_event=false
10-08 11:28:25.208: W/asset(20913): Copying FileAsset 0x5b832178 (zip:/data/app/com.beandroid.androchef-1.apk:/resources.arsc) to buffer size 122864 to make it aligned.
10-08 11:28:25.949: D/skia(20913): FontHost open localized file: /system/etc/system_fonts.xml
10-08 11:28:25.959: D/skia(20913): FontHost open localized file: /system/etc/fallback_fonts.xml
10-08 11:28:27.171: I/Adreno200-EGL(20913): <qeglDrvAPI_eglInitialize:265>: EGL 1.4 QUALCOMM build:  (CL3449569)
10-08 11:28:27.171: I/Adreno200-EGL(20913): Build Date: 05/14/13 Tue
10-08 11:28:27.171: I/Adreno200-EGL(20913): Local Branch: htc2
10-08 11:28:27.171: I/Adreno200-EGL(20913): Remote Branch:
10-08 11:28:27.171: I/Adreno200-EGL(20913): Local Patches:
10-08 11:28:27.171: I/Adreno200-EGL(20913): Reconstruct Branch:
10-08 11:28:27.591: D/qdmemalloc(20913): ion: Mapped buffer base:0x5deaf000 size:2088960 offset:0 fd:57
10-08 11:28:27.591: D/qdmemalloc(20913): ion: Mapped buffer base:0x5b95c000 size:4096 offset:0 fd:58
10-08 11:28:27.721: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e1ad000 size:2088960 offset:0 fd:60
10-08 11:28:27.721: D/qdmemalloc(20913): ion: Mapped buffer base:0x5b95d000 size:4096 offset:0 fd:61
10-08 11:28:32.837: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e3ab000 size:2088960 offset:0 fd:62
10-08 11:28:32.837: D/qdmemalloc(20913): ion: Mapped buffer base:0x5b95e000 size:4096 offset:0 fd:63
10-08 11:28:35.449: D/CursorWindowStats(20913): Get CursorWindow size from framework resource:2097152
10-08 11:28:35.469: I/System.out(20913): 0
10-08 11:28:35.479: I/System.out(20913): DOWNLOADING Classifica....
10-08 11:28:35.640: I/LVUpdate/DOWNLOAD Thread(20913):  *** Avvio della procedura di download *** 
10-08 11:28:35.670: D/libc(20913): [NET] getaddrinfo  hn 20, servname NULL, ai_family 0+
10-08 11:28:35.670: D/libc(20913): [NET] ht 0x6265616e64726f
10-08 11:28:35.670: D/libc(20913): [NET] getaddrinfo-exit,err=8
10-08 11:28:35.670: D/libc(20913): [NET] getaddrinfo  hn 20, servname NULL, ai_family 0+
10-08 11:28:35.670: D/libc(20913): [NET] ht 0x6265616e64726f
10-08 11:28:35.670: D/libc(20913): [NET] getaddrinfo  hn 20, servname NULL, ai_family 0+
10-08 11:28:35.670: D/libc(20913): [NET] android_getaddrinfo_proxy+
10-08 11:28:35.670: D/libc(20913): [NET]android_getaddrinfo_proxy+
10-08 11:28:35.670: D/libc(20913): [NET] check propname+
10-08 11:28:35.670: D/libc(20913): [NET] check propname-
10-08 11:28:35.670: I/Choreographer(20913): Skipped 61 frames!  The application may be doing too much work on its main thread.
10-08 11:28:36.150: D/qdmemalloc(20913): ion: Mapped buffer base:0x5f7bb000 size:557056 offset:0 fd:69
10-08 11:28:36.150: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e821000 size:4096 offset:0 fd:70
10-08 11:28:36.210: D/qdmemalloc(20913): ion: Mapped buffer base:0x5f84f000 size:2088960 offset:0 fd:71
10-08 11:28:36.210: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e822000 size:4096 offset:0 fd:72
10-08 11:28:36.280: D/qdmemalloc(20913): ion: Mapped buffer base:0x5fa4d000 size:557056 offset:0 fd:73
10-08 11:28:36.280: D/qdmemalloc(20913): ion: Mapped buffer base:0x5fad5000 size:4096 offset:0 fd:74
10-08 11:28:36.330: D/qdmemalloc(20913): ion: Mapped buffer base:0x5fada000 size:2088960 offset:0 fd:75
10-08 11:28:36.330: D/qdmemalloc(20913): ion: Mapped buffer base:0x5fcd8000 size:4096 offset:0 fd:76
10-08 11:28:36.370: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5deaf000 size:2088960
10-08 11:28:36.370: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5b95c000 size:4096
10-08 11:28:36.370: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e1ad000 size:2088960
10-08 11:28:36.370: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5b95d000 size:4096
10-08 11:28:36.370: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e3ab000 size:2088960
10-08 11:28:36.380: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5b95e000 size:4096
10-08 11:28:36.400: D/qdmemalloc(20913): ion: Mapped buffer base:0x5ddaf000 size:557056 offset:0 fd:58
10-08 11:28:36.400: D/qdmemalloc(20913): ion: Mapped buffer base:0x5b95c000 size:4096 offset:0 fd:60
10-08 11:28:37.822: D/libc(20913): [NET]android_getaddrinfo_proxy-,1
10-08 11:28:37.822: D/libc(20913): [NET] getaddrinfo-exit 1
10-08 11:28:38.342: D/MESSAGE HANDLER RESPONSE(20913): Got the string from thread, size is 2285
10-08 11:28:38.352: D/DOWNLOAD FINISHED(20913): DOWNLOAD SUCCESFULLY COMPLETED!
10-08 11:28:38.352: I/HTTPJSON DOWNLOADER(20913): DOWNLOAD COMPLETED, TOAST FUNCTION
10-08 11:28:38.413: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5f7bb000 size:557056
10-08 11:28:38.413: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e821000 size:4096
10-08 11:28:38.413: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5fa4d000 size:557056
10-08 11:28:38.413: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5fad5000 size:4096
10-08 11:28:38.413: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5ddaf000 size:557056
10-08 11:28:38.413: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5b95c000 size:4096
10-08 11:28:38.663: D/LVUpdate/JSONMANAGER(20913): JSON Object Parsing.... Count:13 ,length: 13
10-08 11:28:38.733: D/LVUpdate/JSONMANAGER(20913): JSON Parsing: Pilota
10-08 11:28:38.823: D/qdmemalloc(20913): ion: Mapped buffer base:0x5dfcf000 size:557056 offset:0 fd:66
10-08 11:28:38.823: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e057000 size:4096 offset:0 fd:68
10-08 11:28:38.883: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e387000 size:245760 offset:0 fd:69
10-08 11:28:38.883: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e09d000 size:4096 offset:0 fd:70
10-08 11:28:38.973: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e3d9000 size:557056 offset:0 fd:73
10-08 11:28:38.973: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e461000 size:4096 offset:0 fd:74
10-08 11:28:38.993: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e462000 size:557056 offset:0 fd:65
10-08 11:28:38.993: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e4ea000 size:4096 offset:0 fd:77
10-08 11:28:39.354: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5dfcf000 size:557056
10-08 11:28:39.354: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e057000 size:4096
10-08 11:28:39.354: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e3d9000 size:557056
10-08 11:28:39.354: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e461000 size:4096
10-08 11:28:39.354: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e462000 size:557056
10-08 11:28:39.354: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e4ea000 size:4096
10-08 11:28:39.914: D/qdmemalloc(20913): ion: Mapped buffer base:0x5e823000 size:2088960 offset:0 fd:63
10-08 11:28:39.914: D/qdmemalloc(20913): ion: Mapped buffer base:0x5dfbf000 size:4096 offset:0 fd:64
10-08 11:28:41.886: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e387000 size:245760
10-08 11:28:41.886: D/qdmemalloc(20913): ion: Unmapping buffer  base:0x5e09d000 size:4096
10-08 11:28:45.430: W/dalvikvm(20913): threadid=1: thread exiting with uncaught exception (group=0x41f9b798)
10-08 11:28:45.440: E/AndroidRuntime(20913): FATAL EXCEPTION: main
10-08 11:28:45.440: E/AndroidRuntime(20913): java.lang.IllegalStateException: trying to requery an already closed cursor  android.database.sqlite.SQLiteCursor@422321d0
10-08 11:28:45.440: E/AndroidRuntime(20913):         at android.app.Activity.performRestart(Activity.java)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at android.app.ActivityThread.handleSleeping(ActivityThread.java)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at android.app.ActivityThread.access$2700(ActivityThread.java)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at android.os.Handler.dispatchMessage(Handler.java)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at android.os.Looper.loop(Looper.java)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at android.app.ActivityThread.main(ActivityThread.java)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at java.lang.reflect.Method.invokeNative(Native Method)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at java.lang.reflect.Method.invoke(Method.java:511)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
10-08 11:28:45.440: E/AndroidRuntime(20913):         at dalvik.system.NativeStart.main(Native Method)

Offline ciopper90

  • Utente junior
  • **
  • Post: 106
  • Respect: +4
    • Mostra profilo
Re:Problema app crasha quando si spegne lo schermo
« Risposta #6 il: 08 Ottobre 2014, 14:35:17 CEST »
0
trying to requery an already closed cursor  android.database.sqlite.SQLiteCursor


l'errore dice che stai provando ad usare un cursore di sqlite chiuso
quindi dovresti aprire la connessione nuovamene prima di utilizzarla

Offline Ormet

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Google+
    • Marco Falotico
    • Mostra profilo
  • Dispositivo Android:
    HTC One S
  • Play Store ID:
    Ormet
  • Sistema operativo:
    Windows 7
Re:Problema app crasha quando si spegne lo schermo
« Risposta #7 il: 08 Ottobre 2014, 15:05:26 CEST »
0
..immagino che quindi al blocco dello schermo lui stacchi la connessione col server e al momento del riavvio dell'applicazione non si riconnetta, può essere? :-\

Offline ciopper90

  • Utente junior
  • **
  • Post: 106
  • Respect: +4
    • Mostra profilo
Re:Problema app crasha quando si spegne lo schermo
« Risposta #8 il: 08 Ottobre 2014, 17:10:33 CEST »
0
qui si parla del cursore sqlite(che sta solo in locale) non del collegamento con il server

Offline Ormet

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Google+
    • Marco Falotico
    • Mostra profilo
  • Dispositivo Android:
    HTC One S
  • Play Store ID:
    Ormet
  • Sistema operativo:
    Windows 7
Re:Problema app crasha quando si spegne lo schermo
« Risposta #9 il: 09 Ottobre 2014, 00:53:23 CEST »
0
Mah, nell'on Resume io riapro il cursore.. o no?

Codice: [Seleziona]
@Override
        public void onResume() {
                db1.open();
                c = db1.fetchDatabase1(); // query
                startManagingCursor(c);
                adapter = ((SimpleCursorAdapter) listview1.getAdapter());
                adapter.changeCursor(c);
                super.onResume();
                db1.close();
               
               
        }

Offline Ormet

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Google+
    • Marco Falotico
    • Mostra profilo
  • Dispositivo Android:
    HTC One S
  • Play Store ID:
    Ormet
  • Sistema operativo:
    Windows 7
Re:Problema app crasha quando si spegne lo schermo
« Risposta #10 il: 10 Ottobre 2014, 14:37:11 CEST »
0
Ok ragazzi, giusto perchè lo sappiate ho risolto!
Avevo fatto un errore stupido, in effetti andava in crash perchè non avevo inserito l'on Pause.
Gestisco il riavvio dopo lo sblocco schermo da quello! grazie dell'interessamento.. :-)