コアコンセプト / ユーティリティー

Utils

utils/utilsモジュールが提供する機能を使用するには、まずモジュールを必要/インポートします

const utilsModule = require("tns-core-modules/utils/utils");
import * as utils from "tns-core-modules/utils/utils";

isFileOrResourcePath()関数

指定されたpathがリソースまたはローカルファイルを指しているかどうかを確認します。この関数は、次のboolean値を返します。

var path = "res://icon";
var value = utilsModule.isFileOrResourcePath(path);
const path: string  = "res://icon";
const value: boolean = utils.isFileOrResourcePath(path);

isDataURI()関数

指定されたURIがdata URIかどうかをチェックします。

var url = "<url>";
var value = utilsModule.isDataURI(url);
const url: string = "<url>";
const value:boolean = utils.isDataURI(url);

openUrl()関数

デバイス上のデフォルトのブラウザでURLを開きます

utilsModule.openUrl("https://docs.nativescript.org/core-concepts/utils")
utils.openUrl("https://docs.nativescript.org/core-concepts/utils")

escapeRegexSymbols()関数

有効な正規表現を作成するために、文字列内の特殊な正規表現記号(.,*,^,$,など)をエスケープします。

var samplestring = "All of these should be escaped: ^ $ * ";
var newString = utilsModule.escapeRegexSymbols(samplestring);
var samplestring: string = "All of these should be escaped: ^ $ * ";
var newString: string = utils.escapeRegexSymbols(samplestring);

convertString()関数

文字列値を数値またはboolean値に変換します。

var stringToBoolean = "true";
var booleanValue = utilsModule.convertString(stringToBoolean);

var stringToNumber = "23";
var numberValue = utilsModule.convertString(stringToNumber);
const stringToBoolean :string = "true";
const booleanValue :boolean = utils.convertString(stringToBoolean);

const stringToNumber: string = "23";
const numberValue :number = utils.convertString(stringToNumber);

getDisplayDensity()関数

デバイスの表示密度を返します。

var displayDensity = utilsModule.layout.getDisplayDensity();
const displayDensity = utils.layout.getDisplayDensity();

toDevicePixels()関数

値をデバイスに依存しないピクセルからデバイスピクセルに変換します。

var devicePixels = utilsModule.layout.toDevicePixels(<dip>);
const devicePixels = utils.layout.toDevicePixels(<dip>);

toDeviceIndependentPixels()関数

値をデバイスに依存しないピクセルに変換します。

var deviceIndependentPixels = utilsModule.layout.toDeviceIndependentPixels(<px>);
const deviceIndependentPixels = utils.layout.toDeviceIndependentPixels(<px>);

round()メソッド

レイアウトで使用される値を丸めます。

var value = utilsModule.layout.round(<number_value>);
var value = utils.layout.round(<number_value>);
123.56pxと入力した場合、返される値は124pxになります。

executeOnMainThread()メソッド

このメソッドは、現在のスレッドがメインスレッドであるかどうかをチェックします。渡された関数があればそれを直接呼び出し、そうでなければメインスレッドにディスパッチします。

utilsModule.executeOnMainThread(()=>{
	//......
})
utilsModule.executeOnMainThread(()=>{
	//......
})

mainThreadify()メソッド

このメソッドは、メインスレッドで提供された関数を実行する関数ラッパーを返します。ラッパーは元の関数のように動作し、すべての引数を渡しますが、戻り値は破棄します。

utilsModule.executeOnMainThread(()=>{
	//......
})
utilsModule.mainThreadify(()=>{
	//......
})

プラットフォーム固有の方法

アンドロイド

getApplication()関数

ネイティブAndroidアプリケーションのインスタンスを返します。返される値の型は"android.app.Application"です。

var application = utilsModule.ad.getApplication();
const application = utils.ad.getApplication();

getApplicationContext()関数

Androidアプリケーションコンテキストを返します。返される値の型は"android.content.Context"になります。

var context = utilsModule.ad.getApplicationContext();
const context = utils.ad.getApplicationContext();

getInputMethodManager()関数

ネイティブAndroidインプットメソッドマネージャーのインスタンスを返します。返される値は"android.view.inputmethod.InputMethodManager"になります。

var inputMethodManager = utilsModule.ad.getInputMethodManager();
const inputMethodManager = utils.ad.getInputMethodManager();

showSoftInput()関数

特定の要素のキーボードを表示します。

<TextField id="textfieldid" hint="Target field" />
<Button text="Show keyboard" tap="showKeyboard" class="btn btn-primary btn-active"/>
function showKeyboard(args) {
	var button = args.object;
	var page = button.page;
	var textfield = page.getViewById("textfieldid");
	utilsModule.ad.showSoftInput(textfield.android);
}
exports.showKeyboard = showKeyboard;
import { Page } from "tns-core-modules/ui/page";
import { TextField } from "tns-core-modules/ui/text-field";
import { Button } from "tns-core-modules/ui/button"

