這是Zxing 在Fragment中實現(xiàn)二維碼掃描下載,二維碼現(xiàn)在越來越火爆,使用的越發(fā)廣泛,對于二維碼二維碼的生成與解析,有多種途徑,這里我選擇用google老大的ZXing。
Zxing 在Fragment中實現(xiàn)二維碼掃描是其中劉超大神使用ZXing寫了一個快速集成二維碼掃描的工具類,實現(xiàn)其核心的實現(xiàn)掃描的功能。使用時通過調(diào)用二維碼工具類,幾行代碼就可以實現(xiàn)二維碼掃描的功能。
•可打開默認(rèn)二維碼掃描頁面
•支持對圖片Bitmap的掃描功能
•支持對UI的定制化操作
•支持對條形碼的掃描功能
•支持生成二維碼操作
•支持控制閃光燈開關(guān)
最近項目有個需求是要在fragment中掃描二維碼,之前看到網(wǎng)上有資源是在Activity實現(xiàn)的,很好用,所以今天抽空把它改到fragment里面去了。
改的過程并沒有很復(fù)雜,就是把a(bǔ)ctivity和fragment中有區(qū)別的地方抽象出來一個共用的接口,然后在activity和fragment中去不同的實現(xiàn)相關(guān)代碼,然后在fragment中用getActivity()代替直接調(diào)用。
啟動掃描的Activity是用startActivityForResult啟動的,掃描完畢后,原來的是直接setResult并且把Activity給finish掉,但是在fragment中,可能并不是這樣的需求,我就把掃描結(jié)果用廣播發(fā)出來了,反正掃描的結(jié)果也只是一個String,開發(fā)者只需要在fragment中注冊一個廣播就好。
大概過程就是這樣,具體也說不清,我把原來的項目和我改好的項目一起發(fā)給大家,大家看代碼就知道了。