View
1.501
Download
0
Embed Size (px)
Citation preview
PhoneGap for Badaresearch
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 파악