① 在android中怎麼識別二維碼
用開源框架 Zxing
我這有個demo
② 安卓手機二維碼識別怎麼用
安卓手機一般都有自帶二維碼軟體的,但是貌似都一般好用啦
我都是用UC瀏覽器的二維碼功能的,打開瀏覽器之後用二維碼拍攝,就可以把電腦的網址直接讀進手機瀏覽器里,然後下載或瀏覽網頁什麼的,超爽~
求採納~
③ 求一個android二維碼識別軟體的源程序,語言java,關於QR Code識別的源程序。謝啦
請說明的你需求,和界面效果我可以給你寫一個Android的二維碼(java語言)。
④ Android二維碼識別源碼,可有多種實現方式
這里簡單介紹一下ZXing庫。ZXing是一個開放源碼的,用Java實現的多種格式的1D/2D條碼圖像處理庫,它包含了聯繫到其他語言的埠。Zxing可以實現使用手機的內置的攝像頭完成條形碼的掃描及解碼。該項目可實現的條形碼編碼和解碼。目前支持以下格式:UPC-A,UPC-E、EAN-8,EAN-13、39碼、93碼。ZXing是個很經典的條碼/二維碼識別的開源類庫,以前在功能機上,就有開發者使用J2ME運用ZXing了,不過要支持JSR-234規范(自動對焦)的手機才能發揮其威力。
下面是ZXing的demo運行,我這里創建了一個二維碼,內容是我博客的網址,大夥可以用微信的掃一掃功能,試一下。就可以直接打開我博客。
2、ZXing庫主要類
下面給大家介紹一下,ZXing庫裡面主要的類以及這些類的作用:
CaptureActivity。這個是啟動Activity 也就是掃描器。
CaptureActivityHandler 解碼處理類,負責調用另外的線程進行解碼。
DecodeThread 解碼的線程。
com.google.zxing.client.android.camera 包,攝像頭控制包。
ViewfinderView 自定義的View,就是我們看見的拍攝時中間的框框了。
3、使用ZXing生成二維碼
下面針對二維碼生成和解析做個簡單介紹,至於詳細的使用方法,建議大家還是自己看看源碼,使用起來很簡單,不過這個開源項目的代碼,值得好好看看。首先給出二維碼生成的方法:
View Code
上面就是二維碼生成的方法介面,如果你只是使用者方法,很簡單,只要傳入一個URL即可,就像我截圖裡面一樣,傳入一個合法的網址即可。或者像現在一些移動APP的推廣,把APP下載地址轉為二維碼,只要掃一下就可以下載相應的APP。這個也是目前比較流行的APP的推廣方式。
上面代碼做的事情不多,主要是調用ZXing庫裡面QRCodeWriter().encode的方法對我們傳進去的URL進行編碼,具體如何編碼,這個我這里就不詳細說,有興趣可以看ZXing的源碼。文章最後會給出ZXing的源碼和例子代碼。
4、掃描二維碼獲取信息
掃描獲取二維碼信息的工作稍微復雜一些,主要是需要編寫Camera的使用,這個跟我們一般使用Camera一樣,需要使用Surfaceview作為預覽,這一部我這里就不說了,這個應該不是太復雜。對於使用過Camera做預覽的朋友,應該是挺簡單的事情。獲取二維碼數據的關鍵處理是在Camera的自動對焦回調函數哪裡,調用ZXing的解碼介面。
View Code
這里稍微多說一句,由於解碼需要一定時間,所以ZXing的解碼調用,都是使用了Handler作為線程通信機制,解碼的工作都是放在獨立線程裡面使用的,如果你直接在主線程解碼,恐怕ANR問題是避免不了。
View Code
上面是解碼的線程處理不同狀態的時候需要注意的地方,我們這里只看獲取圖像成功的地方,成功獲取圖片解碼的實在DecodeThread裡面實現,DecodeThread裡面解碼成功後,會把數據序列化,然後保存到Bundle裡面,我們可以直接通過Bundle的序列化,獲取到圖片數據。同時會把解碼後的結果保存到MSG裡面,然後就可以根據實際情況進行處理,例如上面代碼,解碼成功後,會調用一個處理函數:
View Code
上面就是整個二維碼的解碼流程,裡面因為涉及很多Camera的使用,所以你如果需要使用二維碼識別,需要注意一下你的程序需要申請下面的許可權,一般的Camera使用以及Camera的自動對焦等。
View Code
5、結語
上面就是生成和識別二維碼的關鍵流程和代碼,有興趣的朋友可以自己查看ZXing的源碼,裡面有很多圖像分析的知識可以學習。具體使用也可以參考我下面給出的Demo。二維碼對於現在移動開發來說很是很常用的技術,所以有空可以了解一下,說不定什麼時候就用上了。另外,ZXing庫除了二維碼外,其實對於條形碼也是支持的,只是我這里沒有介紹。有需要的自己去看看源碼即可。
轉載
⑤ Android 二維碼掃描怎樣實現第二次掃描
掃描出現問題事彈出dialog,當用戶點擊確定按鈕後重新開始掃描。 private void showErrorDialog() { closeCamera(); viewfinderView.setVisibility(View.GONE); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getString(R.string.app_name)); builder.setMessage("掃描確認出錯,請重新掃描櫃子上的二維碼!"); builder.setPositiveButton(android.R.string.ok, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { restartCamera(); } }); builder.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { CaptureCodeActivity.this.finish(); } }); builder.show(); }
⑥ android 二維碼掃描 有哪些
這里簡單介紹一下ZXing庫。ZXing是一個開放源碼的,用Java實現的多種格式的1D/2D條碼圖像處理庫,它包含了聯繫到其他語言的埠。Zxing可以實現使用手機的內置的攝像頭完成條形碼的掃描及解碼。該項目可實現的條形碼編碼和解碼。目前支持以下格式:UPC-A,UPC-E、EAN-8,EAN-13、39碼、93碼。ZXing是個很經典的條碼/二維碼識別的開源類庫,以前在功能機上,就有開發者使用J2ME運用ZXing了,不過要支持JSR-234規范(自動對焦)的手機才能發揮其威力。
下面是ZXing的demo運行,我這里創建了一個二維碼,內容是我博客的網址,大夥可以用微信的掃一掃功能,試一下。就可以直接打開我博客。
⑦ android 支持 二維碼 識別嗎
二維碼識別-現在已經是智能手機的基本功能了!
android 系統當然沒問題!只要其下的應用軟體有此功能就可以!
⑧ android 二維碼掃描的原理是什麼
你好!具體的我不懂怎麼講,就相當於商品的身份證,二維碼不容易仿冒。你看看下面的介紹吧。。。網路找到的。
什麼是條碼技術?
條形碼,簡稱「條碼」,是由一組黑白相間、寬度不同的條狀符號組成。
條碼技術是研究如何把計算機所需要的數據表示成條碼形式,和如何將條碼表示的數據和符號轉變為計算機可以自動採集、識別的數據。因而,條碼技術就包括從編碼到製作、識讀、處理等一系列技術。
根據不同的編碼規則,提出的編碼方案已經有多達四十餘種,目前應用最為廣泛的有:交叉二五碼、三九碼、UPC碼、EAN碼、128碼等。
從印製條形碼的材料、顏色分類,可分黑白條形碼、彩色條形碼、發光條形碼(熒光條形碼、磷光條形碼)和磁性條形碼等。
近年來又出現了按矩陣方式或堆棧方式排列信息的二維條形碼。
我國的適用標准:一維條碼通用商品條碼是與EAN碼等效,二維條碼是與PDF417兼容的碼制。
條形碼有什麼優點?
A.輸入速度快:與鍵盤輸入相比,條碼輸入的速度是鍵盤輸入的5倍,並且能實現"即時數據輸入"。
B.可靠性高:鍵盤輸入數據出錯率為三百分之一,利用光學字元識別技術出錯率為萬分之一,而採用條碼技術誤碼率低於百萬分之一。
C.採集信息量大:利用傳統的一維條碼一次可採集幾十位字元的信息,二維條碼更可以攜帶數千個字元的信息,並有一定的自動糾錯能力。
D.靈活實用:條碼標識既可以作為一種識別手段單獨使用,也可以和有關識別設備組成一個系統實現自動化識別,還可以和其他控制設備聯接起來實現自動化管理。
另外,條碼標簽易於製作,對設備和材料沒有特殊要求,識別設備操作容易,不需要特殊培訓,且設備也相對便宜。
條形碼的應用領域
倉庫管理系統(商品、庫位標識)
在工業中的應用(零部件標識,過程式控制制,信息傳遞等)
辦公室自動化管理(固定資產管理,門衛、考勤管理等)
還可以用於如,圖書管理、商場管理、血庫管理、郵電管理、海關報關單管理等等。
一維條碼的結構與組成
我國採用的一維條碼是通用商品條碼,採用EAN條碼結構。EAN條碼是國際上通用的通用商品代碼。我國主版是由13位數字及相應的條碼符號組成,在較小的商品上也採用8位數字碼及其相應的條碼符號。
每個條碼的組成可分為:
1.前綴碼。由三位數字組成,是國家的代碼,我國為690,是國際物品編碼會統一決定的。
2.製造廠商代碼。由四位數字組成,我國物品編碼中心統一分配並統一注冊,一廠一碼。
3商品代碼。由五位數字組成,表示每個製造廠商的商品,由廠商確定,可標識十萬種商品。
4.校驗碼。由一位數字組成,用以校驗前面各碼的正誤。
一維條碼的特點
條形碼符號圖形結構簡單;
每個條形碼字元由一定的條符組成,佔有一定的寬度和印製面積;
每種編碼方案均有自己的字元集;
每種編碼方案與對應的閱讀裝置的性能要求密切配合。一維條碼的容量多數一維條碼所能表示的字元集不過是10個數字,26個英文字母及一些特殊字元。條碼字元集最大的Code l28條碼,所能表示的字元個數也不過是128個ASCII符。什麼是二維條碼?二維條碼能夠在橫向和縱向兩個方位同時表達信息,因此能在很小的面積內表達大量的信息。二維條碼可以分為堆疊式二維條碼和矩陣式二維條碼。堆疊式二維條碼形態上是由多行短截的一維條碼堆疊而成;矩陣式二維條碼以矩陣的形式組成,在矩陣相應元素位置上用「點」表示二進制「1」,用「空」表示二進制「0」,由「點」和「空」的排列組成代碼。堆疊式二維條碼,有代表性的包括PDF417、Code 49、Code 16K等。矩陣式二維條碼有代表性的是Code one、Aztec、Date Matrix、QR碼等。二維條碼的特點1.高密度編碼,信息容量大:可容納多達1850個大寫字母或2710個數字或1108個位元組,或500多個漢字,比普通條碼信息容量約高幾十倍。2.編碼范圍廣:該條碼可以把圖片、聲音、文字、簽字、指紋等可以數字化的信息進行編碼,用條碼表示出來;可以表示多種語言文字;可表示圖像數據。3.容錯能力強,具有糾錯功能:這使得二維條碼因穿孔、污損等引起局部損壞時,照樣可以正確得到識讀,損毀面積達50%仍可恢復信息。4.解碼可靠性高:它比普通條碼解碼錯誤率百萬分之二要低得多,誤碼率不超過千萬分之一。5.可引入加密措施:保密性、防偽性好6.成本低,易製作,持久耐用7.條碼符號形狀、尺寸大小比例可變8.二維條碼可以使用激光或CCD閱讀器識讀。
⑨ android開發 如何實現掃描本地二維碼圖片
開源的二維碼掃描庫主要有zxing和zbar,zbar在iPos平台上應用比較成熟,而在Android平台上主流還是用zxing庫,因此這里主要講述如何利用zxing進行二維碼開發。
如何將zxing的Android源碼導入工程。
在導入zxing的android源碼之前,先去官方下載zxing的源碼http://code.google.com/p/zxing/downloads/list。
這里以1.6版本為例,zxing 1.6源碼結構如下:
<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.qrcode"
android:versionCode="1"
android:versionName="1.0">
<uses-sdkandroid:minSdkVersion="7"/>
<uses-permissionandroid:name="android.permission.VIBRATE"/><!--震動許可權-->
<uses-permissionandroid:name="android.permission.CAMERA"/>
<uses-featureandroid:name="android.hardware.camera"/><!--使用照相機許可權-->
<uses-featureandroid:name="android.hardware.camera.autofocus"/><!--自動聚焦許可權-->
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<activityandroid:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!--隱藏鍵盤--><!--全屏-->
<activity
android:configChanges="orientation|keyboardHidden"
android:name="com.zxing.activity.CaptureActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>
</application>
</manifest>
這種情況大致就可以實現二維碼掃描了,想細化的話,還可以多看看安卓二維碼掃描開發相關的教程
⑩ android上二維碼的掃描
你在度娘上搜索ZXing demo, 第一個csdn的代碼下載就是。不大方便直接發連接,度娘對帶連接的答案審核太過於厲害。
我做過二維碼掃描的模塊,直接就是用的ZXing demo,原代碼就在裡面,超級詳細的!二維碼可以掃描,它還可以掃描條型碼。
我是直接調用它裡面的CaptureActivity,在它finish()時,forResult把掃描的字元串傳回來就可以。超好用的。
我就是做安桌開發的,歡迎你繼續追問,也謝謝採納答案。