這是一篇純新手教學,本人以前沒有任何安卓開發經驗(尷尬),本文也不涉及任何代碼就可使用一個掃碼demo,華爲scankit真是新手的福音……html
最近被導師要求作一個購物收費的app,畢設好難呀~ 網上找了半天全是zxing,可是掃碼效果然是有點小垃圾,無奈只能繼續尋尋覓覓……忽然發現網上有篇講集成hms的文章,稍微借鑑了一下。因爲在下是安卓小白,全篇沒有一點代碼,只是搬運一下華爲網站的codelab,抱着忐忑的心情,居然能夠一鍵運行……java
開發工具用的是android studioandroid
用過android studio的人直接忽略,沒用過的能夠參考:https://developer.android.com...json
相關的安裝流程能夠參考:https://www.cnblogs.com/xiade...。segmentfault
zxing和華爲掃碼服務對比app
回到咱們的主題上—掃碼,我在選擇掃碼庫的時候,首先接觸到的是google的開源庫ZXing,也上手進行了實操,能夠說集成過程仍是蠻簡單的,可是針對我自己的業務場景和需求,識別率上仍是不夠達標,自動對焦能力也不具有,不可以達到即開即用的要求,因此我就繼續進行了調研,就瞭解到了華爲的一個掃碼服務,按照網站上的一些指引,20分鐘就搞出來一個小demo,而後就真香,可以自定義UI界面,還可以自動對焦,對於一些有反光,有污損,形變,超遠距離的場景都能很好地識別。特來分享,碼字不易哦。最主要的是華爲掃碼服務是安卓全機型覆蓋,太棒惹!~函數
當前華爲開發者網站上有一個叫作codelab的東西,連接我在下面分享了,親測可用哦https://developer.huawei.com/...工具
1. 進來之後頁面是這樣的,一堆廢話,密密麻麻的,能夠略過。開發工具
2. 說了使用的工具和版本,注意,android4.4,新下Android studio的朋友們能夠略過,小哥哥們可能須要更新一下。gradle
3. 直接下載sample code,talk is cheap, show me the code。
4. 打開android studio,在file下拉菜單中找到open,選擇剛剛解壓好的文件目錄,在我這裏是D:codelabCodelab_ScanKit_DefaultView_Full_Demo。而後跳出來這個玩意,直接ok過掉。
5. 在左側的菜單欄中若是上面是一個小機器人,能夠下拉選擇一下爲project爲了保持如下統一,若是有經驗的能夠忽略這步。
6. 這裏在app這個目錄下會發現有個叫agcconnect.json的奇怪文件,這個文件是在華爲官網上註冊本身的帳號之後生成的,這個文件主要是爲了起到雲端校驗的功能,由於掃碼是純端側的服務,所以這裏只集成掃碼服務的話能夠直接刪除,不影響使用。
7. 細細研究了一下文檔發現scankit提供了兩種sdk,一種是大的3.3mb,一種是小的0.7mb,大的小的在華爲手機上效果同樣,可是大的在非華爲手機上也有很好的效果。因此果斷選擇大的sdk。
首先須要進入app目錄下的build.gradle。
而後找到最後,將scan替換成scanplus。
8.點擊下圖中標紅的圖標(雲下有個箭頭),靜靜等待一杯咖啡的時間,發現底下所有都是綠勾之後就大功告成了。
9.我這裏準備了一個華爲手機,火燒眉毛地運行了一下。
10.運行以後效果很棒,不管拉近拉遠,反光,模糊,污損效果下都很出色,並且再也不須要本身寫zxing操蛋的自動縮放了。完美!
細細研究了一下代碼,發現代碼很簡單,點擊進入mainactivity以後就能看清楚這個app在幹嗎了。
品了一下代碼發現全部的東西都給封裝好了,在回調函數中返回了識別的結果。稍微改吧一下就添加到個人工程裏面了,大功告成,美滋滋。
if (requestCode == REQUEST_CODE_SCAN) { Object obj = data.getParcelableExtra(ScanUtil.RESULT); if (obj instanceof HmsScan) { if (!TextUtils.isEmpty(((HmsScan) obj).getOriginalValue())) { Toast.makeText(this, ((HmsScan) obj).getOriginalValue(), Toast.LENGTH_SHORT).show(); } return; } }
作完集成以後又回去看了一下開發者文檔,內容不少,發現scankit的能力比想象中的還要強大,提供了默認掃碼模式,自定義模式,多碼識別模式,還能夠生成碼,詳細的我會在接下來的文檔中繼續po出。
往期連接:Android | 教你如何使用HwCameraKit接入相機人像模式
內容來源:https://developer.huawei.com/consumer/cn/forum/topicview?fid=18&tid=0201211373637380068原做者:Wisteria