160 likes | 332 Views
조사된 내용 / 조사할 내용. H9 조규 봉. 차례. 1. JS -> JAVA / JAVA -> JS 방법 조사 : 2. PhoneGap Android 의 실행 방식 : 기존 박지훈씨 PPT 내용 참고 . 3. PORTING 에 필요한 내용 . 4. WebKit 내용 좀 더 찾아보기 – PLUGIN. 2. PhoneGap Android 의 실행 방식을 보면 , 2.1. JS -> JAVA 의 경우 , Android Webkit interface 를 이용한다 .
E N D
조사된 내용 / 조사할 내용 H9 조규봉
차례 • 1. JS -> JAVA / JAVA -> JS 방법 조사 : • 2. PhoneGap Android 의 실행 방식 : • 기존 박지훈씨 PPT 내용 참고. • 3. PORTING 에 필요한 내용. • 4. WebKit내용 좀 더 찾아보기 – PLUGIN
2. PhoneGap Android 의 실행 방식을 보면, • 2.1. JS -> JAVA의 경우, Android Webkit interface 를 이용한다. • 2.1.1. 사용자의 JS 파일에서 phoneGap.js 에 선언된 device 제어 함수를 이용하려 하면 • 2.1.2. phoneGap.js 에서 JAVA에 해당 함수를 요청한다. • 2.1.3. 그럼 device 제어함수의 URL의 protocol 부분이 gap: 으로 바꾼다. • 2.1.4. Android의 WebKit class( WebView )는, shouldOverrideUrlLoading() 를 이용하여 URL 요청에 대한 이벤트 핸들러를 걸 수 있다. • http://developer.android.com/resources/tutorials/views/hello-webview.html • 2.1.5. 그 외 • WebView.addJavascriptInterface () • http://devian.tistory.com/159 • 2.2. JAVA -> JS의 경우, Android Webkit interface() 를 이용한다. • 2.2.1. WebView의 loadURL() 을 이용한다.
3. PORTING 에 필요한 내용. • 3.1. BADA 에서 JAVA 를 지원하는가. • 3.1.1. BADA SDK 의 JAVA 버전이 있다. • Samsung_sdk_1.2.2.exe • http://innovator.samsungmobile.com/down/cnts/toolSDK.list.do?platformId=3&cntsId=&searchText=&sortType=0&codeType=C452&indexDirection=1&indexType=1&listLines=10 • 3.1.2. Dalvik을 BADA로 Porting 할 수 있는가? • 결론 : 힘들다. JAVA VM 과 Dalvik은 많이 다르다. ( 라이센스를 피하기 위해서 명령어부터 다시 만들었다고 ) • 3.1.3. 그렇다면, PhoneGap용 Android 소스만이라도 JAVA VM으로 Porting 해서 쓸 수 있나? • 3.1.3.1. Java VM ( SE ) / Java VM ( ME ) 의 차이. • 3.1.3.2. WebKit의 차이 : J2ME web services API : JSR 172 • http://developers.sun.com/mobility/apis/articles/wsa/ • 3.1.3.3. 결론 : WebKit이 포팅된게 아니라서, JS등의 동작 보증이 애매하다.
3.2. BADA WebKit & SDK • 3.2.1. BADA WebKit이 2.1, 2.2. 역할을 하는 interface 를 제공하는가. • 3.2.2. BADA SDK 에서 코드를 작성해야 하는데, BADA 의 library 모음집이나, tutorial, API List 등이 있는가. • 3.2.3. BADA SDK 에서 WebKit을 제어할 수 있는가. • 3.2.4. 결론 : BADA SDK 를 설치해 도움말( F1 ) 로 확인해 보면, WebKit속성과 인터페이스를 알 수 있다. • http://developer.bada.com/apis/tools/sdk/list.do?categoryID=FC02040800 • 3.2.5. Web::Controls::ILoadingListener::OnLoadingRequested() • 3.2.6. Web::Controls::Web::EvaluateJavascriptN() • 3.2.7. Web::Controls::Web::SetDownloadListener() • 3.2.8. Web::Controls::Web::LoadUrl ( )
참고 사이트 • http://forums.badadev.com/ • http://innovator.samsungmobile.com/ • http://devian.tistory.com/159 • http://par.sarang.net/369