Ëæ×ÅGoogleµÄAndroidÊÖ»úºÍÆ»¹ûµÄiPhoneÊÖ»úµÄÖð½¥ÆÕ¼°£¬Ô½À´Ô½¶à¿ª·¢Õß¼ÓÈëµ½ÒÆ¶¯Ó¦Óÿª·¢µÄ´ó¾üµ±ÖС£Ä¿Ç°Òƶ¯ÖÕ¶ËÖеĹÚÑǾüAndroid£¬Ó¦ÓÃÊÇ»ùÓÚJavaÓïÑÔ»ù´¡ÉϽøÐпª·¢µÄ£»¶øÆ»¹û¹«Ë¾µÄiPhoneÔòÊÇ»ùÓÚCÓïÑÔ¿ª·¢µÄ¡£Èç¹û¿ª·¢Õß±àдµÄÓ¦ÓÃÐèҪͬʱÔÚ²»Í¬µÄÒÆ¶¯É豸ÉÏÔËÐеϰ£¬Ôò±ØÐëÒªÕÆÎÕ¶àÖÖ¿ª·¢ÓïÑÔ£¬ÕâÒѾ³ÉΪ¿ª·¢ÍŶӵÄÒ»´óÄÑÌ⣬ÔÚ51CTOר·Ã¹úÄÚÖøÃûÒÆ¶¯Èí¼þÉÐÓʵÄÊ×ϯ¼Ü¹¹Ê¦Ê±Ò²Ìáµ½¹ý¿çƽ̨Èí¼þ¿ª·¢µÄÀ§ÄÑ¡£¶øÎªÁ˽øÒ»²½¼ò»¯Òƶ¯Ó¦Óõıà³Ì£¬ºÜ¶à¹«Ë¾ÍƳö½â¾ö·½°¸£¬AdobeÍÆ³öµÄ¡°AIR
for Android¡±£¬Ê¹FlashΪAndroid¿ª·¢±¾µØÓ¦ÓóÉΪ¿ÉÄÜ¡£¶øNitobi¹«Ë¾ÍÆÒ²³öÁËÒ»Ì׿ªÔ´µÄÒÆ¶¯Ó¦Óýâ¾ö·½°¸PhoneGap¡£
PhoneGapÊÇÒ»¿î¿ªÔ´µÄÊÖ»úÓ¦Óÿª·¢Æ½Ì¨£¬Ëü½ö½öÖ»ÓÃHTMLºÍJavaScriptÓïÑԾͿÉÒÔÖÆ×÷³öÄÜÔÚ¶à¸öÒÆ¶¯É豸ÉÏÔËÐеÄÓ¦Óá£PhoneGap½«Òƶ¯É豸±¾ÉíÌṩµÄ¸´ÔÓµÄAPI½øÐÐÁ˳éÏóºÍ¼ò»¯£¬ÌṩÁËһϵÁзḻµÄAPI¹©¿ª·¢Õßµ÷Óã¬Ö»ÒªÄã»áHTMLºÍJavascript»òÕßJavaÓïÑÔ£¬¾Í¿ÉÒÔÀûÓÃPhoneGapÌṩµÄAPIÈ¥µ÷Óø÷ÖÖ¹¦ÄÜ£¬PhoneGap¾ÍÄÜÈÃÄã¿ÉÒÔÖÆ×÷³öÔÚ¸÷ÖÖÊÖ»úƽ̨ÉÏÔËÐеÄÓ¦Óã¬Õâ¶ÔÒÆ¶¯Ó¦Óÿª·¢ÕßÀ´ËµÎÞÒÉÊǸö¸£Òô¡£
Ŀǰ£¬PhoneGapÒÑʵÏÖ¶ÔiPhone/ipad¡¢Android¡¢Symbian,Palm¡¢ºÚÝ®¸÷°æ±¾¾ø´ó²¿·Ö¹¦ÄܵÄÖ§³Ö,ÆäÖйٷ½ÎĵµÖÐ¶ÔÆäÖ§³ÖµÄÏêϸ˵Ã÷ÈçÏÂͼËùʾ£º

