Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
cordovaÈëÃÅ
 
  4032  次浏览      27
2019-4-23
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcnblogs£¬ÎÄÕ½éÉÜÁËCordova°²×°ºÍÅäÖÃ,ÒÔ¼°ÏîÄ¿µÄ´´½¨ºÍ²Ù×÷£¬CordovaÏîĿĿ¼½á¹¹µÈÏà¹ØÄÚÈÝ¡£

CordovaÈëÃÅ

¹«Ë¾ÐèÒª¸ã¿çƽ̨¿ª·¢£¬Ö®Ç°µÄ¾ÉÏîÄ¿ÊDzÉÓÃIonic£¨ÁíÒ»ÖÖ¿çÆ½Ì¨·½°¸£©ÊµÏֵ쬵±³õһͷÔú½øÈ¥Ñ§Ï°ionic£¬·¢ÏÖÊǸö´ó¿Ó£¬ºóÀ´²Å·¢ÏÖ£¬IonicÄÚ²¿ºËÐÄÒ²ÊÇCordovaʵÏֵģ¬ËùÒÔÓÖһͷÔú½øÈ¥£¬·¢ÏÖ¡£¡£¡£¡£

ÎÞÂÛÈçºÎ£¬×öϱʼÇ

Cordova°²×°ºÍÅäÖÃ

ÒòΪCordovaÊÇÓÉnpm¹ÜÀíµÄ£¬ËùÒÔÐèÒª°²×°Nodejs»·¾³£¬×îºÃÊÇ×îеģ¬ÔÚ°²×°Ö®Ç°²é¿´Ò»ÏÂ×Ô¼ºÊÇ·ñÒѾ­°²×°¹ýNodeJsÁË£¨ÖÕ¶ËÊäÈënode -v£¬ÓÐÊä³öÔòÓа²×°£©

Èç¹ûÓеϰ£¬±ð¹Üʲô°æ±¾ÁË£¬Ð¶ÔØÁ˰ɣ¬ÎÒ±£Ö¤±ÈÄã¿ÉÄÜ»áÓÐÁ½¸önodejs°æ±¾»òÕß°²×°ÁËÒ»¸öIonic1£¨»¹ÓÐIonic2£¬Ionic3£©µÄʱºò¸Ðµ½ÇáËÉ¡£

È»ºó

°²×°×îеÄnodejs£¬Ëû»á×Ô¶¯°üº¬npmÁË

ÖÕ¶Ënpm install cordova -g

°²×°Íê±Ï¡£over

Cordova´´½¨ÏîÄ¿

¿ÉÒԺܼòµ¥

Öն˽øÈëÄã²å¼þÏîÄ¿µÄĿ¼cd ????

ÔËÐÐionic create CordovaDemo

CordovaDemo:ÄãÏîÄ¿µÄÃû×Ö£¬ÏîÄ¿°üÃû£¬ÏîÄ¿Îļþ¼ÐÃû

Ò²¿ÉÒÔÉÔ΢¸´ÔÓÒ»µã

Öն˽øÈëÄã²å¼þÏîÄ¿µÄĿ¼cd ????

ÔËÐÐionic create CordovaDemo com.cordova.app HelloWorld

CordovaDemo:ÏîÄ¿Îļþ¼ÐÃû

com.first.helloworld:ÏîÄ¿°üÃû

Helloworld:ÏîÄ¿µÄÃû×Ö

´´½¨Íê±Ï¡£over

Ìí¼Óƽ̨

´´½¨µÄCordovaĬÈÏÊÇûÓÐÈÎºÎÆ½Ì¨µÄ£¬ÎÒÃÇÐèҪΪÏîÄ¿Ìí¼ÓÎÒÃÇÐèÒªµÄƽ̨£º

½øÈëĿ¼cd CordovaDemo

Ìí¼Ó°²×¿Æ½Ì¨cordova platform add android

Ìí¼ÓiOSƽ̨cordova platform add ios

