NativeScript - Módulos
Un módulo NativeScript contiene un conjunto de funcionalidades relacionadas empaquetadas como una sola biblioteca. Aprendamos los módulos proporcionados por el marco NativeScript.
Contiene funcionalidades centrales del marco NativeScript. Entendamos los módulos centrales de este capítulo.
Solicitud
La aplicación contiene la implementación específica de la plataforma de la aplicación móvil. El módulo básico simple se define a continuación:
const applicationModule = require("tns-core-modules/application");
Consola
El módulo de consola se utiliza para registrar mensajes. Tiene los siguientes métodos:
console.log("My FirstApp project");
console.info("Native apps!");
console.warn("Warning message!");
console.error("Exception occurred");
Configuraciones de la aplicación
El módulo de configuración de la aplicación contiene un método para administrar la configuración de la aplicación. Para agregar este módulo, necesitamos agregar el siguiente código:
const appSettings = require("tns-core-modules/application-settings");
Algunos métodos disponibles en la configuración de la aplicación son los siguientes:
setBoolean (clave: cadena, valor: booleano) - establecer objeto booleano
setNumber (clave: cadena, valor: número) - objeto de número de conjunto
setString (clave: cadena, valor: cadena) - establece el objeto cadena
getAllKeys (): contiene todas las claves almacenadas
hasKey (clave: cadena): comprueba si hay una clave presente o no
clear - borra los valores almacenados
eliminar: elimina cualquier entrada basada en la clave.
Un ejemplo simple que usa la configuración de la aplicación es el siguiente:
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
Este módulo se utiliza para manipular httpsolicitud y respuesta. Para agregar este módulo en su aplicación, agregue el siguiente código:
const httpModule = require("tns-core-modules/http");
Podemos enviar datos utilizando los siguientes métodos:
getString- Se utiliza para realizar solicitudes y descargar los datos de la URL como una cadena. Se define a continuación:
httpModule.getString("https://.../get").then(
(r) => {
viewModel.set("getStringResult", r);
}, (e) =>
{
}
);
getJSON- Se utiliza para acceder a datos de JSON. Se define a continuación:
httpModule.getJSON("https://.../get").then((r) => {
}, (e) => {
});
getImage: Descarga el contenido de la URL especificada y devuelve el objeto ImageSource. Se define a continuación:
httpModule.getImage("https://.../image/jpeg").then((r) => {
}, (e) => {
});
getFile - Tiene dos argumentos URL y ruta de archivo.
URL - descarga los datos.
File path- guardar los datos de la URL en el archivo. Se define a continuación:
httpModule.getFile("https://").then((resultFile) => {
}, (e) => {
});
request- Tiene argumento de opciones. Se utiliza para solicitar opciones y devolver el objeto HttpResponse. Se define a continuación:
httpModule.request({
url: "https://.../get",
method: "GET"
}).then((response) => {
}, (e) => {
});
Fuente de imagen
El módulo de fuente de imagen se utiliza para guardar la imagen. Podemos agregar este módulo usando la siguiente declaración:
const imageSourceModule = require("tns-core-modules/image-source");
Si desea cargar imágenes desde el recurso, use el siguiente código:
const imgFromResources = imageSourceModule.fromResource("icon");
Para agregar una imagen desde un archivo local, use el siguiente comando:
const folder = fileSystemModule.knownFolders.currentApp();
const path = fileSystemModule.path.join(folder.path, "images/sample.png");
const imageFromLocalFile = imageSourceModule.fromFile(path);
Para guardar la imagen en la ruta del archivo, use el siguiente comando:
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!");
}
Temporizador
Este módulo se utiliza para ejecutar código en intervalos de tiempo específicos. Para agregar esto, necesitamos usarrequire -
const timerModule = require("tns-core-modules/timer");
Se basa en dos métodos:
setTimeout- Se utiliza para retrasar la ejecución. Se representa en milisegundos.
setInterval - Se utiliza para aplicar de forma recurrente a intervalos específicos.
Rastro
Este módulo es útil para depurar. Da la información de registro. Este módulo se puede representar como:
const traceModule = require("tns-core-modules/trace");
Si desea habilitar en su aplicación, use el siguiente comando:
traceModule.enable();
ui / image-cache
El módulo de caché de imágenes se utiliza para manejar solicitudes de descarga de imágenes y almacena en caché las imágenes descargadas. Este módulo se puede representar como se muestra a continuación:
const Cache = require("tns-core-modules/ui/image-cache").Cache;
conectividad
Este módulo se utiliza para recibir la información de conexión de la red conectada. Puede representarse como:
const connectivityModule = require("tns-core-modules/connectivity");
Módulos de funcionalidad
Los módulos de funcionalidad incluyen muchos módulos específicos del sistema / plataforma. Algunos de los módulos importantes son los siguientes:
platform- Se utiliza para mostrar la información sobre su dispositivo. Se puede definir como se indica a continuación:
const platformModule = require("tns-core-modules/platform");
fps-meter- Se utiliza para capturar fotogramas por segundo. Se puede definir como se indica a continuación:
const fpsMeter = require("tns-core-modules/fps-meter");
file-system- Se utiliza para trabajar con el sistema de archivos de su dispositivo. Se define a continuación:
const fileSystemModule = require("tns-core-modules/file-system");
ui/gestures - Se usa para trabajar con gestos de UI.
Módulo de interfaz de usuario
El módulo UI incluye el componente UI y su funcionalidad relacionada. Algunos de los módulos importantes de la interfaz de usuario son los siguientes:
frame
page
color
text/formatted-string
xml
styling
animation