넥사크로 라이브러리에서 지원하는 안드로이드 네이티브 인터페이스 중 주요 항목을 설명합니다. 동작하는 시점에 따라 구동 시점에 사용하는 인터페이스와 앱 실행 중 사용하는 인터페이스로 구분할 수 있습니다.
사용 시점 | 안드로이드 네이티브 인터페이스 |
---|---|
앱 구동 시 | 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" |
넥사크로 스튜디오 메뉴 [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는 디바이스의 운영체제, 크기, 종류에 따라 자동 선택되는데, 특정 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 | 자바스크립트 넥사크로 라이브러리에 포함된 Application 오브젝트의 메소드를 문자열로 지정합니다. |
인자로 전달된 문자열은 자바스크립트에서 eval 함수로 처리되어 실행됩니다. callScript 메소드가 실행될 때 자바스크립트에서는 아래와 같은 형식으로 변환됩니다.
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)
method | 설명 |
---|---|
nNotifyID | 넥사크로 userNotify 메소드에서 전달한 ID값 |
strMessage | 처리할 문자열 |
callScript 메소드가 안드로이드에서 넥사크로 스크립트로 값을 전달하는 것이라면 onUserNotify는 넥사크로 스크립트에서 안드로이드로 값을 전달합니다. 넥사크로 userNotify 메소드 실행 시 안드로이드에서 아래와 같은 형식으로 값을 받아 처리합니다.
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