自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PhoneGap插件Android Barcode Scanner精簡版

移動開發(fā)
PhoneGap插件Android Barcode Scanner精簡版是本文要介紹的內(nèi)容,主要是來了解PhoneGap插件的使用,具體內(nèi)容來看本文詳解。

PhoneGap插件Android Barcode Scanner精簡版是本文要介紹的內(nèi)容,主要是來了解PhoneGap插件的使用,phonegap plugins里的barcode scanner,用的是ZXing。結(jié)果android版竟然要安裝apk才能用,一看,這貨直接Intent的…無法,從ZXing拉了源碼下來自己整合,結(jié)果在浩瀚的java文件中哭了(T_T)。于是找了篇精簡教程,照著畫了下葫蘆,然后整成phonegap插件,終于能湊合用用了,效果也還滿意寫。

如何開發(fā)一個android phonegap插件(要翻墻)

js部分

  1. PhoneGap.exec( success, failure, service, action, args );  

這個原型據(jù)說1.x以后會改成 PhoneGap.exec(options)。

success – 成功后的回調(diào)函數(shù),回調(diào)參數(shù)根據(jù)java端返回的類型而定,一般為String。

failure – 失敗后的回調(diào)函數(shù),回調(diào)參數(shù)一般為error code。

service – 插件的名稱。

action – 插件功能的名稱。

args – 功能所需的參數(shù),一個Object。

如果調(diào)用的插件函數(shù)無需參數(shù),最后一個args必須是一個空數(shù)組[],不能不傳、不能傳null、也不能傳{},否則會報錯jsonError。

java部分

每個插件都要繼承com.phonegap.api.Plugin,然后override execute方法,方法原型

  1. PlugResult execute(String action, JSONArray data, String callbackId); 

action – js調(diào)用時所傳的action。

data – js調(diào)用時所傳的args。

callbackId – 這個是用來回調(diào)的指定id,由js部分自動生成,并傳遞給java。

返回的是一個PlugResult的,如果是同步調(diào)用,直接在execute函數(shù)中返回一個帶狀態(tài)的標(biāo)示的PlugResult即可,比如

  1. return new PlugResult(PluginResult.Status.INVALID_RESULT); 或者  
  2. return new PlugResult(PluginResult.Status.OK,  content);   content既是js success callback參數(shù) 

而如果是異步調(diào)用,則需要返回一個NO_RESULT狀態(tài)的PlugResult,并設(shè)置keepCallabck,然后記錄下callbackId,如下

  1. callback = callbackId;  
  2. PlugResult result = new PlugResult(PlugResult.Status.NO_RESULT);  
  3. result.setKeepCallback(true); 

之后,在需要回調(diào)時,調(diào)用

  1. this.success(new PlugResult(PlugResult.Status.OK, content), this.callback); 

android部分

需要使用插件的時候,要在res/xml/plugins.xml里加一個對插件的引用

  1. <plugin name=”" value=”"/> 

name是插件名稱,也是js調(diào)用時的service名,注意這個必須和java的類名一致,否則報錯class not found。

value就是包含package的完整類名。

然后設(shè)置AndroidManifest.xml,因為用Intent調(diào)用ZXing提供的掃描功能,所以在manifest里,找到<application>標(biāo)簽,增加一個<activity>,然后設(shè)置一些屬性和intent-filter。注意activity的name要和java的類名相同,intent-filter的action name以及category name要和代碼中調(diào)用的名字相同。

我在github上建立的一個項目,里面包含了所有源文件——phonegap用的是剛出爐的1.0版,barcode部分是用了上面提到的高人精簡過的。

小結(jié):PhoneGap插件Android Barcode Scanner精簡版的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-09-17 17:41:54

2010-06-12 17:12:21

PPPOE協(xié)議

2010-09-16 08:14:00

2010-05-20 14:46:34

2010-09-17 15:36:21

2021-01-29 14:18:02

谷歌AndroidMicroDroid

2010-02-02 14:13:31

VMware Tool

2010-09-17 16:31:02

2011-03-31 10:21:52

CentosCactishell

2010-09-17 16:01:55

代碼執(zhí)行漏洞EXE文件

2010-09-17 17:14:48

手工添加

2011-10-11 10:06:12

PhoneGap插件

2023-03-10 10:47:06

Xubuntu發(fā)行版

2024-10-14 13:07:40

Spring框架Boot

2010-09-17 12:40:58

2010-09-16 10:14:35

2010-09-15 14:28:06

2011-12-23 10:02:37

PhoneGapAndroid插件

2010-09-26 15:41:17

網(wǎng)絡(luò)安全

2010-09-17 13:47:35

點贊
收藏

51CTO技術(shù)棧公眾號