NativeScript - Moduli
Un modulo NativeScript contiene una serie di funzionalità correlate impacchettate come singola libreria. Impariamo i moduli forniti dal framework NativeScript.
Contiene le funzionalità principali del framework NativeScript. Cerchiamo di capire i moduli principali in questo capitolo.
Applicazione
L'applicazione contiene l'implementazione specifica della piattaforma dell'applicazione mobile. Il modulo principale semplice è definito di seguito:
const applicationModule = require("tns-core-modules/application");
Console
Il modulo della console viene utilizzato per registrare il messaggio. Ha i seguenti metodi:
console.log("My FirstApp project");
console.info("Native apps!");
console.warn("Warning message!");
console.error("Exception occurred");
impostazioni dell'applicazione
Il modulo delle impostazioni dell'applicazione contiene il metodo per gestire le impostazioni dell'applicazione. Per aggiungere questo modulo, dobbiamo aggiungere il seguente codice:
const appSettings = require("tns-core-modules/application-settings");
Alcuni metodi disponibili nell'impostazione dell'applicazione sono i seguenti:
setBoolean (key: string, value: boolean) - imposta l'oggetto booleano
setNumber (key: string, value: number) - imposta l'oggetto numero
setString (key: string, value: string) - imposta l'oggetto stringa
getAllKeys (): contiene tutte le chiavi memorizzate
hasKey (key: string) - controlla se una chiave è presente o meno
clear: cancella i valori memorizzati
rimuovi: rimuove qualsiasi voce in base alla chiave.
Un semplice esempio di utilizzo delle impostazioni dell'applicazione è il seguente:
function onNavigatingTo(args) {
appSettings.setBoolean("isTurnedOff", false);
appSettings.setString("name", "nativescript");
appSettings.setNumber("locationX", 54.321);
const isTurnedOn = appSettings.getBoolean("isTurnedOn");
const username = appSettings.getString("username");
const locationX = appSettings.getNumber("locationX");
// Will return "not present" if there is no value for "noKey"
const someKey = appSettings.getString("noKey", "not present");
}
exports.onNavigatingTo = onNavigatingTo;
function onClear() {
// Removing a single entry via its key name
appSettings.remove("isTurnedOff");
// Clearing the whole settings
appSettings.clear();
}
http
Questo modulo viene utilizzato per la gestione httprichiesta e risposta. Per aggiungere questo modulo nella tua applicazione, aggiungi il seguente codice:
const httpModule = require("tns-core-modules/http");
Possiamo inviare i dati utilizzando i seguenti metodi:
getString- Viene utilizzato per effettuare richieste e scaricare i dati dall'URL come stringa. È definito di seguito:
httpModule.getString("https://.../get").then(
(r) => {
viewModel.set("getStringResult", r);
}, (e) =>
{
}
);
getJSON- Viene utilizzato per accedere ai dati da JSON. È definito di seguito:
httpModule.getJSON("https://.../get").then((r) => {
}, (e) => {
});
getImage- scarica il contenuto dall'URL specificato e restituisce l'oggetto ImageSource. È definito di seguito:
httpModule.getImage("https://.../image/jpeg").then((r) => {
}, (e) => {
});
getFile - Ha due argomenti URL e percorso del file.
URL - scarica i dati.
File path- salva i dati dell'URL nel file. È definito di seguito:
httpModule.getFile("https://").then((resultFile) => {
}, (e) => {
});
request- Ha argomenti di opzioni. Viene utilizzato per richiedere opzioni e restituire l'oggetto HttpResponse. È definito di seguito:
httpModule.request({
url: "https://.../get",
method: "GET"
}).then((response) => {
}, (e) => {
});
Fonte immagine
Il modulo di origine dell'immagine viene utilizzato per salvare l'immagine. Possiamo aggiungere questo modulo usando la seguente dichiarazione:
const imageSourceModule = require("tns-core-modules/image-source");
Se desideri caricare immagini dalla risorsa, utilizza il codice seguente:
const imgFromResources = imageSourceModule.fromResource("icon");
Per aggiungere un'immagine dal file locale, utilizzare il comando seguente:
const folder = fileSystemModule.knownFolders.currentApp();
const path = fileSystemModule.path.join(folder.path, "images/sample.png");
const imageFromLocalFile = imageSourceModule.fromFile(path);
Per salvare l'immagine nel percorso del file, utilizzare il comando seguente:
const img = imageSourceModule.fromFile(imagePath);
const folderDest = fileSystemModule.knownFolders.documents();
const pathDest = fileSystemModule.path.join(folderDest.path, "sample.png");
const saved = img.saveToFile(pathDest, "png"); if (saved) {
console.log(" sample image saved successfully!");
}
Timer
Questo modulo viene utilizzato per eseguire codice a intervalli di tempo specifici. Per aggiungere questo, dobbiamo usarerequire -
const timerModule = require("tns-core-modules/timer");
Si basa su due metodi:
setTimeout- Viene utilizzato per ritardare l'esecuzione. È rappresentato come millisecondi.
setInterval - Viene utilizzato per applicare ricorrenti a intervalli specifici.
Traccia
Questo modulo è utile per il debug. Fornisce le informazioni di registrazione. Questo modulo può essere rappresentato come:
const traceModule = require("tns-core-modules/trace");
Se vuoi abilitare nella tua applicazione, usa il comando seguente:
traceModule.enable();
ui / image-cache
Il modulo image-cache viene utilizzato per gestire le richieste di download di immagini e memorizza nella cache le immagini scaricate. Questo modulo può essere rappresentato come mostrato di seguito:
const Cache = require("tns-core-modules/ui/image-cache").Cache;
connettività
Questo modulo viene utilizzato per ricevere le informazioni di connessione della rete connessa. Può essere rappresentato come:
const connectivityModule = require("tns-core-modules/connectivity");
Moduli di funzionalità
I moduli di funzionalità includono molti moduli specifici per sistema / piattaforma. Alcuni dei moduli importanti sono i seguenti:
platform- Utilizzato per visualizzare le informazioni sul tuo dispositivo. Può essere definito come indicato di seguito:
const platformModule = require("tns-core-modules/platform");
fps-meter- Utilizzato per acquisire fotogrammi al secondo. Può essere definito come indicato di seguito:
const fpsMeter = require("tns-core-modules/fps-meter");
file-system- Utilizzato per lavorare con il file system del dispositivo. È definito di seguito:
const fileSystemModule = require("tns-core-modules/file-system");
ui/gestures - Utilizzato per lavorare con i gesti dell'interfaccia utente.
Modulo UI
Il modulo UI include il componente UI e le relative funzionalità. Alcuni degli importanti moduli dell'interfaccia utente sono i seguenti:
frame
page
color
text/formatted-string
xml
styling
animation