ÔÚ±¾ÎÄÖУ¬½«ÒÔÒ»¸ö¼òµ¥µÄÄÜÔÚAndroidƽ̨ÉÏÔËÐеÄHelloWorldµÄʾÀý£¬½²½âÈçºÎ°²×°PhoneGapµÄ¿ª·¢¿ò¼Ü²¢ÅäºÏEclipse½øÐпª·¢µÄ¹ý³Ì¡£
»ùÓÚAndroid SDK°²×°PhoneGap¿ò¼Ü
Ê×ÏÈ£¬ÒªÃ÷°×Ò»µã£¬¾ÍÊÇÒªÀûÓÃPhoneGap¿ò¼Ü¿ª·¢Òƶ¯Ó¦ÓÃʱ£¬Ò²ÊDZØÐëÔÚ¿ª·¢»·¾³Éϰ²×°¶ÔÓ¦ÒÆ¶¯É豸ӦÓõÄSDKµÄ¡£±ÈÈçÄãÒª¿ª·¢Ò»¸öÔËÐÐÔÚAndroidÉϵÄÓ¦Óã¬Ôò±ØÐë°²×°
AndroidµÄSDK°ü£¬¿ª·¢iPhoneÓ¦Ó㬾ÍÒª°²×°iPhone sdk¡£±¾ÎĽ«½éÉÜÈçºÎ°²×°»ùÓÚAndroid
SDKϰ²×°PhoneGap¡£
ÎÞÂÛÊÇ¿ª·¢»ùÓÚÄÄÖÖÆ½Ì¨µÄÒÆ¶¯Ó¦Óã¬Ê×ÏÈÒªµ½PhoneGapµÄ¹Ù·½ÍøÕ¾ÏÂÔØ
PhoneGap°ü£¨ÏÂÔØµØÖ·£©¡£Ä¿Ç°×îеİ汾ÊÇ0.9.1,ÏÂÔØÖ®ºó£¬½âѹËõºó£¬»á·¢ÏÖÈçÏÂͼËùʾµÄÈô¸É¸öÎļþ¼Ð£º

ÕâÀÓÉÓÚÎÒÃÇÊǹ¹½¨AndroidÓ¦Óã¬Òò´ËÖ»ÓÐphonegap-android¶ÔÎÒÃÇÊÇÓÐÓõġ£
ÓÉÓÚPhoneGapÊÇͨ¹ýRubyÓïÑÔÒÔ¼°Ëù¿ª·¢µÄÄ¿±êÒÆ¶¯É豸µÄSDKÒ»Æð´îÅ乤×÷µÄ£¬Òò´Ë³ýÁËÏÂÔØPhoneGapÍ⣬¿ª·¢Õß»¹±ØÐë°²×°ÈçϵÄÈí¼þ(ÒÔAndroidΪÀý)
Android SDK,½¨Òé°²×°×îеİ汾£¬±ÈÈçAndroid 2.1»òÕß2.2
Eclipse IDE
Apache Ant 1.8.1
JDK 1.5ÒÔÉÏ
Android µÄEclipse¿ª·¢²å¼þADT
Ruby 1.9.1£¬½¨Òéµ½¹ÙÍøÖ±½ÓÏÂÔØ1.9.1µÄ°æ±¾Ö±½Ó°²×°¡£
´ËÍ⣬ÎÒÃÇ»¹Òª¶ÔwindowsϵÄÔËÐл·¾³±äÁ¿½øÐÐÉèÖá£Ê×ÏÈÎÒÃǵ½¿ØÖÆÃæ°å-ϵͳ-»·¾³±äÁ¿ÖУ¬Ôö¼ÓÈçϼ¸¸öϵͳ»·¾³±äÁ¿¡£
JAVA_HOME:Ö¸ÏòËù°²×°µÄJDKµÄĿ¼£¬±ÈÈçc:\jdk15
ANT_HOME:Ö¸ÏòËù°²×°µÄApache_ANTĿ¼£¬±ÈÈçd:\ant
ANDROID_HOME;Ö¸ÏòËù°²×°µÄAndroid SDKĿ¼£¬±ÈÈçd:\androidsdk
¶ÔPath½øÐÐÉèÖÃ,·Ö±ð½«ruby,jdk,android sdk,ant¼ÓÈëµ½ÔÓеÄpathÖÐ,È磺
c:\ruby\bin;c:\jdk15\bin;d:\ant\bin;d:\androidsdk\tools |
ÆäÖУ¬ÏÂÔØRuby 1.9.1µÄWindows°æ±¾ºó£¬Ö±½ÓÑ¡Ôñ°²×°µ½Ö¸¶¨Ä¿Â¼¼´¿É¡£
ÔÚÍê³ÉÉÏÃæµÄÕâЩ¹¤×÷ºó£¬ÎÒÃǽÓÏÂÀ´¾Íͨ¹ýPhoneGap¿ò¼ÜµÄ½ÅÊּܹ¦ÄÜ£¬¿ìËÙÉú³ÉÒ»¸öandroidµÄÔÐͳÌÐò¡£
ͨ¹ýPhoneGapÉú³É»ùÓÚAndroidµÄÔÐͳÌÐò
1 ½øÈëPhoneGap-AndroidĿ¼£¬²¢½øÈëMS-DOS·½Ê½£¬ÔÚÃüÁîÐÐÏ£¬°´ÈçϸñʽִÐиÃÃüÁ
ruby bin/droidgap "[android_sdk_path]" [name] [package_name] "[www]" "[path]" |
ÉÏÊö²ÎÊý˵Ã÷ÈçÏ£º
ÆäÖÐandroid_sdk_pathÖ¸¶¨ÁËandroid sdkµÄ°²×°Î»Ö㬱ÈÈ磺
d:/androidsdk,×¢ÒâÕâÀﲻҪд³É¡°\¡±,Ó¦¸ÃÊÇ¡°/¡±×÷Ϊ·Ö¸ô·û¡£
Name£ºÒªÉú³ÉµÄandroidÓ¦ÓõÄÃû×Ö¡£
Package_name:Éú³ÉµÄandroidÓ¦ÓÃÖÐÔ´´úÂëÖеİüÃû£¬×¢Òâ±ØÐëÖÁÉÙÓÐÒ»²ãµÄ°ü¹ØÏµ£¬¼´com.XXXXµÄÐÎʽ¡£
WWW£ºÕâÀïÖ¸Ó¦ÓÃÖдæ·ÅHTML,Javascipt,CSSµÄλÖÃĿ¼Ãû³Æ¡£
PATH:ÕâÀïָͨ¹ýPhoneGapÉú³ÉµÄÏîÄ¿ÔÐ͹¤³ÌµÄĿ¼λÖã¬×¢ÒâµÄÊÇ£¬¸ÃĿ¼λÖò»ÄÜÖ¸¶¨ÎªeclipseµÄworkspace¹¤×÷¿Õ¼äÄÚ¡£
ÏÂÃæÊÇÒ»¸öÀý×Ó£º
ruby bin/droidgap ¡°d:/androidsdk¡± HelloWorldGap com.phonegap www ¡°d:/HelloWorldGap¡± |
ÔËÐÐÉÏÊöÃüÁîºó£¬»á·¢ÏÖÔÚDÅÌ»áÉú³ÉÒ»¸öHelloWolrdGapµÄ¹¤³ÌĿ¼£¬phonegapÒѾΪÎÒÃÇÉú³ÉÁËÏîÄ¿µÄ¿ò¼ÜÁË¡£
½«¹¤³Ìµ¼Èëµ½EclipseÖÐ
Èç¹û°²×°ÁËAndroid for eclipseµÄ²å¼þADTºó£¬ÎÒÃÇ¿ÉÒÔ½«PhoneGapÉú³ÉµÄ¹¤³Ìµ¼Èëµ½EclipseÖÐÈ¥¡£Ê×ÏÈÎÒÃÇ´ò¿ªEclipse,н¨Ò»¸öAndroid
Project£¬ÈçÏÂͼ

