| 5 | 1/1 | 返回列表 |
| 查看: 2301 | 回復(fù): 9 | |||||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||||
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í)筆記(一) 對(duì)于剛開始學(xué)習(xí)android開發(fā)的童鞋們來說,若有一個(gè)簡(jiǎn)單而又全面的android工程能來剖析,那就是再好不過了,zxing就是不錯(cuò)得例子。 zxing的源碼可以到google code上下載,整個(gè)源碼check out 下來,里面有各個(gè)平臺(tái)的源碼,ios的,android的。當(dāng)然我們需要的就是android代碼。http://code.google.com/p/zxing/ 將android的工程導(dǎo)入到eclipse中,導(dǎo)入完成后,eclipse會(huì)顯示各種錯(cuò)誤,這是缺少core文件夾里面的核心庫(kù)文件所致,在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è)問題,對(duì)于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文件夾。 程序啟動(dòng)的流程:加載main activity,在此類中創(chuàng)建CaptureActivityHandler對(duì)象,該對(duì)象啟動(dòng)相機(jī),實(shí)現(xiàn)自動(dòng)聚焦,創(chuàng)建DecodeThread線程,DecodeThread創(chuàng)建Decodehandler,這個(gè)對(duì)象就獲取從相機(jī)得到的原始byte數(shù)據(jù),開始解碼的第一步工作,從獲取的byte中解析qr圖來,并解析出qr圖中的字符,將這塊沒有分析的字符拋送到CaptureActivityHandler中handle,該類調(diào)用main activity的decode函數(shù)完成對(duì)字符的分析,最后顯示在界面上(刷新UI,最好在UI線程里完成)。這樣一個(gè)解析qr圖的過程并完成。 下面具體分析整個(gè)過程。重點(diǎn)之處有main activity,camera. 程序啟動(dòng)的第一個(gè)activity便是:CaptureActivity,有點(diǎn)類似于c中的main函數(shù),在此是main activity。這個(gè)acitvity做的主要的事便是:加載掃描各種條形碼,二維碼的一個(gè)界面,啟動(dòng)一個(gè)處理獲取一維碼二維碼信息的線程,完成對(duì)于獲取的圖像信息進(jìn)行解碼,最后再將解碼的信息顯示在界面上。 完成界面的加載主要在于onCreate,和onResume函數(shù)中,這涉及到了一個(gè)activity的生命周期,以后再具體分析。首先調(diào)用onCreate,再調(diào)用onResume,在onResume中會(huì)判斷這個(gè)activity是由什么啟動(dòng)的,可能是其他的app觸發(fā)了,也可能是用戶直接啟動(dòng)的。這樣就初始化了三個(gè)變量,一是source,便是啟動(dòng)activity的源,一是decodeFormats,指出解碼的方式,是qr,還是其他的等等,最后一個(gè)是:charactreset,即是對(duì)于這些生成qr圖的字符的編碼方式。若沒有對(duì)core中得代碼修改,用該程序解析GB2312編碼的字符則會(huì)亂碼。亂碼的解決后面將提到。 界面的加載中有兩個(gè)很關(guān)鍵的類。surfaceview 和 ViewFinderView,前面的是用來加載從底層硬件獲取的相機(jī)取景的圖像,后面的是自定義的view,實(shí)現(xiàn)了掃描時(shí)的界面,不停的刷新,并將識(shí)別的一些數(shù)據(jù),如定位的點(diǎn)回調(diào)顯示在界面上。 PS:YY下木蟲確實(shí)不適合做程序的,畢竟不是程序員們熟悉的網(wǎng)站做的順手些,帖工程代碼,不太方便呵呵 |
android學(xué)習(xí)筆記 | android資料 |

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

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


| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 293求調(diào)劑 +3 | 濤濤Wjt 2026-03-22 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 0854電子信息求調(diào)劑 +3 | α____ 2026-03-22 | 3/150 |
|
|
[考研] 北科281學(xué)碩材料求調(diào)劑 +6 | tcxiaoxx 2026-03-20 | 6/300 |
|
|
[考研] 311求調(diào)劑 +6 | 冬十三 2026-03-18 | 6/300 |
|
|
[考研] 307求調(diào)劑 +11 | 冷笙123 2026-03-17 | 11/550 |
|
|
[考研] 315分,誠(chéng)求調(diào)劑,材料與化工085600 +3 | 13756423260 2026-03-22 | 3/150 |
|
|
[考研] 一志愿武理材料工程348求調(diào)劑 +5 |  ̄^ ̄゜汗 2026-03-19 | 7/350 |
|
|
[考研] 306求調(diào)劑 +6 | chuanzhu川燭 2026-03-18 | 6/300 |
|
|
[考研] 070300化學(xué)求調(diào)劑 +3 | 苑豆豆 2026-03-20 | 3/150 |
|
|
[考研] 0703化學(xué)調(diào)劑 +4 | 妮妮ninicgb 2026-03-21 | 4/200 |
|
|
[考研] 297求調(diào)劑 +3 | 喜歡還是不甘心 2026-03-20 | 3/150 |
|
|
[考研] 299求調(diào)劑 +4 | 某某某某位 2026-03-21 | 4/200 |
|
|
[考研] 307求調(diào)劑 +3 | wyyyqx 2026-03-17 | 3/150 |
|
|
[考研] 一志愿重慶大學(xué)085700資源與環(huán)境專碩,總分308求調(diào)劑 +3 | 墨墨漠 2026-03-18 | 3/150 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-18 | 6/300 |
|
|
[考研] 308求調(diào)劑 +3 | 阿姐阿姐家啊 2026-03-18 | 3/150 |
|
|
[考研] 288求調(diào)劑 +16 | 于海海海海 2026-03-19 | 16/800 |
|
|
[考研] 求調(diào)劑,一志愿:南京航空航天大學(xué)大學(xué) ,080500材料科學(xué)與工程學(xué)碩,總分289分 +4 | @taotao 2026-03-19 | 4/200 |
|
|
[考研] 261求B區(qū)調(diào)劑,科研經(jīng)歷豐富 +3 | 牛奶很忙 2026-03-20 | 4/200 |
|
|
[考研] 一志愿福大288有機(jī)化學(xué),求調(diào)劑 +3 | 小木蟲200408204 2026-03-18 | 3/150 |
|