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