【小(xiǎo)編推薦】app開(kāi)發之phonegap插©≈ 件(jiàn)(安卓)

2014-06-25   | ✘β♦✘;  發布者:梁國(guó)芳  ✘$← |   查↔♥ π看(kàn):3320次

app開(kāi)發
 在做(zuò)APP的(de)時(sh≈★×í)候 ,假如(rú)使用(yòng)phonegap 開(k✔₽αāi)發,那(nà)麽一(yī)定會(huìδ∏÷σ)用(yòng)到(dào)插件(jiàn)的(de©Ωπ),因為(wèi)phonegap不(bù)知(zhī)→σδ道(dào)你(nǐ)會(huì)使用(yòng)哪些(xiē↑∞₹)插件(jiàn)。來(lái)适應高(gāo)速發展的(deΩ♠" )互聯網。
其實還(hái)是(shì)比較簡單的(de),首先新建≥<一(yī)個(gè)類   這(zhè)個(gε₹φδè)類專門(mén)是(shì)用(yòng)來(lái)寫↓∏β÷插件(jiàn)的(de)。本文(wén)插件(jiàn)式針對(duì¶✔'↕)phonegap 2.9的(de)。
比如(rú)類名為(wèi)SimplePlugin  繼承 CordovaPlugin 
這(zhè)個(gè)類和(hé)  主類§★↑ 在同一(yī)個(gè)包裡(lǐ)面。
發上(shàng)代碼來(lái)瞅瞅:

public class SimplePlugin ex♠€tends CordovaPlugin {
private String mClientId;
private ShareContent mShareCon×★π™tent;
    @Override
    public boolean execut$&™★e(String action, JSONArray δ™γλargs, final CallbackContext cal  ♠lbackContext) throws J​ SONException {
        if (act"σion.equals("echo")) {
     λ ↔       String≥βσ✘ message = args.getString(0);
        //String message = "÷π∏;HI,this is java hello!";
        ↓ ♣↕    this.echo(message, callba↕₽"ckContext);
          &nb‍¥sp; return true;
        }
        else if(ac¥↓tion.equals("sh₽>→owProcess")){
      ☆♣∞  //���������DEMO
        final String title=args.getσ≤↕String(0);
      &nbs↓↑p; final String content=arΩ×gs.getString(1);
        cordova.getActivity().runOnUiTδ☆¶hread(new Runnable() {
          &nb¥÷sp;     pub®↑✔lic void run() {
        &nbsγ§₽₹p;       ProgressDialog progressDialφε©±og = ProgressDialog.show(cor§±dova.getActivity(), t±↓itle, content);
      &nb★×€sp;     progressDialog.setCance∞&"lable(true);
        &nbβ¥÷§sp;      <$<     callbackContext.succe★​♠ss(); // Thread-safe.→×
      &nbγ® ♣sp;     &n ‍‌εbsp;   }
      &$±'→nbsp;     });
      &nbα☆sp; return true;
        }
  

    private v∞≥oid echo(String message, Ca>↑¶llbackContext callbackContext) ≤©{
      &n<​λ≠bsp; if (message != ≤♦₽γnull && message. σ≤¶length() > 0) {
        &nbs♥βε₹p;   callbackContext.su §ccess(message);
        } else {
      &<©♣✘nbsp;     callba€£ckContext.error("Ex∑™↓₹pected one non-empty €©☆string argument.");
        } &​
    }
}


在xml中增加插件(jiàn)   &nbsσ↕&$p;res/xml/config.xml 中
    <plugin‍☆•✔s>  
      &nbs ¶↓p;<plugin name="SimplePlug<σin" value="com.longguang.l"β$↑ongguang.SimplePlugin"/> &nbs↑÷☆♠p; 

    </plugins&∑πgt;  

然後就(jiù)是(shì)js代用(yòng™₽)的(de)了(le)。   

從(cóng)插件(jiàn)類中可(kě δ♣)以看(kàn)出    else if(action§€¥.equals("showShare")){  ♠♠有(yǒu)很(hěn)多(duō)  elseif∑♥€   每一(yī)個(gè)if &nb♠✔α sp;都(dōu)是(shì)一(yī)個(gèφ"Ω)插件(jiàn)       ₩σ&¶

在html中js代碼可(kě)以調用(yòn♠©<€g)這(zhè)些(xiē)插件(jiàn)   &n∑₹'bsp;  

function  xx(){
      π™   cordova.exec(sucα≈cessFunction2, failFunction, &‍ε©≠quot;SimplePlugin","←®tishi",[]);
}
第三個(gè)參數(shù) 是(shì)  Si> ​₹mplePlugin  這(zhè)個(g§Ωè)即是(shì)類名   tis←& ←hi  就(jiù)是(shì)  if中的(de)。→✘ 表示一(yī)個(gè)插件(jiàn)  [¥ π]中是(shì)參數(shù)。

在   類插件(jiàn)中這(zhè"​)樣表示  



final String title=args.getString(0);
final String content=args.getStri≤♠•∑ng(1);
第一(yī)個(gè) 參數(shù)  第二個(gè)參數(₽£↕←shù) 

以上(shàng)就(jiù)完成了(le)  ☆Android  客戶端   插件≈>(jiàn)的(de)開(kāi)發。