在 Android 項目中添加掃一掃功能

       在月初的時候開始實習管理倉庫,但是倉庫比較亂,在裏面找東西特別不方便。在偶然中發現倉庫中的東西都有二維碼,於是就想着寫一個安卓程序能夠實現掃碼統計倉庫裏面的東西,以此可以偷點懶。

       一開始在網上看了萬能的網友的說法,知道了安卓中一般是用的 zxing 來實現二維碼的生成和解析功能,當時覺得不過是庫的調用,應該是小菜一碟,誰知道當自己着手的時候才知道並不是那麼簡單的事情。

       好了,閒話少說,言歸正傳。在網上已經有很多網友寫了不少關於 zxing 庫的使用方法,不過因爲官方的 zxing 項目太複雜,有很多東西都是我們用不着的,萬能的網友已經將 zxing 精簡包做好了,搜一搜就可以找到的。

       除此之外,我在查找資料的時候發現很多教程都是講解的 Android studio 怎麼使用,因爲我自學安卓的時候用的大神郭霖的《第一行代碼》,上面使用的是 eclipse 軟件,對於 Android studio 一竅不通,好在運氣不錯,在極客學院的視頻的教程中找到了相關教程,有興趣的朋友可以去看一下 http://www.jikexueyuan.com/course/134.html。視頻中是將 zxing 項目作爲依賴包導入到項目中,這樣存在這一個問題,在修改項目的時候必須將 zxing 項目打開,不是導入依賴包的項目要報錯,這不僅不方便,而且會拉低 eclipse 的運行速度,所以我決定試着將 zxing 項目中的代碼直接放入到自己的項目中,現在和大家分享一下過程,希望大家能夠相互學習和交流。本人新人一枚,水平有限,如果有什麼不對的地方還請大家不吝賜教。

       首先要準備的東西: zxing 精簡包,我在網上找了一個由其他網友製作好的仿 QQ 掃一掃的 zxing 精簡包,文章後面會和源代碼一併附上。

       在 eclipse 項目中新建一個安卓項目後,我緊接着創建了一個名爲 com.example.zxing 的包;

 

 

       然後將下載好的 zxing 精簡美化包解壓,將幾個文件夾複製到 com.example.zxing 對應的文件夾下,然後到 eclipse 中鼠標右擊項目刷新一下

 

 

 

 

     除了 java 代碼之外,還有庫文件和一些 xml 文件也需要複製到項目對應的位置,庫文件需要右鍵項目文件夾 -> Build Path -> Configure Build Path... -> Libraries 頁選擇 Add JARS 添加庫文件;

 

 

 

根據創建的項目時建立的包和先前新建存放 zxing 代碼的包名修改所有 zxing 包下的代碼:

 

 

 

修改好了,還要修改一下 AndroidManifest 文件,先打開精簡包中的 AndroidManifest 文件,將下圖中紅色框中的內容複製到項目中的 AndroidManifest

 

 

menu 文件夾下的 main.xml 報了一個錯,需要修改一下 values 中的 string.xml 文件:

 

 

還有一個地方特別要注意,layout 文件夾下的 capture.xml ,這個地方如果不修改的話,eclipse 不會提示語法錯誤,但是在運行的二維碼掃描的時候程序會崩潰:

 

 

忙活了大半天,終於把所有要修改的地方修改好了,最後就是激動人心的時刻,在要打開二維碼掃描的地方調用 CaptureActivity 活動,筆者是在一個按鈕中打開的:

 

 

當掃描結束後,CaptureActivity 活動會將掃描的值(包括二維碼圖片和二維碼中的內容)回傳到啓動該活動的活動中,我們用 onActivityResult() 獲取回傳的值:

 

 

好了,下面展示一下效果圖:

 

 

 

 

精簡包和項目源代碼(之前上傳錯了,已更正):

鏈接:https://pan.baidu.com/s/1qPtcwlbs17pJhguZPp88fg 

密碼:kad6

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章