Codificare stringhe in Nativescript
In queste ultime settimana mi sto studiando Nativescript, e con molta soddisfazione per ora!
Una delle problematiche che ho risontrato è come codificare / decodificare stringhe in BASE64.
Questo perchè in Javascript puro avrei usato window.btoa e window.atob; ma non disponibili in Nativescript, in quanto "non esiste" l'oggetto window.
Ma è possibile usare direttamente il codice della piattaforma che stiamo usando; quindi se siamo in Android (esempio che vedremo) possiamo usare direttamente codice Java.
Ecco un esempio:
function pageLoaded(args) {
var page = args.object;
var string = new java.lang.String("CIAO MONDO!");
var encodeString = android.util.Base64.encodeToString(string.getBytes(), android.util.Base64.DEFAULT);
console.log(encodeString);
}
exports.pageLoaded = pageLoaded;
Non è richiesto nessun modulo aggiuntivo.
Come vedete il codice che stiamo scrivendo è Java, come il nome del package completo ovviamente.
Se stiamo sviluppando in ambito iOS, dobbiamo verificare come eseguire questa operazione in Objective-C o Swift.
Qui la documentazione su come accedere alle API native.
Enjoy!
javascript nativescript btoa atob java android base64
Commentami!