Ò»°ã¾ÍÕâÁ½¸öƽ̨ÁË

ÔËÐÐ

Ò²ÊǺܼòµ¥µÄ¡£ÔËÐа²×¿cordova run android£¬ÔËÐÐioscordova run ios

ÕâÀïÐèҪעÒâµÄÊÇÔËÐÐiosµÄʱºòÎÒ¹À¼ÆÊÇÐèÒªÖ¤ÊéµÈÔ­Òò£¬·´ÕýÎÒûÄܹ»ÔÚÖÕ¶ËÉÏÖ±½ÓÔËÐеġ£ÎҵĽâ¾ö°ì·¨ÊÇ£¬ÎÒÓÐXCode£¨iOS¿ª·¢¹¤¾ß£©~~

Ö±½Ó½øÈëĿ¼½øÈëplatforms£¬¿ÉÒÔ¿´µ½ÄãµÄ°²×¿ºÍiOSƽ̨£¬´ò¿ªiOSÀïÃæÆäʵ¾ÍÊÇÒ»¸öiOSÏîÄ¿À´µÄÁË¡£ÎÒÃÇ¿ÉÒÔÖ±½Ó´ò¿ª.xcworkspaceºó׺µÄÎļþ¾Í»áÔËÐÐxcodeÁË£¬È»ºó¾ÍÊÇÎÒµÄÄÜ×öµÄÊÂÇéÁË¡£

CordovaÏîĿĿ¼½á¹¹

¸Õ¸ÕÎÒÃǰ²×°ºÍÅäÖúÃÒ»¸öCordovaÏîĿ֮ºó£¬ÎÒÃÇ´ò¿ªÏîÄ¿Îļþ¼þÓ¦¸ÃÕâÑùµÄÎļþ½á¹¹

Ò»¸ö¸öÀ´½éÉÜ

config.xml

Õâ¸öÎļþÊÇcordovaÏîÄ¿µÄÅäÖÃÎļþ£¬¸ºÔðÕû¸öÏîÄ¿µÄһЩÅäÖÃÐÅÏ¢£¬¼òµ¥¿´Ò»ÏÂÎÒµÄÒ»¸öÏîÄ¿µÄÐÅÏ¢£º

<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.hellocordova" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>HelloCordova</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<allow-navigation href="http://ionic.local/*" />
<allow-navigation href="http://*/*" />
<allow-navigation href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<engine name="android" spec="^6.2.3" />
<engine name="ios" spec="^4.4.0" />
<plugin name="com.telerik.plugins.nativepagetransitions" spec="git+https://github.com/Telerik-Verified-Plugins/NativePageTransitions.git" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.2" />
</widget>

½²Ò»Ð©Ö÷ÒªµÄ±êÇ©°É£º

widget£ºid´ú±íÏîÄ¿°üÃû version´ú±í°æ±¾

name£ºÏîÄ¿Ãû

description£ºÏîÄ¿ÃèÊö

author£º×÷ÕßÐÅÏ¢

content£ºsrc´ú±íÎļþÈë¿Ú£¬Ä¬ÈÏÊÇwwwĿ¼ÏµÄindex.htmlÎļþ£¬Ò²¿ÉÒÔÖ¸¶¨ÎªÓòÃû¡£Ò²¾ÍÊÇÎÒÃÇËù˵µÄÖ±½ÓÒ»¸öwebview¼ÓÔØÍøÕ¾±äÉíÓ¦ÓÃÁË

allow-navigation£ºÒ³ÃæÌø×ªµÄʱºòÊÇÄܹ»ÔÚÓ¦ÓÃÄÚ´ò¿ªµÄµØÖ·£¨ÀýÈ磺Èç¹ûÉÏÃæµÄÈë¿ÚÊÇbaidu.com£¬Èç¹ûÄãûÌí¼ÓÕâ¸öµÄ»°£¬Ã¿´Î¶¼»á´ò¿ªÊÖ»úµÄä¯ÀÀÆ÷´ò¿ªÍøÒ³£©

