Parkjihoon phonegap research_for_bada

Preview:

Citation preview

PhoneGap for Badaresearch

박지훈wlgns823@gmail.com

http://webdevmobile.com

http://code.google.com/p/badaphonegap

PhoneGap-Plugins

http://wiki.phonegap.com/w/page/36752779/PhoneGap-Plugins

Install

Step 1: Installing the Prerequisite Software

• Eclipse• Java JDK• Android SDK• ADT Plug-in for Eclipse• Apache ANT • Ruby (Ruby187)• Git Bash

Step 2: Confirm Environment Variables

• ANDROID_HOME– D:/android-sdk-windows

• ANT_HOME– D:\apache-ant-1.8.1

• JAVA_HOME– C:\Program Files\Java\jdk1.6.0_20

• Path– C:\Ruby191\bin;– D:\apache-ant-1.8.1\bin;– C:\Program Files\Java\jdk1.6.0_20\bin;– D:\android-sdk-windows\tools

– E:\JeeHoon\phonegap-android\bin

Step 3. Download the PhoneGap Source Code

• http://github.com/phonegap/phonegap-android

Step 4. Build the Example PhoneGap App

• ruby bin/droidgap create [path_of_application]– ruby bin/droidgap create example

• ruby bin/droidgap gen …

Step 5. Importing Your Example App into Eclipse

Project

JS -> Java

JS -> Java

JS -> Java

Java -> JS

Java -> JS

WebView

• android.webkit.WebView– http://developer.android.com/reference/android/webkit/WebVie

w.html

WebViewA WebView has several customization points where you can add your own behavior. These are:

-Creating and setting a WebChromeClient subclass. This class is called when something that might impact a browser UI happens, for instance, progress updates and JavaScript alerts are sent here (see Debugging Tasks).

-Creating and setting a WebViewClient subclass. It will be called when things happen that impact the rendering of the content, eg, errors or form submissions. You can also intercept URL loading here (via shouldOverrideUrlLoading()).

-Modifying the WebSettings, such as enabling JavaScript with setJavaScriptEnabled().

-Adding JavaScript-to-Java interfaces with the addJavascriptInterface(Object, String) method. This lets you bind Java objects into the WebView so they can be controlled from the web pages JavaScript.

Stack

PhoneGap (Native)

Android

Device

WebView

Device Device

WebChromeClient

WebViewClient

PhoneGap (JavaScript)

Application

PhoneGap (Native)

Bada

Device

???

Device Device

??? ???

PhoneGap (JavaScript)

Application

JavaScript → Bada….

Bada → JavaScriptOsp::Base::String* Osp::Web::Controls::Web::EvaluateJavascriptN ( const Osp::Base::String &  scriptCode  )  const

BONDI

요약• phonegap.0.9.4.js

– Library on js– js 파일은 모든 플랫폼 동일할 것으로 생각됨

• Com.phonegap package– Library on anroid– android.webkit.WebView 를 사용하여 JS 와 Java 사이의

interface 를 제공하는 것으로 생각됨• Customization by using WebChromeClient, WebViewClient

• 주요 예상 작업– Bada 향 WebView 와 같은 클래스 파악– Phonegap.0.9.4.js 에서 native 에 필요로하는 interface 파악