NativeScript - 模块



一个 NativeScript 模块包含一组相关的功能,打包成单个库。让我们学习 NativeScript 框架提供的模块。

它包含 NativeScript 框架的核心功能。让我们在本章中了解核心模块。

应用

Application 包含移动应用程序的平台特定实现。下面定义了一个简单的核心模块:

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

控制台

Console 模块用于记录消息。它具有以下方法:

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

application-settings

application-settings 模块包含管理应用程序设置的方法。要添加此模块,我们需要添加以下代码:

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

application-setting 中的一些可用方法如下:

  • setBoolean(key: string, value: boolean) - 设置布尔对象

  • setNumber(key: string, value: number) - 设置数字对象

  • setString(key: string, value: string) - 设置字符串对象

  • getAllKeys() - 包含所有存储的键

  • hasKey(key: string) - 检查键是否存在

  • clear - 清除存储的值

  • remove - 基于键删除任何条目。

使用应用程序设置的一个简单示例如下:

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

此模块用于处理http请求和响应。要在您的应用程序中添加此模块,请添加以下代码:

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

我们可以使用以下方法发送数据:

getString − 它用于发出请求并从 URL 下载数据作为字符串。其定义如下:

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

getJSON − 它用于访问 JSON 中的数据。其定义如下:

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

getImage − 从指定的 URL 下载内容并返回 ImageSource 对象。其定义如下:

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

getFile − 它有两个参数 URL 和文件路径。

  • URL − 下载数据。

  • 文件路径 − 将 URL 数据保存到文件。其定义如下:

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

request − 它具有 options 参数。它用于请求选项并返回 HttpResponse 对象。其定义如下:

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

Image-source

image-source 模块用于保存图像。我们可以使用以下语句添加此模块:

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

如果要从资源加载图像,请使用以下代码:

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

要从本地文件添加图像,请使用以下命令:

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

要将图像保存到文件路径,请使用以下命令:

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

计时器

此模块用于在特定时间间隔执行代码。要添加它,我们需要使用require

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

它基于两种方法:

setTimeout − 用于延迟执行。它以毫秒表示。

setInterval − 用于以特定间隔重复应用。

跟踪

此模块对于调试很有用。它提供日志信息。此模块可以表示为:

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

如果要在您的应用程序中启用它,请使用以下命令:

traceModule.enable();

ui/image-cache

image-cache 模块用于处理图像下载请求和缓存下载的图像。此模块可以表示如下:

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

连接性

此模块用于接收已连接网络的连接信息。它可以表示为:

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

功能模块

功能模块包括许多特定于系统/平台的模块。一些重要的模块如下:

platform − 用于显示有关您的设备的信息。它可以定义为如下所示:

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

fps-meter − 用于捕获每秒帧数。它可以定义为如下所示:

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

file-system − 用于处理您的设备文件系统。其定义如下:

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

ui/gestures − 用于处理 UI 手势。

UI 模块

UI 模块包含 UI 组件及其相关功能。一些重要的 UI 模块如下:

  • 框架

  • 页面

  • 颜色

  • text/formatted-string

  • xml

  • 样式

  • 动画

广告