首先歡迎加入APIcloud,很(hěn)多(duō)朋(péng)友(♦€€§yǒu)進來(lái)後一(yī)頭霧水(shuǐ),不(bùφγα)知(zhī)道(dào)從(cóng)哪下(xià)♦♠π手,今天就(jiù)做(zuò)個(gè)詳↑φ♣細的(de)流程出來(lái)。
要(yào)想用(yòng)APIclo₹< ud開(kāi)發一(yī)套APP,前提得(de)熟悉HTML 、JS 、C♣αSS。如(rú)果再熟悉點PHP ,JSP就(jiù)更好(hǎo)了(l↓↕÷γe),可(kě)以實現(xiàn)與自(zì)己的(de)服務器(q☆÷ì)對(duì)接。
第一(yī)步:注冊賬号,下(xià)載IDE開(kāi)發工♣δ♠∏(gōng)具。
打開(kāi)IDE後依次---文(wén)件(jiàn) &≤Ω---新建---創建APIcloud項目。創建完成後在左側【我的(d♥♣™$e)APP項目】裡(lǐ)面會(huì)顯示新建的(de)項目,同時(sh¥>σí)登錄到(dào)網站(zhàn)控制(zhì)台裡($÷'₽lǐ)面也(yě)會(huì)看(kàn)到(dào£δ≥§)剛創建的(de)項目。如(rú)下(xià)圖:
左側我的(de)APP項目裡(lǐ)面會(huì)顯示剛創建的(↔→de)項目及文(wén)件(jiàn),如(rú)下(xià)圖
這(zhè)些(xiē)文(wén)件(j✘±λiàn)就(jiù)是(shì)APP的(de)所有(yǒu)東(dōng)εδ"西(xī)了(le),也(yě)就(jiù)是(shì)widg∑ φet包,可(kě)以參考
http://docs.apicloud.com/A✔PIClou ... ge-structure-manu★¶al,看(kàn)一(yī)下(xià)包文(wén∞¥<↓)件(jiàn)的(de)結構說(shuō)明(∑♠&míng)
到(dào)此一(yī)個(gè)項目創建完成,修改下$↓©(xià)index.html(入口文(wén)件(jiàn)),連上$$(shàng)手機(jī),CTRL+R進行(xí"₩ng)真機(jī)調試,會(huì)發現(xiàn)手機(jī)上(s→∞hàng)出現(xiàn)個(gè)APPLoader,這(zαγhè)裡(lǐ)面包含了(le)你(nǐ)調試的(de)所有(yǒ₩<u)項目。再開(kāi)發過程中可(kě)以通(tōng)過這(zhè)個(g↕♣è)來(lái)真機(jī)調試。
第二步,開(kāi)發你(nǐ)的(de)第一(yī✘✘®π)個(gè)APP
項目創建完成,調試也(yě)做(zuò)好(hǎ★✘≤o)了(le),下(xià)面就(jiù)開(kā♣ i)始開(kāi)發你(nǐ)的(de)APP吧(ba)
如(rú)同開(kāi)發web頁面一(yī)樣,一(yī)個&¥β(gè)HTML文(wén)件(jiàn)然後加上(sh© àng)CSS和(hé)JS,來(lái)實現(₩≈xiàn)布局和(hé)效果。CSS文(wén)件(j©♥iàn)夾存放(fàng)你(nǐ)的(de)Ω π樣式,script來(lái)存放(fàng)你(nǐ)的(de)JS文(w✔λΩén)件(jiàn),html文(wén)件(¥"β✔jiàn)夾存放(fàng)你(nǐ)的(dφe)模闆文(wén)件(jiàn),index.html為(w←&èi)APP的(de)入口文(wén)件(jiàn),就(ji©&₽ù)是(shì)好(hǎo)比個(gè)首頁了(le)。
我們來(lái)了(le)解一(yī)下(xià)一(yī'π)個(gè)APP的(de)結構,常用(yòng)的(de)APP布¥Ω©局有(yǒu)頂部導航,中間(jiān)內(nèi)容區(qū)域和(hé)底↑λ§•部導航。如(rú)下(xià)圖:
在用(yòng)APICLOUD的(de)AP≤£"P的(de)開(kāi)發過程中,一(yī)個(gè)頁面的(de)布₹↔局方式最好(hǎo)是(shì)通(tōng)過窗 (chuāng)口的(de)套用(yòng)來(lái)完成✔₹,即win+frame,舉個(gè)例子(zǐ)來(γ ♦lái)說(shuō)明(míng),我們在做(±¶✔γzuò)網站(zhàn)後台的(de) 時(shí)候為(wèi)了(le÷φ↔)防止點擊菜單頁面刷新,我們有(yǒu)時(sh≠>×αí)會(huì)采用(yòng)的(de)布局是(shì)先做(zuò)一(y§÷₹™ī)個(gè)大(dà)框架,然後通(tōng)過iframe來↕♦(lái)嵌套其他(tā)頁面,然後我們開(kāi)發的(±→☆de)APP就(jiù)好(hǎo)比是(shì)一(∏↑yī)個(gè)浏覽器(qì), 我們可(kě)以通(tōng)↑πλ過iframe來(lái)顯示一(yī)個(gè)頁面,也(yě)可(∏∏kě)以在浏覽器(qì)新窗(chuāng)口打開(k✔♦λāi)一(yī)個(gè)頁面。那(nà)麽回到(dào)我們≤Ω的(de)APP裡(lǐ)面,index.html為(wèi)入口∏ δ←框架,通(tōng)過 openFram₩>e或openFrameGroup來(lái)加載其 ×他(tā)頁面(好(hǎo)比那(nà)個(gè)iframe了(le)∏"),如(rú)果想在新窗(chuāng)口中打開(k∏γ>āi)就(jiù)使用(yòng)open☆∑÷Win。
為(wèi)了(le)APP更流暢點,我✔±☆π們有(yǒu)時(shí)會(huì)一✔ (yī)個(gè)頁面嵌套多(duō)個(gè)frame來(lái)♦≥&實現(xiàn)效果。
再回到(dào)上(shàng)面的(de)APP布局圖裡(lǐ)面分(f★ ēn)析一(yī)下(xià),在index.html我們就φ★λ(jiù)隻可(kě)以布局 上(shàng)下(¶↔xià)導航,中間(jiān)內(nèi)容區(qū)域γ<÷通(tōng)過openFrame或者openFrame≤<"₽Group來(lái)加載其他(tā)頁面的(☆πde)方式來(lái)實現(xiàn)。如(rú)果是(shì)打開(π±kāi)一(yī)個(gè)窗(chuā∑×≠ng)口,通(tōng)過openWin•&來(lái) 打開(kāi)一(yī)個©β≥$(gè)頁面,同理(lǐ),然後打開(kāi)的≤≥(de)這(zhè)個(gè)窗(chuāng)口裡(lǐ)面再通(tōn£<Ωg)過openFrame或或openFrameGroup來(lái)嵌↔★×套其他(tā)頁面。
openWin openFrame為(wèi)apβicloud的(de)api對(duì)象方法,可(kě)以參考♥≥±文(wén)檔來(lái)看(kàn)下(xià)使用≈&€(yòng)說(shuō)明(míng)。
http://docs.apicloud.com/%E7%←∞≈AB%AFAPI/api
下(xià)面通(tōng)過簡單的(de)實例說(shuō)明(m&↕≈αíng)一(yī)下(xià)
index.html---入口
html/frm_list.html
html/win_show.html
html/frm_list.html
index.html
<!doctype html>
<html>
<head>
<meta charset="ut₩♣♦f-8">
<meta name=&Ω<≥÷quot;viewport" content="max✘imum-scale=1.0,minimum-scale=1.0,£user-scalable=0,width=device-width₽↑₩,initial-scale=1.0&quφ↓ot;/>
<meta name=&quo×↔ t;format-detection" ♦↑±content="telephone≠• =no"/>
<title>demo</ ±±±title>
</head>
<body>
<he←>ader>頂部導航</header&g γt;
<footer>底部菜單</f₽©←ooter>
</body>
</html>
CSS樣式就(jiù)不(bù)多(duō)說(shuō)了(le),跟we™♠©b是(shì)一(yī)樣的(de)用(yòng)法,上λ₩(shàng)下(xià)導航布局完成後通(tōng)過js來(lái)加載fΩ ©rm_list.html頁面,openFram ₩e的(de)其他(tā)參數(shù)請(qǐng)參考文(w•→én)檔
<script>
&nbsΩδ ©p; apiready≈δσ" = function () {
&nbsΩ&p; api.opβφαenFrame({
★"γ£ &nbsσ p;  ↓δ¥γ; name: '₽★¶frm_list',
&$€•✔nbsp; &nbs₽≈¶p; &n βεbsp;url: 'html/frm_list.htmΩ©l'
& ₩nbsp;   ✔; })
&n≠♠γ₽bsp;}
</script>
這(zhè)樣打開(kāi)APP後等于我們看(kànλ✔)到(dào)的(de)就(jiù)是(shì)list這(zhè)個φ®≥↕(gè)頁面了(le)
frm_list.html中打開(kāi$α)新窗(chuāng)口
<!doctype html>
<html>
<head>
<meta charse¶↑£t="utf-8">δ♦£
<meta ≈φ✔ name="viewport" cont₽↑ent="maximum-scale=1.0,miniφ ₩mum-scale=1.0,user-scalable=0,wid<δth=device-width,initial&→ ₽-scale=1.0"/>
<meta name="foα÷rmat-detection" content="tσ±φβelephone=no"/>
<title>demo< "↓;/title>
</head>
<body>
<ul>
©☆ <φ♣§li>列表一(yī)</li>
</ul>
</body>
<script type="text/♠&∏javascript">
¥∞apiready=function (argument) {
£✔±  ≥£&≠;
&←∏}
 ♣↕γ; function openShow(){
&n¶©>♣bsp; api.op•∞ enWin({
&✔✘>nbsp;  ₽∞®; &nb↑£≥sp; name: 'win_π↕☆show',
&₽β±nbsp; &←φnbsp; &nbλ™ sp; url:★β 'win_show.html'
↕♥  ↕₽π; })
&Ω$★nbsp; }
</script>
</html>
加個(gè)ONCLICK事(shì)件(jiàσβn),跟web是(shì)一(yī)樣滴
win_show.html的(de)寫法≤¶$↕,這(zhè)個(gè)頁面我們就(jiù)當個(gè)窗(♥←σchuāng)口來(lái)用(yòng),通(tōng)過frame來(lá™♥↑i)加載詳細內(nèi)容頁面:
<!doctype html>
<html>
<head>
<me✘$ta charset="utf-8">
<meta name="vie≈&wport" content="ma$♠πximum-scale=1.0,minimum-scale=1.0,user©®₩-scalable=0,width=device-widt↔∑≠♠h,initial-scale=1.0&→∏quot;/>
<me<< ta name="format-deteε↔∑÷ction" content="teleph↓≈€one=no"/>
<titl↔≤Ωe>demo</title>↕₩£✔;
</head>
<body>
<header&gβ☆t;內(nèi)容</header>
</body>
<script type="te¥βxt/javascript">
&nδ bsp; apiready=functioγ∏÷n (argument) {
&•★nbsp; &nb✔↑★sp; api.openFrame({
&nbs£∑p;  λ€✔; &nλ☆bsp; name: 'frm_show',
&n '€©bsp;   '₽; &®§nbsp; ur±Ω>l: 'frm_show.html'
&n→♠♥bsp; })
&nbs↓>≈p; }
</script>
</html>
那(nà)麽frm_show.html怎樣來(lái)寫就(ji∑∏εù)自(zì)己動手寫一(yī)個(gè)了(le),
通(tōng)過更多(duō)的(de)JS§和(hé)css3動畫(huà)效果,我們可(kě↔ ≈)以讓APP更豐富些(xiē)。流程都(♠✘Ω♦dōu)熟悉了(le)大(dà)家(jiā)可(kě)以上(™¥§shàng)手做(zuò)個(gè)簡單的(de)來(lái)試一(yī)∑<☆Ω下(xià)。
第三:APP開(kāi)發注意幾點事(shì)項
html5:在創建html時(shí)為(wèi)了(le)★Ω'防止頁面縮放(fàng)等不(bù)兼容效果,要(yào)創建個(g™÷↔₽è)viewport
<meta name="v↓§iewport" content="max¥↓©imum-scale=1.0,minimu ↑★m-scale=1.0,user-scalable ₩=0,width=device-width,initial-scal↔λe=1.0"/>
在IOS設備上(shàng),有(yǒu←® ₩)時(shí)會(huì)将數(shù)字轉☆✔π為(wèi)手機(jī)号,這(zhè)裡(lǐ)也(yě)要(yà✔¥≈≠o)禁止下(xià)
<meta name="format-d÷↑×etection" content=&quo Ω t;telephone=no"/>'₹$∞
CSS:在定義CSS時(shí)記得(de)δ ₩α要(yào)定義下(xià)默認樣式
api.js: 為(wèi)apicloud封裝的(deδ©)js方法,如(rú)果使用(yòng)記得(de)先要(yà₹✘★o)引入,在script文(wén)件(jiàn§↑)夾內(nèi)
config.xml的(de)配置請(qǐng)參考官方↔&文(wén)檔
http://docs.apicloud.com/APICloud/%E6 λ%8A%80%E6%9C%AF%E4%B8%93%E9%₹ε↓A2%98/app-config-manual
------------------------ββ≈--------------------------✘↔≠--------------------------×β™-----------------------α≥∑---------------------------<ε-----------------
希望該教程能(néng)對(duì)apicloud的(de)新會(huì)員™ →(yuán)有(yǒu)所幫助,歡迎提問(wèn&☆),下(xià)一(yī)篇會(huì)講解一(yī)下(x™'βià)自(zì)己的(de)服務器(qì)對(duì)接這(zhè)塊
新手入門(mén)教程,從(cóng)0開(kāi)始入手APIclo"∞ud(一(yī))
新手入門(mén)教程,從(cóng)0開(kāi)始入手APIclo$ ud(二)
新手進階教程,從(cóng)0入手APIC ↕"loud(三)-- 緩存方案