platform£ºÆ½Ì¨

allow-itent£ºÆ½Ì¨ÏµķþÎñ

plugin£º²å¼þÐÅÏ¢

Ö÷ÒªÐ޸ĵĶ«Î÷ÓУºÏîÄ¿µÄ°üÃû£¨´ò°üʱºòÓõ½£©£¬ÏîÄ¿Ãû£¬Èë¿ÚÎļþ£¬allow-navigation¡£ÆäÓàµÄÒ»°ãͨ¹ýÃüÁîÐÐÌí¼Ó×Ô¶¯Éú³É¡£

hooks

²»ÖªµÀ£¬Ã»Óùý£¬¿´¹Ù·½½éÉܰɣ¬ÎÒ²»ÓÃÕâ¸ö¶«Î÷ÒÀÈ»ÄÜ×ö¸öÏîÄ¿£¨¼òµ¥µÄ£©¡£

˵µ½ÕâÀ´ó¼Ò¿´¹ÙÍøµÄʱºò·¢ÏÖ¿ÉÒÔÑ¡ÔñÓïÑԵģ¬ÕâÀィÒéÑ¡ÔñÓ¢ÎÄÔ­°æ£¬ÒòΪ¡£¡£¡£¡£¡£ÖÐÎİæµÄÊÇÓÐǷȱµÄ¡£¡£¡£¡£¹ÙÍø¡£¡£¡£¡£

node_modules

Óùýnpm¶¼ÖªµÀÕâ¸ö¶«Î÷ÊÇʲôÀ´µÄÁË¡£Ö÷ÒªÊÇnpmÓÃÀ´½â¾öÒýÈëһЩ°üµÄ£¬¿ÉÒÔ²»ÓÃÌØ±ðÔÚÒ⣬ʹÓð汾¹ÜÀíÆ÷µÄʱºòÒ²»áºöÂÔÕâ¸öÎļþ¼ÐÄڵĹÜÀí£¬ÒòΪ²»Í¬Æ½Ì¨£¨mac£¬window£¬linus£©ÏµİüÃ²ËÆ»á²»Í¬£¬Ëû»á½«ÒÀÀµµÄ°üдÈëÒ»¸öÎļþÄÚ£¬µÈµ½ÏÂÔØÏîÄ¿µÄʱºòÔÙ¸ù¾Ý»·¾³µ¼È벻ͬµÄ°ü¡£

ËùÒԲž­³£¿´µ½´ÓgithubÉÏÃæÏÂÔØÒ»Ð©ÏîÄ¿ÏÂÀ´£¬¶¼ÐèÒªÎÒÃÇnpm installÁË£¬Õâ¾äÃüÁî¾ÍÊǸù¾ÝËûµÄÎļþÒýÈë¶ÔÓ¦»·¾³µÄ°üÁË¡£

package.json

Õâ¸öÎļþÊÇÒ»¸öÃèÊöÎļþ£¬ËûÊÇnodeµÄ²úÎï¡£¼òµ¥¿´Ò»Ï£º

{
"name": "helloworld",
"displayName": "HelloCordova",
"version": "1.0.0",
"description": "A sample Apache Cordova application that responds to the deviceready event.",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Apache Cordova Team",
"license": "Apache-2.0",
"dependencies": {
"com.telerik.plugins.nativepagetransitions": "git+https://github.com/Telerik-Verified-Plugins/NativePageTransitions.git",
"cordova-android": "^6.2.3",
"cordova-ios": "^4.4.0",
"cordova-plugin-whitelist": "^1.3.2"
},
"cordova": {
"plugins": {
"com.telerik.plugins.nativepagetransitions": {},
"cordova-plugin-whitelist": {}
},
"platforms": [
"android",
"ios"
]
}
}

