| 10 | 1/1 | 返回列表 |
| 查看: 2288 | 回復(fù): 9 | |||||
qqhegg榮譽(yù)版主 (文壇精英)
珊瑚小美-----小元家的九妹
|
[交流]
android學(xué)習(xí)筆記----ZXing(一) 已有4人參與
|
|
這是轉(zhuǎn)載自博客園的一位園友的隨筆,因?yàn)樽罱趯W(xué)習(xí)所以便收了過來 http://www.cnblogs.com/liuan/archive/2012/01/05/2312714.html android入門:zxing學(xué)習(xí)筆記(一) 對于剛開始學(xué)習(xí)android開發(fā)的童鞋們來說,若有一個(gè)簡單而又全面的android工程能來剖析,那就是再好不過了,zxing就是不錯(cuò)得例子。 zxing的源碼可以到google code上下載,整個(gè)源碼check out 下來,里面有各個(gè)平臺的源碼,ios的,android的。當(dāng)然我們需要的就是android代碼。http://code.google.com/p/zxing/ 將android的工程導(dǎo)入到eclipse中,導(dǎo)入完成后,eclipse會顯示各種錯(cuò)誤,這是缺少core文件夾里面的核心庫文件所致,在project中創(chuàng)建文件夾core,再將zxing源碼中得core文件夾下得代碼導(dǎo)入進(jìn)來,這樣就可以了。 上面這個(gè)過程看一下我的截圖是android1,因?yàn)槲壹拥焦こ汤锩娴臅r(shí)候沒有成功,所以就把它單獨(dú)拷了出來,然后將缺失的兩個(gè)工程文件復(fù)制進(jìn)去,但是錯(cuò)誤特別多 解決辦法http://www.cnblogs.com/tankaixio ... /10/31/1865807.html 這是博客園的另外一個(gè)園友的帖子,解決了這個(gè)問題,對于string中的問題解決辦法 http://www.cnblogs.com/goin/archive/2011/06/10/2078007.html 如果遇到unable resolved target-X,則是你的avd版本問題,可以在project.propertities修改target值。clean下就ok。 如上的都是zxing android代碼分析的準(zhǔn)備,下面的則是正式開始。 如圖:為整個(gè)android工程的代碼,android入門就重這些代碼著手。其中主要關(guān)注的是android,camera,encode,result文件夾。 程序啟動的流程:加載main activity,在此類中創(chuàng)建CaptureActivityHandler對象,該對象啟動相機(jī),實(shí)現(xiàn)自動聚焦,創(chuàng)建DecodeThread線程,DecodeThread創(chuàng)建Decodehandler,這個(gè)對象就獲取從相機(jī)得到的原始byte數(shù)據(jù),開始解碼的第一步工作,從獲取的byte中解析qr圖來,并解析出qr圖中的字符,將這塊沒有分析的字符拋送到CaptureActivityHandler中handle,該類調(diào)用main activity的decode函數(shù)完成對字符的分析,最后顯示在界面上(刷新UI,最好在UI線程里完成)。這樣一個(gè)解析qr圖的過程并完成。 下面具體分析整個(gè)過程。重點(diǎn)之處有main activity,camera. 程序啟動的第一個(gè)activity便是:CaptureActivity,有點(diǎn)類似于c中的main函數(shù),在此是main activity。這個(gè)acitvity做的主要的事便是:加載掃描各種條形碼,二維碼的一個(gè)界面,啟動一個(gè)處理獲取一維碼二維碼信息的線程,完成對于獲取的圖像信息進(jìn)行解碼,最后再將解碼的信息顯示在界面上。 完成界面的加載主要在于onCreate,和onResume函數(shù)中,這涉及到了一個(gè)activity的生命周期,以后再具體分析。首先調(diào)用onCreate,再調(diào)用onResume,在onResume中會判斷這個(gè)activity是由什么啟動的,可能是其他的app觸發(fā)了,也可能是用戶直接啟動的。這樣就初始化了三個(gè)變量,一是source,便是啟動activity的源,一是decodeFormats,指出解碼的方式,是qr,還是其他的等等,最后一個(gè)是:charactreset,即是對于這些生成qr圖的字符的編碼方式。若沒有對core中得代碼修改,用該程序解析GB2312編碼的字符則會亂碼。亂碼的解決后面將提到。 界面的加載中有兩個(gè)很關(guān)鍵的類。surfaceview 和 ViewFinderView,前面的是用來加載從底層硬件獲取的相機(jī)取景的圖像,后面的是自定義的view,實(shí)現(xiàn)了掃描時(shí)的界面,不停的刷新,并將識別的一些數(shù)據(jù),如定位的點(diǎn)回調(diào)顯示在界面上。 PS:YY下木蟲確實(shí)不適合做程序的,畢竟不是程序員們熟悉的網(wǎng)站做的順手些,帖工程代碼,不太方便呵呵 |
android學(xué)習(xí)筆記 | android資料 |

