程式猿媛 九:Adroid zxing 二維碼3.1整合(原始碼無刪減)
Adroid zxing 二維碼3.1整合
宣告:博文為原創,文章內容為,效果展示,思路闡述,及程式碼片段。
轉載請保留原文出處“http://my.oschina.net/gluoyer/blog”,謝謝!
引子:最近專案中用到二維碼,找到了最新的3.1版本zxing-GitHub,進行了整合、調整,同時筆記以備忘。
展示應用下載:程式猿媛2.1
求點選:部落格訪問9.9k+了,距離初步期望1w很近了。 一個多月的封閉開發也終於結束了,成都也雨後天晴出太陽。
特此版本去掉了下載時需要積分的情況,網站之外的tx們,方便的話,隨手點一下
實現效果:
相關博文很多,生成jar包,簡化程式碼。度娘一下就有了。 感覺需要必要筆記,是發現:
- 以1.6版本居多,據說3.1對4x支援更好些。
- 簡化後,對擴充套件比較麻煩。
- 修改豎屏後,修改的地方找起來比較麻煩。
未使用簡化版本,直接引用zxing原始碼
由於網上的簡化版本,對功能擴充套件比較麻煩,因此,直接將zxing放到了工程目錄下的extras/zxing下,只在專案中加入了目錄,複製、修改了必要的檔案,其他均引用原始碼檔案
修改豎屏後所需調整
整合過程中,發現網文提到的修改豎屏,還是有點分散的,找起還是有點麻煩。故在CameraConfigurationManager
例如,DecodeHandler.java的decode方法中需要調整,如下條件實現:
其他需要修改的地方,也如此使用isPortrait()條件,所以,只需要看下isPortrait()的Call Hierarchy,就比較清晰得看到所需修改。
同時,返回false,就可以恢復到原始碼處理。
繪製掃描框
根據專案需求,需要重新繪製掃描框框,主要在ViewfinderView.java實現繪製方法,同樣條件控制,drawScanFrame區域性如下:
燈光的設定
根據原始碼中,音量鍵對燈光的開關,添加了新介面,支援標題右上角對燈光的控制:
CameraManager.java中:
以及CameraConfigurationManager.java中:
在Activity中進行必要的呼叫處理即可。
QrCaptureActivity 中掃描成功的處理
根據實際需求,掃描成功後,跳轉並將資料傳遞給新頁面,因此,只在handleDecode方法中,
在註釋資訊下面,將新頁面的跳轉就可以了。
如果有其他需求,也在這裡自行處理,應該就沒有問題了。
另外,執行zxing原始碼,可以看到它有個設定頁面,也可以根據需求,整合該設定頁面,或修改R.xml.preferences中的配置即可。
全文完,希望對您有幫助,謝謝!
展示應用下載:程式猿媛2.1
轉載請保留原文出處“http://my.oschina.net/gluoyer/blog”,謝謝!
轉載於:https://my.oschina.net/gluoyer/blog/315947