¿ÉÒÔ¿´µ½£¬Èç¹ûÊÇÒ»¸öÔ­Éú¿ª·¢ÈËÔ±£¬²»¶®µÃ¿çƽ̨¿ª·¢£¬²»¶®µÃnodeµÄ£¬Õâ¸öÎļþÊÇ¿´ÆðÀ´±È½Ï¸´Ôӵģ¨ÎÒµ±³õÊÇÕâÑùµÄ¸Ð¾õ£©¡£²»¹ýÆäʵËû²»ÐèÒªÎÒÃÇÒ»¸ö¸ö¼üÖµ¶Ô´ò³öÀ´£¬ËûÊÇ×Ô¶¯Éú³ÉµÄ¡£

platforms

Õâ¸öÎļþ¼ÐϵľÍÊÇÎÒÃǵĸ÷¸öƽ̨µÄÏîÄ¿ÁË¡£ÐÞ¸ÄÀïÃæµÄ¶«Î÷ÐèÒªÔ­Éú¿ª·¢¾­Ñé¡£

plugins

Õâ¸öÎļþ¼ÐÊÇcordovaµÄ²å¼þĿ¼¡£

²å¼þµÄ×÷Ó㺿ÉÒÔͨ¹ý²å¼þÀ´Ê¹ÓÃjs´úÂëµ÷ÓÃÔ­Éú´úÂ룬ÓÉÓÚ¿ÉÒÔͨ¹ýÔ­Éú´úÂëµ÷ÆðÉ豸µÄÓ²¼þ£¬ËùÒÔ¿ÉÒÔÒÔ´ËÀ´Ê¹ÓÃjsµ÷ÆðÉ豸Ӳ¼þ¡£

ÎÒÃÇËù˵CordovadµÄÒ»¸ö¼Ü¹¹Ó¦¸ÃÊÇÕâÑùµÄ

¿ÉÒÔ¿´µ½ÎÒÃÇ×öµÄ¾ÍÊÇÒ»¸öwebapp£¬È»ºóͨ¹ý°²×¿»òÕßiosµÄweb¿Ø¼þ£¨iOSµÄWKWebView»òUIWebVIew£¬°²×¿¾Í²»ÖªµÀÁË£©£¬À´½²Õû¸öÒ³ÃæÇ¶Èëµ½Ô­ÉùÓ¦Óõ±ÖУ¬µ«ÊÇÎÒÃÇÆ½³£Ê¹ÓõÄHTML£¬CSS£¬JavaScript²¢²»Äܹ»µ÷Óõ½É豸µÄÉãÏñÍ·£¬É豸ÐÅÏ¢£¬±¾µØ´æ´¢µÈ¹¦ÄÜ£¬ÄÇôÔõô°ìÄØ£¿Õâ¸öʱºò¾ÍÊÇÎÒÃDzå¼þ³öÂíÁË£¬ÎÒ֮ǰҲ×Ô¼ºÕûÀí¹ýÒ»¸ö²å¼þµÄ±àд£¬¼òµ¥µÄÀ´Ëµ¾ÍÊÇͨ¹ýjsÀ´µ÷ÓÃÔ­Éú´úÂ루OC£¬Java£©À´ÊµÏÖÕâЩ¹¦Äܵġ£ËùÒÔ±àд²å¼þÐèÒªÔ­Éú¿ª·¢¾­Ñ飬µ«ÊÇÎÒÃǴ󲿷Öʱºò²»ÐèÒª×Ô¼ºÈ¥±àд£¬ÒòΪÓвå¼þ¿â£¬Ò»°ãʹÓõIJå¼þ¶¼»áÓеÄÁË¡£

Ìí¼Ó²å¼þµÄÃüÁ

cordova plugin add cordova-plugin-device

ÍÆ¼öһЩ¿ÉÄÜÓõ½µÄ²å¼þ£º

cordova-plugin-device »ù±¾É豸ÐÅÏ¢

cordova-plugin-network-information ÍøÂçÁ¬½ÓÐÅÏ¢

cordova-plugin-battery-status µç³Ø×´Ì¬ÐÅÏ¢

cordova-plugin-device-motion ¼ÓËÙ¶ÈÐÅÏ¢

