Italian Chiacchiericci

LucaMs

Expert
Licensed User
Longtime User
Allora, devo darti una cattiva notizia:

sul mio Huawei avviene la stessa cosa; metto il cell in pausa, lo riattivo tramite tasto, si riattiva in portrait, sblocco (impronta), si riattiva la tua app, che è costretta a ricreare il layout, dovendo passare al landscape.

La brutta notizia: non ci sono errori! Come: "quale sarebbe la brutta notizia?"? La brutta notizia è che il problema l'ho soltanto io ! :p


Ok, ma me lo aspettavo, perché so ciò che avviene; avviene la rotazione da portrait a landscape quindi viene ricreata l'Activity (ma con FirstTime impostato su False), il che non crea problemi, a meno che tu non abbia nella Activity_Create qualcosa condizionato proprio dal FirstTime, cosa che io non ho.

Nel mio caso, succede qualcosa a partire invece dalla Resume (cosa strana, visto che questa verrebbe eseguita comunque, anche senza rotazione), dovuta forse ad un servizio, all'invio-ricezione dati client-server...

In una "normale" app non accadrebbe, non avrei problemi nemmeno io.


[Ho installato la tua app, ovviamente, ma non l'ho ancora guardata, scusami, lo farò sicuramente]
 

LucaMs

Expert
Licensed User
Longtime User
[Ho installato la tua app, ovviamente, ma non l'ho ancora guardata, scusami, lo farò sicuramente]
Dato che faccio pausa per... colazione!, una piccola occhiata l'ho data.

Ho attivato solo il GPS (che ancora devo testare; sul mio vecchio smartphone non ha MAI funzionato, ad esempio) ma non vedo cambiare qualcosa se mi metto a camminare per casa. Non so se sia perché il GPS non prenda (stando in casa) oppure perché se non vado almeno a 10 km/h non reagisce :D.

Unico microscopico "bug" è quella scrollview sulla sinistra (ma davvero un'inezia), in quando se gli item fossero di 1 o 2 dip più bassi, non ci sarebbe necessità di scrolling (praticamente gli item si vedono gia tutti, solo l'ultimo è incompleto ma davvero di pochissimo).
 
D

Deleted member 103

Guest
a meno che tu non abbia nella Activity_Create qualcosa condizionato proprio dal FirstTime
No, quì non c'è niente; tutto quello che riguarda il Layout si trova in Activity_Resume.
Dopo una Activity_Pause devi fare in modo di ripristinare il Layout.
Quindi salvi tutto nella Activity_Pause e ricarica tutto Activity_Resume.
 
D

Deleted member 103

Guest
Unico microscopico "bug" è quella scrollview sulla sinistra (ma davvero un'inezia), in quando se gli item fossero di 1 o 2 dip più bassi, non ci sarebbe necessità di scrolling (praticamente gli item si vedono gia tutti, solo l'ultimo è incompleto ma davvero di pochissimo).
È normale, non è un bug; dipende sempre dalla grandezza del display.
 

LucaMs

Expert
Licensed User
Longtime User
No, quì non c'è niente; tutto quello che riguarda il Layout si trova in Activity_Resume.
Dopo una Activity_Pause devi fare in modo di ripristinare il Layout.
Quindi salvi tutto nella Activity_Pause e ricarica tutto Activity_Resume.
No, mi sono spiegato male. Intendevo dire che non ci sono problemi quando venga ricreata un'Activity, a meno che non si metta qualcosa nella Activity_Create che sia condizionata da FirstTime.

Cioè, se nella Activity_Create non sia hanno cose come:

If FirstTime = True then...

il fatto che venga ricreata non crea problemi.
 
D

Deleted member 103

Guest
Ho attivato solo il GPS (che ancora devo testare; sul mio vecchio smartphone non ha MAI funzionato, ad esempio) ma non vedo cambiare qualcosa se mi metto a camminare per casa. Non so se sia perché il GPS non prenda (stando in casa) oppure perché se non vado almeno a 10 km/h non reagisce :D.
Dentro casa è dfficile che il GPS prenda.
 

Sagenut

Expert
Licensed User
Longtime User
Activity_create viene eseguito comunque anche al primo avvio mi pare, no?
Se metti il caricamento del Layout lì?

Mi rendo conto solo ora della cavolata che ho scritto questa notte.
In realtà mentre scrivevo stavo pensando alla stessa cosa che ti ha poi detto Filippo:
Activity_Resume (e non Activity_Create come avevo scritto) viene eseguito sempre, anche al primo avvio della app.
Cosa accade spostando il caricamento del Layout lì?
 

LucaMs

Expert
Licensed User
Longtime User
Ah, bella roba!

Ho confrontato i due log (esecuzione con riattivazione smartphone differente) e, addirittura, nel secondo caso pare che l'app venga totalmente distrutta. Infatti, viene lanciato nuovamente anche il servizio Starter; anche questo non dovrebbe essere un problema, se fosse una normale app ma, al primo avvio evidentemente avviene qualcosa tra client e server che al riavvio automatico dell'app manda in tilt il tutto.
 

LucaMs

Expert
Licensed User
Longtime User
Cosa accade spostando il caricamento del Layout lì?
Non è corretto caricare il layout nella Resume. Se l'activity viene riportata in foreground anziché ricreata, ovvero non viene eseguito Actvity_Create, il layout risulterà già correttamente caricato e visibile; quello che potrebbe cambiare è il contenuto delle view, come le EditText, ad esempio, che magari prima della pausa l'utente aveva riempito. Per questo si può usare:
https://www.b4x.com/android/forum/t...android-applications-settings-and-state.9777/
 

LucaMs

Expert
Licensed User
Longtime User
Ecco ciò che accade (a destra, usato il tasto, quindi "passaggio per la home" prima che venga rimessa in foreground l'app; le ultime due righe sono le prime differenti ed indicano che l'app viene distrutta):

upload_2018-5-22_14-26-14.png



Credo che riguardi una faccenda che ho letto di recente ma senza molta concentrazione, servizi in background-foreground, roba relativamente nuova... mi pare. Cercherò, ma intanto passano i giorni senza passi avanti ma solo indietro!

[srvComm è un servizio]
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Meno male che già lo sono, altrimenti ci sarebbe da diventare matti :p

Ho sostituito una CallSubDelayed (dalla Main al servizio srvComm) con una CallSub; adesso PARE che l'app non venga più distrutta.

Piccolo particolare che, rispetto al primo modo di mettere in pausa il cell, questa riga viene "loggata" (e quindi routine del servizio eseguita) una sola volta:

>>> srvComm - ESEGUO RefreshGameRooms

mentre col secondo modo viene "loggata" (routine del servizio eseguita) due volte.
Ovviamente il risultato finale è ancora lo stesso: schermo grigio e vuoto.


Se vi interessa, posizionatevi di fronte alla mia finestra - sto per gettare pc, tablet, 2 smartphone, hd esterno dalla finestra :p
 
D

Deleted member 103

Guest
uff... no, sarebbe nero sul tablet, sul Huawei è grigio, quindi pare proprio che il layout non venga caricato.
Prova una cosa alla volta; dato che il layout è carcato, prova come prima a ripristinare una View in Activity_Resume.
 

LucaMs

Expert
Licensed User
Longtime User
Sarà quella sotto-scecie di driver del Huawei (non solo driver, sw "speciale"), sarà l'uso dell'android jar 27 ma da qualche tempo mi capita di non poter avviare il server adb!

Chiedo sul forum "internazionale" e magari cerco sul web; giusto per dire che le madonne non finiscono mai :D:mad::mad::mad:
 

LucaMs

Expert
Licensed User
Longtime User
Sarà quella sotto-scecie di driver del Huawei (non solo driver, sw "speciale"), sarà l'uso dell'android jar 27 ma da qualche tempo mi capita di non poter avviare il server adb!

Chiedo sul forum "internazionale" e magari cerco sul web; giusto per dire che le madonne non finiscono mai :D:mad::mad::mad:
Prima ancora di chiedere/cercare ho provato un doppio click su adb.exe e nada.
Usando un comando dos, invece, pare sia partito (che funzioni ancora non lo so :D)
 
Top