ÆäÖÐÊäÈëProject nameµÄÃû³ÆÎªHelloGapAndroid£¬ÆäÖÐÔÚCreate project
from existing sourceÖÐÑ¡ÔñÉÏÎÄÖÐÓÃPhoneGapÉú³ÉµÄÏîÄ¿µÄĿ¼¡£Ö®ºóÔÚEclipseÖÐÔò»á¿´µ½ÈçϽṹµÄ
¿ÉÒÔ¿´µ½ÆäÖÐassetsϵÄwwwĿ¼´æ·ÅÁ˹¤³ÌÖÐÐèÒªÓõ½µÄHTML¡¢JavascriptºÍCSSÎļþ¡£´ËÍ⣬»¹ÒªÈ·ÈϹ¤³ÌµÄlibĿ¼ÏÂÃæ£¬´æÔÚphonegap.jarÎļþ¡£
½ÓÏÂÀ´ÎÒÃÇÊÔ×ÅÔËÐÐÏÂÕâ¸ö¹¤³Ì£¬»áÔÚÄ£ÄâÆ÷Öп´µ½ÈçÏÂЧ¹û£º

ÔËÐеĽá¹ûÊÇÏÔʾÁËPhoneGapÖÐĬÈÏÏÔʾµÄindex.htmlÒ³Ãæ£¬ÆäÖÐÑÝʾÁËÆäÖеÄһЩ¹¦ÄÜ£¬´ó¼Ò¿ÉÒÔ³¢ÊÔÈ¥ÊÔÑéһϡ£
±àдHelloWorld³ÌÐò
½ÓÏÂÀ´£¬ÎÒÃÇÀ´ÔÚ´Ë»ù´¡ÉϱàдHelloWorld³ÌÐò¡£ÎÒÃÇÇл»µ½index.htmlÖÐÈ¥£¬ÔÚ´úÂëģʽÏ£¬É¾³ýÔÀ´phonegapÉú³ÉµÄ´úÂ룬дÈëÈçÏ´úÂ룺
> <html> <head> <meta name="viewport" content="width=320; user-scalable=no" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>PhoneGap Android Apptitle> <script type="text/javascript" charset="utf-8" src="phonegap.js">script> <script type="text/javascript" charset="utf-8"> var showMessageBox = function() { navigator.notification.alert("Hello World of PhoneGap"); } function init(){ document.addEventListener("deviceready", showMessageBox, true); } script> head> <body onload="init();" > body> html> |
¿ÉÒÔ¿´µ½£¬ÕâÆäʵÊÇÆÕͨµÄHTMLºÍJavascript´úÂë¡£Ê×ÏÈÔÚonload´¥·¢µÄ·½·¨initÖУ¬Í¨¹ýJavascriptµÄ»Øµ÷·½·¨Öе÷ÓÃÁËphonegap·â×°ºÃµÄʼþ
deviceready£¬Õâ¸öʼþº¬ÒåÊǵ±É豸ÔÚ½«ÆäÓ¦ÓóÌÐò¼ÓÔØÍê±Ïºó´¥·¢µÄ¡£ÔÚÒýÈëphonegapÌṩµÄAPIʱ£¬±ØÐëͨ¹ý
µÄ·½Ê½ÒýÈë½øÐе÷Óá£ÔÚÕâÀïµÄ»Øµ÷º¯ÊýshowMessageBoxÖУ¬¾Íµ÷ÓÃÁËphonegap·â×°ºÃµÄ·½·¨
navigator.notification.alert£¬Õâ¸ö·½·¨Êµ¼ÊÉÏÊÇ
ÏÔʾÁËÒ»¸ö´øÎı¾µÄÌáʾ¿ò£¬ÔËÐнá¹ûÈçÏÂͼ£º