cordova-plugin-device-orientation Ö¸ÄÏÕëÐÅÏ¢

cordova-plugin-geolocation ¶¨Î»Êý¾Ý

cordova-plugin-camera Ïà»ú

cordova-plugin-media-capture ýÌå²¶»ñ

cordova-plugin-media ýÌå²¥·ÅÆ÷

cordova-plugin-file ·ÃÎÊÎļþ

cordova-plugin-file-transfer Îļþ´«µÝ

cordova-plugin-dialogs ÏûÏ¢Ìáʾ¶Ô»°¿ò

cordova-plugin-vibration Õñ¶¯ÌáÐÑ

cordova-plugin-contacts ÁªÏµÈË

cordova-plugin-globalization È«Çò»¯

cordova-plugin-splashscreen ÉÁÆÁ(Æô¶¯»­Ãæ)

cordova-plugin-inappbrower ä¯ÀÀÆ÷

cordova-plugin-console ¿ØÖÆÌ¨

cordova-plugin-statusbar ״̬À¸

res

resÒ²¾ÍÊÇResourcesÁË£¬×¨ÃÅ·ÅÎÒÃǵÄ×ÊÔ´µÄÎļþ¼Ð¡£ÀïÃæÒ»°ã¾ÍiconÎļþ¼Ð´ú±íÏîĿͼƬ£¬screenÎļþ¼Ð´ú±íÏîÄ¿µÄ¿ªÆôÒ³Ãæ¡£

www

wwwÎļþ¼Ð¾ÍÊÇÎÒÃÇÕæÕý±àÂëµÄµØ·½ÁË¡£ÄÚ²¿Ä¬ÈÏÒ»¸öindex.html×÷ΪÏîÄ¿µÄÈë¿ÚÎļþ£¬ÆäÓàµÄÈý¸öÎļþ¼Ðcss£¬img£¬jsÒ²²»Óöà˵ÁË£¬ÕæÕýÍê³ÉÎÒÃÇÒ»¸öappµÄ¸÷¸öÒ³Ãæ£¬¸÷ÖÖ¹¦ÄܾÍÊÇÔÚÕâÀïʵÏÖµÄÁË¡£

½ÓÏÂÀ´Ö÷Òª½âÊÍÒ»¸öindex.htmlºÍindex.jsÎļþ°É

index.html

Õâ¸öÎļþÊÇÎÒÃǵÄĬÈÏÊ×Ò³Îļþ£¬µ±È»ËûÒ²¿ÉÒÔ²»ÊÇÎÒÃǵÄÊ×Ò³Îļþ¡£Ö®Ç°¾Í˵¹ý£¬cordovaÏîÄ¿µÄÊ×Ò³ÊÇÔÚ config.xml ÎļþÄÚµÄ content µÄ src ÊôÐÔÄÚÉèÖõġ£Ä¬ÈÏÊÇ index.html ¾ÍÊÇÖ¸Õâ¸öÎļþÁË¡£

ÄÚÈÝÊÇ£º

<html>
<head>
<!--
Customize this policy to fit your own app's needs. For more guidance, see:
https://github.com/apache/cordova-plugin-whitelist/blob/master/README.md#content-security-policy
Some notes:
* gap: is required only on iOS (when using UIWebView) and is needed for JS->native communication
* https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
* Disables use of inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
* Enable inline JS: add 'unsafe-inline' to default-src
-->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/index.css">
<title>Hello World</title>
</head>
<body>
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>

Ò»ÑÛ¿´Í꣬û¶àÉÙ¶«Î÷½âÊ͵ġ£

²»¹ýÕâÀïÎÒ¾õµÃΨһҪעÒâµÄµØ·½£¬Ò²ÊÇÎÒµ±³õ¸Õѧ¾À½áµÄµØ·½¡£¾ÍÊÇÒýÈëµÄcordova.jsÎļþ

<script type="text/javascript" src="cordova.js"></script>