export function showKeyboard(args:EventData){
	var button: Button = <Button>args.object;
	var page: Page = <Page>button.page;
	var textfield: TextField = <TextField> page.getViewById("textfieldid");
	utils.ad.showSoftInput(textfield.android);
}

dismissSoftInput()関数

ソフト入力方式(通常はソフトキーボード)を非表示にします。

<TextField id="textfieldid" hint="Target field" />
<Button text="Hide keyboard" tap="dismissSoftInput" class="btn btn-primary btn-active"/>
function dismissSoftInput(args) {
	utilsModule.ad.dismissSoftInput();
}
exports.dismissSoftInput = dismissSoftInput;
export function dismissSoftInput(args: EventData){
	utils.ad.dismissSoftInput();
}

stringArrayToStringSet()関数

文字列配列を文字列ハッシュセットに変換します。

var stringArr = ["a", "b", "c"]
var stringSet = utilsModule.ad.collections.stringArrayToStringSet(stringArr);
const stringArr = ["a", "b", "c"]
const stringSet = utils.ad.collections.stringArrayToStringSet(stringArr);

stringSetToStringArray()関数

文字列ハッシュセットを文字列の配列に変換します

var hashset = new java.util.HashSet();
var string1 = new java.lang.String("item1");
var string2 = new java.lang.String("item2");
var string3 = new java.lang.String("item3");

hashset.add(string1);
hashset.add(string2);
hashset.add(string3);

var stringArray = utilsModule.ad.collections.stringSetToStringArray(hashset);
const hashset = new java.util.HashSet();
const string1 = new java.lang.String("item1");
const string2 = new java.lang.String("item2");
const string3 = new java.lang.String("item3");

hashset.add(string1);
hashset.add(string2);
hashset.add(string3);

var stringArray = utils.ad.collections.stringSetToStringArray(hashset);

getDrawableId()関数

指定されたリソース名から描画可能なIDを返します

var drawableId = utilsModule.ad.resources.getDrawableId("icon");
const drawableId:number = utils.ad.resources.getDrawableId("icon");

getStringId()関数

リソースのnameを使用して、文字列のIDを返します。

var stringId = utilsModule.ad.resources.getStringId("resource_string_name");
const stringId: string = utils.ad.resources.getStringId("resource_string_name");

getId()関数

リソースのIDを返します。リソースタイプと名前の文字列を渡します。例::drawable/<resource_name>, :string/<resource_name>

var id = utilsModule.ad.resources.getId("resource_name");
const id: number = utils.ad.resources.getId("resource_name");

getPalleteColor()関数

リソースの色名を使用して、現在のテーマから色を返します。

var context = utilsModule.ad.getApplicationContext();
var currentThemeColor = utilsModule.ad.resources.getPalleteColor("resource_color_name", context);
const context = utils.ad.getApplicationContext();
const currentThemeColor: number = utils.ad.resources.getPalleteColor("resource_color_name", context);

iOS

jsArrayToNSArray()関数

JavaScript配列をNSArrayに変換します

var jsArray = ["item1", "item2", "item3"];
var nsarray = utilsModule.ios.collections.jsArrayToNSArray(jsArray);
const jsArray:Array<string> = ["item1", "item2", "item3"];
const nsarray = utils.ios.collections.jsArrayToNSArray(jsArray);

nsArrayToJSArray()関数

NSArrayをJavaScript配列に変換します。

var nsarray = new NSArray(["item1", "item2", "item3"]);
var jsarray = utilsModule.ios.collections.nsArrayToJSArray(nsarray);
const nsarray = new NSArray(["item1", "item2", "item3"]);
const jsarray: Array<any> = utils.ios.collections.nsArrayToJSArray(nsarray);

isLandscape()関数

現在の向きが横向きであればtrueを返します。

var value = utilsModule.ios.isLandscape();
const value: boolean = utils.ios.isLandscape()

MajorVersion()関数

iOSデバイスのメジャーバージョンをnumberで返します(たとえば、8.1は8を返します)。

console.log("iOS MajorVersion "+ utilsModule.ios.MajorVersion);
console.log("iOS MajorVersion "+ utils.ios.MajorVersion);

openFile()関数

ファイルパスを使用しながら、関連付けられたアプリケーションでファイルを開きます。

utilsModule.ios.openFile(<file_path>);
utils.ios.openFile(<file_path>);
入門

コアコンセプト

ユーザーインターフェース

ツール

ハードウェアアクセス

プラグインの開発

リリース

アプリテンプレート

パフォーマンスの最適化

フレームワークモジュール

ガイド

サポートを受ける

トラブルシューティング

Siedkick