NativeScript - Módulos

Um Módulo NativeScript contém um conjunto de funcionalidades relacionadas empacotadas como uma única biblioteca. Vamos aprender os módulos fornecidos pela estrutura NativeScript.

Ele contém as principais funcionalidades da estrutura NativeScript. Vamos entender os módulos principais deste capítulo.

Inscrição

O aplicativo contém uma implementação específica da plataforma do aplicativo móvel. Módulo de núcleo simples é definido abaixo -

const applicationModule = require("tns-core-modules/application");

Console

O módulo do console é usado para registrar mensagens. Possui os seguintes métodos -

console.log("My FirstApp project"); 
console.info("Native apps!"); 
console.warn("Warning message!"); 
console.error("Exception occurred");

configurações do aplicativo

O módulo de configurações do aplicativo contém um método para gerenciar as configurações do aplicativo. Para adicionar este módulo, precisamos adicionar o seguinte código -

const appSettings = require("tns-core-modules/application-settings");

Alguns métodos disponíveis na configuração do aplicativo são os seguintes -

  • setBoolean (key: string, value: boolean) - definir objeto booleano

  • setNumber (chave: string, valor: número) - definir objeto de número

  • setString (chave: string, valor: string) - define o objeto string

  • getAllKeys () - contém todas as chaves armazenadas

  • hasKey (key: string) - verifique se uma chave está presente ou não

  • limpar - limpa os valores armazenados

  • remove - remove qualquer entrada com base na chave.

Um exemplo simples usando a configuração do aplicativo é o seguinte -

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 é usado para lidar com httppedido e resposta. Para adicionar este módulo em seu aplicativo, adicione o seguinte código -

const httpModule = require("tns-core-modules/http");

Podemos enviar dados usando os seguintes métodos -

getString- É usado para fazer solicitações e baixar os dados da URL como string. É definido abaixo -

httpModule.getString("https://.../get").then(
   (r) => { 
      viewModel.set("getStringResult", r); 
   }, (e) => 
   { 
   }
);

getJSON- É usado para acessar dados de JSON. É definido abaixo -

httpModule.getJSON("https://.../get").then((r) => { 
}, (e) => { 
});

getImage- baixa o conteúdo do URL especificado e retorna o objeto ImageSource. É definido abaixo -

httpModule.getImage("https://.../image/jpeg").then((r) => { 
}, (e) => { 
});

getFile - Possui dois argumentos URL e caminho de arquivo.

  • URL - baixa os dados.

  • File path- salvar dados de URL no arquivo. É definido abaixo -

httpModule.getFile("https://").then((resultFile) => { 
}, (e) => { 
});

request- Possui argumento de opções. É usado para solicitar opções e retornar o objeto HttpResponse. É definido abaixo -

httpModule.request({ 
   url: "https://.../get", 
   method: "GET" 
}).then((response) => { 
}, (e) => { 
});

Fonte da imagem

O módulo de origem da imagem é usado para salvar a imagem. Podemos adicionar este módulo usando a declaração abaixo -

const imageSourceModule = require("tns-core-modules/image-source");

Se você deseja carregar imagens do recurso, use o código abaixo -

const imgFromResources = imageSourceModule.fromResource("icon");

Para adicionar imagem de arquivo local, use o comando abaixo -

const folder = fileSystemModule.knownFolders.currentApp(); 
const path = fileSystemModule.path.join(folder.path, "images/sample.png"); 
const imageFromLocalFile = imageSourceModule.fromFile(path);

Para salvar a imagem no caminho do arquivo, use o comando abaixo -

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!"); 
}

Cronômetro

Este módulo é usado para executar código em intervalos de tempo específicos. Para adicionar isso, precisamos usarrequire -

const timerModule = require("tns-core-modules/timer");

É baseado em dois métodos -

setTimeout- É usado para atrasar a execução. É representado como milissegundos.

setInterval - É usado para aplicar recorrentes em intervalos específicos.

Vestígio

Este módulo é útil para depuração. Ele fornece as informações de registro. Este módulo pode ser representado como -

const traceModule = require("tns-core-modules/trace");

Se você deseja habilitar em seu aplicativo, use o comando abaixo -

traceModule.enable();

ui / image-cache

O módulo de cache de imagem é usado para lidar com solicitações de download de imagem e imagens baixadas em cache. Este módulo pode ser representado conforme mostrado abaixo -

const Cache = require("tns-core-modules/ui/image-cache").Cache;

conectividade

Este módulo é usado para receber as informações de conexão da rede conectada. Pode ser representado como -

const connectivityModule = require("tns-core-modules/connectivity");

Módulos de Funcionalidade

Os módulos de funcionalidade incluem muitos módulos específicos do sistema / plataforma. Alguns dos módulos importantes são os seguintes -

platform- Usado para exibir as informações sobre o seu dispositivo. Pode ser definido conforme abaixo -

const platformModule = require("tns-core-modules/platform");

fps-meter- Usado para capturar quadros por segundo. Pode ser definido conforme abaixo -

const fpsMeter = require("tns-core-modules/fps-meter");

file-system- Usado para trabalhar com o sistema de arquivos do seu dispositivo. É definido abaixo -

const fileSystemModule = require("tns-core-modules/file-system");

ui/gestures - Usado para trabalhar com gestos de interface do usuário.

Módulo UI

O módulo de UI inclui o componente de UI e sua funcionalidade relacionada. Alguns dos módulos de IU importantes são os seguintes -

  • frame

  • page

  • color

  • text/formatted-string

  • xml

  • styling

  • animation