¸Ä½øHelloWorld³ÌÐò
½ÓÏÂÀ´ÎÒÃǸĽøÏÂÕâ¸ö³ÌÐò£¬ÊµÏֵŦÄÜÊÇÎÒÃÇ¿ÉÒÔÔÚÎı¾¿òÀïÊäÈëÃû×Ö£¬È»ºóµãÈ·¶¨°´Å¥ºó£¬µ¯³öÌáʾ´°¿ÚÏÔʾHello+ÄãÊäÈëµÄÃû×Ö¡£Ð޸ijÌÐò´úÂëÈçÏ£º
> <html> <head> <meta name="viewport" content="width=320; user-scalable=no" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>PhoneGaptitle> <script type="text/javascript" charset="utf-8" src="phonegap.js">script> <script type="text/javascript" charset="utf-8"> var displayHello = function() { var name = document.getElementById("firstname").value; navigator.notification.alert("name" + name); } script> head> <body onload="init();" id="bdy" > <div id="txt"> <input type="text" name="firstname" id="firstname" /> div> <div id ="btn"> <a href="#" class="btn" onclick="displayHello();">Say Helloa> div> div> body> html> |
Èç¹ûÄã¶®µÃHTMLºÍJavascriptµÄ»°£¬ÉÏÃæµÄ³ÌÐòʵÔÚÈÝÒ×Àí½â¡£ÆäÖÐÎÒÃÇÌí¼ÓÁËÒ»¸öÃûΪfirstnameµÄÎı¾¿ò£¬²¢ÇÒÔÚ°´Å¥µÄonclickʼþÖе÷ÓõÄdisplayHello()·½·¨ÖÐͨ¹ýdocument.getElementByIdµÄJavascript·½·¨»ñµÃÁËÓû§ÊäÈëµÄÃû×Ö£¬È»ºóͬÑùÓÃnavigator.notification.alertµÄ·½·¨Êä³ö½á¹û£¬ÊäÈëµÄ½çÃæºÍÊä³öµÄ½á¹ûÈçÏÂͼËùʾ£º


×ܽá
ͨ¹ýPhoneGapÕâÌ׿ªÔ´¿ò¼Ü¶Ô¿ª·¢Òƶ¯É豸SDKµÄ·â×°£¬ÎÒÃǽñºóÔÚ¿ª·¢Òƶ¯Ó¦ÓÃʱ£¬Ö»ÐèÒªµ÷ÓÃPhoneGap·â×°ºÃµÄAPI£¬½áºÏÒÑÓеÄJava¡¢HTML¡¢CSSºÍJavascript¼¼Êõ£¬¾Í¿ÉÒԺܷ½±ãµØ½øÐпª·¢ÁË£¬¸ü¶àµÄ×ÊÁÏÇë²é¿´PhoneGapµÄ°ïÖúÎĵµ¡£
|