[zxing-系列1] 簡單粗暴 手把手教你 整合 zxing3.3.3
前言:
之前一直對zxing的整合都是迷迷糊糊,而且專案都很少用到,但最近專案要用到掃碼功能,為此只能狠心花了些時間來研究zxing的整合、簡化以及運作流程。這篇只介紹zxing的demo的整合,而且很簡單很粗暴。
正式開始
1.新建專案(這部分我就不多說)
2.下載zxing核心包
-
ofollow,noindex">zxing - github
-
本次整合只使用了android目錄和android-core目錄
zxing核心包
zxing核心包目錄
3.加入zxing相關依賴:implementation 'com.google.zxing:core:3.3.3'
4.拷貝res資原始檔
1)拷貝xml目錄相關檔案,當然原來專案已存在相關檔案的,就需要拷貝程式碼。
2)拷貝values目錄相關檔案,當然原來專案已有的檔案,請開啟zxing對應的檔案來拷貝程式碼,而不是覆蓋檔案!還有strings.xml要拷貝“values-zh-rCN”目錄裡面的,那個才是簡體中文。
values目錄
values-zh-rCN目錄

values目錄

values-zh-rCN目錄
3)拷貝raw目錄相關檔案,當然原來專案已存在相關檔案的,就需要拷貝程式碼。。
4)拷貝menu目錄相關檔案,同上。
5)拷貝layout目錄相關檔案,因為只考慮豎屏,所以只拷貝layout相關檔案就可以。
6)拷貝drawable目錄和drawable-xxhdpi目錄即可,其他可不考慮。
7)到此為止資原始檔已拷貝完,我們Rebuild Project看下專案情況。然後發現報錯了,哦!原來是在拷貝strings程式碼時多拷貝了一個app_name,導致與原來專案的app_name衝突,現在只要刪除zxing拷貝過來的app_name就可以。
app_name重複問題

app_name重複問題
5.拷貝Java類檔案
1)簡單粗暴,直接把android/src/com目錄下的google目錄整個拷貝到自己專案對應的com目錄下
Java類檔案
自己專案的com目錄

Java類檔案

自己專案的com目錄
2)然後我們Rebuild Project一下,然後發現有一堆錯誤,但是,不要慌,這些都是簡單的錯誤,一般都是目錄不對,如R檔案目錄不對等問題。
報錯

報錯
3)修復報錯問題
-
首先是R檔案目錄問題,我們要全域性修改,講zxing原來的R檔案路徑改成我們自己專案對應的路徑就可以。快捷鍵是Ctrl + Shift + R。注意:之後重新Rebuild Project還會出現R檔案不存在問題,是因為部分檔案的import被自動刪了導致全域性替換不能替換到,所以現在我們就要拷貝上去就可以。
R檔案報錯
全域性更改R檔案路徑
-
然後是CameraConfigurationUtils類不存在問題,這個檔案在,zxing-zxing-3.3.3\android-core\src\main\java\com\google\zxing\client\android\camera目錄裡面。我們就拷貝到zxing的camera目錄裡吧,方便以後維護。
zxing的camera目錄
4)更改啟動頁為CaptureActivity,這個不多說基礎知識。
6.執行App,由於我跑在8.0的機器上,而且沒有做動態獲取許可權,所以要app正常執行,我們就將就一下去應用管理器開啟對應的許可權。
zxing demo 介面
zxing demo 介面

zxing demo 介面

zxing demo 介面
總結:
到這裡,我們已經繼承了zxing提供的掃碼demo,雖然是橫屏的,雖然介面不是我們想要的,但是掃碼功能是可用的,之後我會在寫一篇簡化zxing的文章,介紹一下如何更改zxing介面和減去其他無用功能剩二維碼功能。下面給出我的demo地址把: