Androidネイティブインターフェース

nexacro platformライブラリでサポートしているAndroidネイティブインタフェースの主要項目を説明します。動作する時点によって、起動時点で使用するインターフェイスとアプリ実行中に使用するインターフェイスに区切られます。

使用時点

Androidネイティブインターフェース

アプリの起動時

com.nexacro.NexacroUpdatorActivity

com.nexacro.NexacroResourceManager

アプリの実行時

com.nexacro.NexacroActivity

com.nexacro.NexacroEventHandler

com.nexacro.NexacroUpdatorActivity

setBootstrapURL

setBootstrapURL(url)

引数

説明

url

start_android.jsonファイルを配置したパスのURL文字列(ファイル名を含む)

ブートストラップ ファイル(start_android.json)を配置したサーバーURLの文字列の値を指定します。ブートストラップファイルにはプロジェクトの起動に必要な情報が含まれています。nexacroActivityの起動時に該当情報を伝達します。

setProjectURL

setProjectURL(url)

引数

説明

url

ジェネレートしたソースファイルを配置したパスのURLの文字列

パスを表示するURLの文字列の末尾に「¥」を付ける必要があります。nexacroActivityの起動時に該当情報を伝達します。

setStartupClass

setStartupClass(startupClass)

引数

説明

startupClass

アップデート完了後に実行するActivity

デフォルト値は nexacroActivity です。 デフォルト値を使用する場合には、メソッドを別途に呼び出しません。

com.nexacro.NexacroResourceManager

setDirect

setDirect(updatetype)

引数

説明

updatetype

Update Typeオプションをboolean値で指定

true:"Server"

false:"Update(Local+Server)" or "Local"

nexacro studioのメニューの「Deploy > Packing(Archive&Update)」を実行する際、設定したUpdate Typeに応じて値を設定します。下記のようにNexacroUpdatorActivityのonCreateで設定します。.

protected void onCreate(Bundle savedInstanceState) {
	NexacroResourceManager.createInstance(this);
	NexacroResourceManager.getInstance().setDirect(false);

setScreenid

setScreenid(screenid)

引数

説明

screenid

レイアウトで適用するScreen ID

Screen IDは、デバイスのOS、サイズ、種類によって自動的に選択されますが、特定のScreen IDを指定しようとする場合に使用するメソッドです。NexacroUpdatorActivityのonCreateで設定します。

setContentMode

setContentMode(mode)

引数

説明

mode

コンテンツモードを設定するかどうか

「true」に設定すると、コンテンツモードで動作します。

コンテンツモードで動作するかどうかを設定します。 setFDLメソッドを使用するためには、値をtrueに設定する必要があります。

setFDL

setFDL(fdlURL)

引数

説明

fdlURL

form URLを設定

"FrameBase::Form_Work.xfdl"のようにTypeDefinitionのServicesパスを指定します。

実行するFormのURLを設定します。

setKeyName

setKeyName(keyName)

引数

説明

keyName

Environment keyプロパティを設定

com.nexacro.NexacroActivity

callScript

callScript(method)

引数

説明

method

JavaScriptのnexacro platfromライブラリに含まれているApplicationオブジェクトのメソッドを文字列で指定します。

因子として渡された文字列は、JavaScriptでeval関数で処理されて実行されます。callScriptメソッドが実行される際、JavaScriptでは下記のような形式で変換されます。

NexacroActivity.getInstance().callScript("fn_test('Hello nexacro!')"); // Java
eval("nexacro.getAppication().fn_test('Hello nexacro!');"); // JavaScript

createNexacroApplication

createNexacroApplication([key])

引数

説明

key

NexacroApplicationを生成する際、名前(key)を設定します。

値を設定しない場合は、内部ライブラリで任意で指定します。

getNexacroApplication

getNexacroApplication()

NexacroActivityが所有したApplicationを返します。

com.nexacro.NexacroEventHandler

onUserNotify

onUserNotify(int nNotifyID, String strMessage)

メソッド

説明

nNotifyID

nexacro platfromのuserNotifyメソッドから渡されたID値

strMessage

処理する文字列

callScriptメソッドがAndroidからnexacro platfromのスクリプトに値を伝達するのであれば、onUserNotifyはnexacro platfromのスクリプトからAndroidに値を伝達します。nexacro platfromのuserNotifyメソッドを実行する際、Androidにおいて下記のような形式で値を取得して処理します。

nexacro.getEnvironment().userNofity(100, "HelloWorld"); // JavaScript
public class UserNotify implements NexacroEventHandler {
	public UserNotify() {
		if(NexacroActivity.getInstance() != null)
			NexacroActivity.getInstance().setNexacroEventListener(this);
	}
	
	@Override
	public void onUserNotify(int nNotifyID, String strMessage) {
		Log.d("UserNotify", "onUserNotify nNotifyID : " + nNotifyID + " strMessage : " + strMessage);
	}
} // Java