Õâ¾ä´úÂëÕ¦ÑÛ¿´ÉÏȥûʲôÎÊÌ⣬ÓÉÓÚÎÒ×öÏîÄ¿µÄʱºò³öÏÖÁËÒ»µãÎÊÌ⣬ÎÒ»³ÒÉÊÇ cordova.js û¼ÓÔØµ¼Öµģ¬ËùÒÔÔÚÕÒÕâ¾ä´úÂëµÄʱºò²Å·¢ÏÖÎÊÌâÀ´ÁË¡£

Õâ¸öÊÇ www Ŀ¼ÏµÄÎļþ

ºöÊÓ .DS_Store Õâ¸öÊÇmacϵͳµÄÎļþ£¬ÓëcordovaÎ޹أ¬ÓëÏîÄ¿ÎÞ¹Ø

¿ÉÒÔ¿´µ½<script type="text/javascript" src="js/index.js"></script>Õâ¾ä´úÂëÒýÈëµÄindex.jsÊÇûÓÐÈκÎÎÊÌâµÄ¡£

¿ÉÊÇ£¡£¡£¡ÎÒµÄcordova.jsÎļþÄØ£¿£¿£¿ÒýÈëÁËÒ»¸öûÓеÄÎļþ£¿£¿£¿

×îÖÕ²é³öÀ´£¬Õâ¸öcordova.jsÎļþËûÊÇ»á¸ù¾Ý²»Í¬µÄƽ̨¶øÐγɲ»Í¬µÄcordova.jsÎļþµÄ¡£¡£¡£ÍÂѪ¡£¡£¡£

¿ÉÒÔ¿´µ½£¬ÎÒ×îÖÕÉú³ÉµÄiOSƽ̨ϵÄĿ¼

ÆäËû¶«Î÷¿´²»¶®Ã»¹ØÏµ£¬¿´µ½ www Ŀ¼Ï¾ͺÃÁË£¬index.html ͬ¼¶ÏÂÉú³ÉÁË cordova.js ÎļþÁË¡£

ËùÒÔ£¬Èç¹ûÓöµ½Õâ¸öÎÊÌ⣬±ð¾À½áÕâ¸öÎļþΪʲô²»´æÔÚÁË¡£

index.js

ÏÈ¿´´úÂë

var app = {
// Application Constructor
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
// deviceready Event Handler
//
// Bind any cordova events here. Common events are:
// 'pause', 'resume', etc.
onDeviceReady: function() {
this.receivedEvent('deviceready');
},

// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');

listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');

console.log('Received Event: ' + id);
}
};

Ò²²»¸´ÔÓ£¬¾ÍÒ»¸ö¶ÔÏó£¬ÀïÃæÓм¸¸ö·½·¨°ÕÁË¡£

Ò»¿ªÊ¼µ÷Óà app.initialize() ·½·¨£¬ÄǾͿ´Õâ¸ö·½·¨×öÁËʲô£¬¼òµ¥À´Ëµ£¬Ìí¼ÓÒ»¸öʼþ°ó¶¨£¬µ±É豸׼±¸ºÃÖ®ºóµ÷Óà onDeviceReady ·½·¨£¬¶øÔÚÕâ¸ö·½·¨ÄÚµ÷ÓÃһЩʼþ°ó¶¨¶øÒÑÁË£¬Ò»°ãÔÚÕâÀï×öµÄÊÂÇé¾ÍÅжÏÒ»ÏÂÎÒÃDzåÈëµÄ²å¼þÊÇ·ñÒѾ­¼¤»î£¬ÒÔ¼°×ö²å¼þ¶ÔÓ¦µÄÊÂÇéÁË¡£

´ó¸ÅÕû¸öcordovaÏîÄ¿¾ÍÊÇÕâÑùµÄÁË£¬½ÓÏÂÀ´×ܽáÒ»ÏÂIonicµÄÏîÄ¿»ù±¾½á¹¹£¬over¡£

 
   
4032 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì