Ed ecco un'altra combo di mattina+pomeriggio passata a sclerare con #Android, con le sue API terrificanti. E dato che voglio esplodere, è bene distrarmi… postando la spiegazione di come ho smesso di sclerare una settimana fa!!! 😇️
Ancora una volta per SpaccWebView di SpaccDotWeb, infatti, ci sono degli imbrogli... ma piano piano faccio tutto, ne sono certa, il Java è nelle mie vene visto che a casa abbiamo la moka. E appunto, l'altra cosa che avevo tecnicamente già detto, poi son riuscita a finirla (e menomale)... 👌️😉️👌️
Ora il mio codice riesce a salvare i dati della #WebView sulla memoria esterna. Evviva!!! Ciò è praticamente fondamentale sui dispositivi senza adoptable storage (il mio tablet), perché servirebbe a ben poco poter spostare una app di 100 KB su #SDcard, se poi questa scrive 10, 20 MB sulla memoria interna... 🤨️
Non ho in realtà sistemato tutti quei TODO dell'archiviazione esterna, ma al momento non freca, visto che il codice per salvare lì i dati funziona comunque as-intended, su Android KitKat o superiori. Su versioni più vecchie funziona comunque, anche se meno intended, perché Android hack rogne API spacc... non fatemi ripetere. 💤️
Il tempo mi serviva per implementare cose accessorie, tipo il fatto che l'applicazione ora all'avvio controlla la posizione di installazione, e, nel caso sia cambiata dall'ultima volta (dalle impostazioni di Android), allora obbliga a spostare i dati verso lo stesso posto. Col dialogo bellino così, tutto automatico, senza ricorrere a configurazioni complicate! 🎉️
Forzare i #dati in sync in questo modo non solo migliora la UX, ma evita rogne strane, perché ci pensa il sistema Android a garantire che (per esempio) la app non possa trovarsi senza i suoi dati perché l'utente è stronzo e rimuove la scheda SD. 🤫️ (Devo però gestire il caso in cui l'utente sposta la app, ma toglie la memoria coi dati prima di trasferirli, che palle...)
Ovviamente, ho ricompilato la magica app di 2048 che uso come demo con questo miglioramento blessato; l'APK è allo stesso posto dell'altra volta, qui. E, in questo caso ho omesso gli scleri... dato che sono a tema WebView, ma questo componente di merda non smette di regalare sofferenza. Prima o poi vuoto il sacco... 🙃️🙂️