|
|
夢 |
榮譽(yù)版主 (知名作家)
綺麗宮的神棍

送鮮花一朵
|

榮譽(yù)版主 (文壇精英)
珊瑚小美-----小元家的九妹


榮譽(yù)版主 (文壇精英)
珊瑚小美-----小元家的九妹


| 10 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 085700資源與環(huán)境308求調(diào)劑 +3 | 墨墨漠 2026-03-18 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 354求調(diào)劑 +4 | Tyoumou 2026-03-18 | 7/350 |
|
|
[考研] 295求調(diào)劑 +3 | 一志愿京區(qū)211 2026-03-18 | 5/250 |
|
|
[考研] 0854可跨調(diào)劑,一作一項(xiàng)核心論文五項(xiàng)專利,省、國級證書40+數(shù)一英一287 +8 | 小李0854 2026-03-16 | 8/400 |
|
|
[考研] 材料專碩306英一數(shù)二 +10 | z1z2z3879 2026-03-16 | 13/650 |
|
|
[考研] 0703化學(xué)調(diào)劑 ,六級已過,有科研經(jīng)歷 +10 | 曦熙兮 2026-03-15 | 10/500 |
|
|
[考研] 生物學(xué)071000 329分求調(diào)劑 +3 | 我愛生物生物愛?/a> 2026-03-17 | 3/150 |
|
|
[考研] 308求調(diào)劑 +4 | 是Lupa啊 2026-03-16 | 4/200 |
|
|
[論文投稿] 有沒有大佬發(fā)小論文能帶我個(gè)二作 +3 | 增銳漏人 2026-03-17 | 4/200 |
|
|
[考研] 一志愿,福州大學(xué)材料專碩339分求調(diào)劑 +3 | 木子momo青爭 2026-03-15 | 3/150 |
|
|
[考研] 274求調(diào)劑 +5 | 時(shí)間點(diǎn) 2026-03-13 | 5/250 |
|
|
[考研] 藥學(xué)383 求調(diào)劑 +3 | 藥學(xué)chy 2026-03-15 | 4/200 |
|
|
[考研] 0854控制工程 359求調(diào)劑 可跨專業(yè) +3 | 626776879 2026-03-14 | 9/450 |
|
|
[考研] 070300化學(xué)學(xué)碩求調(diào)劑 +6 | 太想進(jìn)步了0608 2026-03-16 | 6/300 |
|
|
[考研] 0703化學(xué)調(diào)劑 290分有科研經(jīng)歷,論文在投 +7 | 膩膩gk 2026-03-14 | 7/350 |
|
|
[考研] 085601材料工程315分求調(diào)劑 +3 | yang_0104 2026-03-15 | 3/150 |
|
|
[考研] 255求調(diào)劑 +3 | 李嘉慧, 2026-03-12 | 4/200 |
|
|
[考研] 307求調(diào)劑 +5 | 超級伊昂大王 2026-03-12 | 5/250 |
|
|
[考研] 295求調(diào)劑 +3 | 小匕仔汁 2026-03-12 | 3/150 |
|
|
[論文投稿]
投稿問題
5+4
|
星光燦爛xt 2026-03-12 | 6/300 |
|