ZXING開源項目官方網站https://github.com/zxing/zxing/tree/zxing-3.0.0。
架包http://repo1.maven.org/maven2/com/google/zxing/core/3.0.0/
官方說明:https://github.com/zxing/zxing/wiki/Getting-Started-Developing(全英語,本文章也參考了)
包比較大128M。裡面的東西也非常的多。這篇文章能協助你的就是,最少代碼,最小體積的實現我們二維碼掃描和建立的工作。
1.官方推薦接入方式
不修改源碼,通過Intent的方式調用。
調用簡單,不破壞內部,不易出錯。
要同時安裝一個APK,顯然就這一條就不是我們要的方式。
2.修改DEMO源碼,不修改core核心包。本文採用這種方式
去掉不用的功能代碼,自訂介面調用方式,結果處理方式。
修改調用比較簡單,沒有破壞core核心包,解析產生穩定。
Core核心包中大體功能點有:
1.core核心包。
2.震動,聲音管理,網路攝影機控制,子線程與主線程互動管理。
3.不同電量模式管理。
4.使用者偏好記錄與設定,掃描記錄管理,通過簡訊等分享。
5.使用者使用協助,Google搜尋,Google商店等。
6.多結果處理包括電話,簡訊,網址,wifi設定等等
以上為背景知識稍作瞭解即可:
二維碼解析全過程
過程
正如前面說的,不修改core核心包,為了較為快速的完成開發工作,這裡我們盡量避免接觸核心包的代碼。
核心是資料解析,資料擷取,UI更新這3件事情是分別處理的。線程間的通訊都依靠Handler。
調焦距只是一個動作與相機拍攝圖片是相互獨立的模組,但是有先後順序。相機不斷的拍攝圖片,調焦距開始到完成中間可能拍攝了多張圖片解碼了多次。
初始化網路攝影機相關的參數,根據喜好設定。比如是否開啟閃光燈等。只設定一次。
ZXING3.0項目背景介紹
下載好的壓縮檔中包含android檔案夾,匯入eclipse後工程名為CaptureActivity。工程為maven工程,算是讓人頭疼的事情。
下一篇文章我會詳細介紹步驟。