1. 程式人生 > >【Android Hybrid App】Cordova 之掃碼(二維碼)功能

【Android Hybrid App】Cordova 之掃碼(二維碼)功能

【Android  Hybrid App】Cordova 之掃碼(二維碼)功能

一、基於Cordova 外掛實現(未安裝成功 外掛:cordova-plugin-barcodescanner
1.1 cordova-plugin-barcodescanner 外掛安裝
1.1.1. 遠端安裝
phonegap plugin add phonegap-plugin-barcodescanner
cordova plugin add https://github.com/phonegap/phonegap-plugin-barcodescanner.git
未成功,提示內容:
Error: Failed to fetch plugin https://github.com/phonegap/phonegap-plugin-barcodescanner.git via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: cmd: Command failed with exit code 1 Error output:
npm ERR! code ENOGIT
npm ERR! No git binary found in $PATH
npm ERR!
npm ERR! Failed using git.
npm ERR! Please check if you have git installed and in your PATH.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\yuhl\AppData\Roaming\npm-cache\_logs\2017-08-08T08_25_43_986Z-debug.log
1.1.2. 本地安裝
下載 phonegap-plugin-barcodescanner-master.zip
E:\workspace\xxxapp>cordova plugin add C:\Users\yuhl\Downloads\phonegap-plugin-barcodescanner-master
Installing "phonegap-plugin-barcodescanner" for android
Plugin dependency "[email protected]" already fetched, using that version.
Dependent plugin "cordova-plugin-compat" already installed on android.
Subproject Path: CordovaLib
Adding phonegap-plugin-barcodescanner to package.json
Saved plugin info for "phonegap-plugin-barcodescanner" to config.xml
安裝後,開啟工程,缺少 com.google.zxing 庫
import com.google.zxing.client.android.CaptureActivity;
import com.google.zxing.client.android.encode.EncodeActivity;
import com.google.zxing.client.android.Intents;

/**
 * This calls out to the ZXing barcode reader and returns the result.
 *
 * @sa https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/CordovaPlugin.java
 */
public class BarcodeScanner extends CordovaPlugin {
    public static final int REQUEST_CODE = 0x0ba7c0de;
1.1.3 解決上述問題

未成功構建Zxing-master工程,所以為解決上述問題,解除安裝外掛。

1.1.4. 刪除外掛
cordova plugin remove phonegap-plugin-barcodescanner
解除安裝過程中遇到問題:

Uninstalling phonegap-plugin-barcodescanner from android
cp: copyFileSync: could not write to dest file (code=ENOENT):E:\workspace\zxing-master\zxing-client-android\zxing-lib\build.gradle

Subproject Path: CordovaLib
Subproject Path: ../../../zxing-master/zxing-client-android/zxing-lib
Error: ENOENT: no such file or directory, open 'E:\workspace\zxing-master\zxing-client-android\zxing-lib\build.gradle'
解決:
下載 zxing-client-android,解壓後部署 E:\workspace\zxing-master\zxing-client-android
zxing-lib
zxing-lib-example
再刪除外掛成功。
E:\workspace\ispecapp>cordova plugin remove phonegap-plugin-barcodescanner
Uninstalling phonegap-plugin-barcodescanner from android
Subproject Path: CordovaLib
Subproject Path: ../../../zxing-master/zxing-client-android/zxing-lib
Removing "phonegap-plugin-barcodescanner"
Removing plugin phonegap-plugin-barcodescanner from config.xml file...
Removing phonegap-plugin-barcodescanner from package.json

二、基於zxing-client-android 元件lib及example 實現

2.1 eclipse 匯入lib 工程(CaptureActivity
2.1.1 Android 工程設定
設定 CaptureActivity 工程為Library。




2.1.2 引數配置

AndroidManifest.xml
許可權配置

<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.VIBRATE"/>
SDK配置
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
重點:引用該Library 的Android 工程需要同樣的配置,否則會報錯。



3.Android 工程專案屬性配置

3.2 呼叫 CaptureActivity 的Android 工程配置及Api呼叫
3.2.1 新增依賴(zxing-clinet-lib CaptureActivity工程) 
引用 CaptureActivity Library。

配置(AndroidManifest.xml) users-sdk 引數,同CaptureActivity Library配置

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />

待續...


特別說明:文章內容不以技術研究與分享為目的,不保證準確性,作者本意只是知識(與思路)的梳理。

相關推薦

Android Hybrid AppCordova 功能

【Android  Hybrid App】Cordova 之掃碼(二維碼)功能 一、基於Cordova 外掛實現(未安裝成功) 外掛:cordova-plugin-barcodescanner 1.1 cordova-plugin-barcodescanner 外掛

洛谷2216[HAOI2007] 理想的正方形RMQ

點此看題面 大致題意: 求出一個矩陣中所有n∗nn*nn∗n正方形中極差的最小值。 另一種做法 聽說這題可以用單調佇列去做,但是我寫了一個二維RMQRMQRMQ。 二維RMQRMQRMQ RMQRM

洛谷 P2216 [HAOI2007]理想的正方形ST表

memset == string using 二維 size 做出 ++ read 題目鏈接 做出二維\(ST\)表,然後\(O(n^2)\)掃一遍就好了。 #include <cstdio> #include <cstring> #include

Qt入門實踐Qt哲學家問題linux 多線程

avi .cpp private 1=1 endif debug 問題 tel pub 轉載請註明出處:http://blog.csdn.net/feng1790291543 linux多線程實現哲學家問題,依據哲學家吃飯、拿筷子、放下筷子...... 首先,主

笨木頭Unity入門旅010完結:Demo四處找死_UI

UI是遊戲裡必不可少的元素,在Unity裡新增UI是比較輕鬆的事情,但要玩好它,可就不那麼輕鬆了。 沒關係,先入門。   笨木頭花心貢獻,啥?花心?不,是用心。 轉載請註明,原文地址:http://www.benmutou.com/archives/2196

Android深入解析Manifest配置檔案解析英文版

<action> 語法規則: <action android:name="string"/> 描述 : Adds an action to an intentfilter. An elementmust contain one or more

數據庫MySQL數據庫

關閉數據庫 dos命令 medium 數據庫密碼 gin mysql tables 日期 導出數據 一、數據庫文件的導出 1.在DOS命令行下導出數據庫(帶數據) mysqldump -u root -p 數據庫名 > E:\wamp\www\lamp175\lam

Selenium-WebDriver自學Selenium-IDE工具特點

復制 title 文檔 比較 src 面板 默認 bdr ble ========================================================================================================

Android-谷歌語音識別離線識別

1/上一篇部落格寫了安卓呼叫本地自帶的谷歌語音識別,但是需要聯網並且在大陸需要翻牆,這文章來講下如何離線進行谷歌的語音識別。 2/因為已經有了上一篇的demo和程式碼,程式碼方面就不多說了。 3/用谷歌離線識別需要下載谷歌離線包,所以一樣需要帶谷歌服務的機子,比如三星。

小家Spring藉助Springfox整合SwaggerAPI介面神器和SpringBoot

背景 隨著網際網路技術的發展,現在的網站架構基本都由原來的後端渲染,變成了:前端渲染、先後端分離的形態,而且前端技術和後端技術在各自的道路上越走越遠。 前端和後端的唯一聯絡,變成了API介面;API文件變成了前後端開發人員聯絡的紐帶,變得越來越重要,swagger就是一款讓你更好

洛谷1580yyy loves Easter_Egg I字串處理題

點此看題面 大致題意: 略。(一道模擬題,自己去看題面吧) 幾個字元陣列函式 純粹是一道字串處理題,就當是學了一下各種與字元陣列相關的函式吧! \(gets()\):這個是比較常用的函式,就是讀入一行的字元。 \(strlen()\):求出字元陣列的長度。 \(sscanf()\):從一個字元

NGS1.1.2測序質量值Q20 & Q30

引言 高通量測序每測完一個鹼基,會給出一個相應的測序質量值,用於衡量測序儀的準確度。測序錯誤率是在鹼基識別過程中通過一種判斷髮生錯誤概率的數學模型計算得到的,再根據測序錯誤率與鹼基的測序質量值之間的轉化關係,最終得到測序質量值。 公式 假定鹼基的測序錯誤率為:Perror

詳解Android View的事件體系 View基礎

前言 掌握View的事件體系是Android 向高階邁向的必經之路,本片部落格講解Android View的相關基礎知識第二部分,後面我們會為大家講解View事件體系、View事件分發等知識內容。View相關知識第一部分https://blog.csdn.net/huangliniqng/a

spring原始碼分析IOC容器初始化

前言:在【spring原始碼分析】IOC容器初始化(一)中已經分析了匯入bean階段,本篇接著分析bean解析階段。 1.解析bean程式呼叫鏈 同樣,先給出解析bean的程式呼叫鏈: 根據程式呼叫鏈,整理出在解析bean過程中主要涉及的類和相關方法。 2.解析bean原始碼分

資料集使用3D Mask Attack Dataset3DMAD資料集---raw_to_AVI.py指令碼的使用

【編輯時間】2018.09.17 【資料集使用】3D Mask Attack Dataset(3DMAD資料集)---raw_to_AVI.py指令碼的使用 概述 3DMAD資料集中的資料是.hdf5格式的,可以使用資料庫中的raw_to_AVI.py指令碼將其轉換

Android用Zxing/生成功能

新年已過,一切恢復真正常,新的一年給自己幾句指引: 光努力還不行,方向很重要。 總是想著最壞的結果,就會讓人失去改變的勇氣。 你當然有權利選擇自己的人生--但只有在你真正強大後,逆行的阻力才會降到最小。 never say never. 下面開始記錄二維碼使用過程

零基礎Python3學習課後練習題十一

本文是跟著魚C論壇小甲魚零基礎學習Python3的視訊學習的,課後題也是跟隨每一課所附屬的題目來做的,根據自己的理解和標準答案記錄的筆記。 第二十三課與二十四課 測試題: 0.使用遞迴編寫一個十進位制轉換為二進位制的函式(要求採用“除2取餘”的方式,結果與呼叫b

零基礎Python3學習課後練習題十六

本文是跟著魚C論壇小甲魚零基礎學習Python3的視訊學習的,課後題也是跟隨每一課所附屬的題目來做的,根據自己的理解和標準答案記錄的筆記。 第二十九課 動動手: 0.編寫一個程式,接受使用

零基礎Python3學習課後練習題十七

本文是跟著魚C論壇小甲魚零基礎學習Python3的視訊學習的,課後題也是跟隨每一課所附屬的題目來做的,根據自己的理解和標準答案記錄的筆記。 第三十課 動動手: 0.編寫一個程式,統計當前目

牛客 - 297Dlittle w and Exchange上下界貪心

題幹: 旅行到K國的小w發現K國有著很多物美價廉的商品,他想要買一些商品。 結果一掏錢包,包裡只剩下n張K國的紙幣了,說起來也奇怪,K國紙幣並不像其他國家一樣都是1元,5元,10元…而是各種奇怪的面值,所以找零就不是很方便。 已知商店裡的商品價格都是小於等於m的正整數,如果有可能存在