freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于安卓的快遞運(yùn)單管理系統(tǒng)畢業(yè)論文-資料下載頁(yè)

2025-06-27 20:33本頁(yè)面
  

【正文】 相應(yīng)的功能界面。 在工程res\layout\目錄下創(chuàng)建一個(gè)布局文件,該布局文件外層是LinearLayout,使用一個(gè)圖片資源充當(dāng)背景色,內(nèi)層是一個(gè)GridView。系統(tǒng)主菜單如下圖55所示:圖55系統(tǒng)主界面,具體如下:LinearLayout xmlns:android= android:layout_width=match_parent android:layout_height=match_parent android:orientation=vertical GridView android:id=@+id/gv_main android:layout_width=match_parent android:layout_height=match_parent android:verticalSpacing=8dip android:numColumns=3 //LinearLayout 客戶(hù)端用戶(hù)掃描模塊實(shí)現(xiàn) 業(yè)務(wù)員掃描運(yùn)單是本系統(tǒng)最核心的功能,而基于不同的對(duì)象指定了不同的掃描任務(wù),包括收件掃描、發(fā)件掃描、到件掃描、簽收掃描。 運(yùn)單掃描 運(yùn)單掃描是讀取運(yùn)單條形碼上的運(yùn)單號(hào),如圖56,點(diǎn)擊掃描進(jìn)入掃描界面,點(diǎn)擊發(fā)送,把對(duì)應(yīng)的狀態(tài)修改上傳服務(wù)器,通過(guò)服務(wù)器對(duì)運(yùn)單狀態(tài)修改。圖56掃描界面 攝像頭掃描點(diǎn)擊掃描后,手機(jī)調(diào)用攝像頭開(kāi)始掃描,掃描成功后返回掃描到的訂單號(hào)。解碼時(shí)開(kāi)啟ScannerActivity,ScannerActivity中調(diào)用CameraPreview類(lèi),CameraPreview類(lèi)繼承SurfaceView,撲捉相機(jī)畫(huà)面。對(duì)運(yùn)單的解碼要調(diào)用一個(gè)封裝好的API ZBar,具體代碼如下:public class ScannerActivity extends Activity{ private Camera mCamera。//攝像機(jī) private CameraPreview mPreview。//捕捉和顯示相機(jī)畫(huà)面 private Handler autoFocusHandler。//為了添加一個(gè)單獨(dú)的線(xiàn)程來(lái)實(shí)現(xiàn)對(duì)焦的類(lèi) private Intent intent。 TextView scanText。 Button scanButton。//布局中的文本和按鍵 ImageScanner scanner。//這個(gè)類(lèi)就是ZBar提供給我們的掃描二維碼并解碼的主要接口 private boolean barcodeScanned = false。//一個(gè)標(biāo)志變量,確定是否獲得條碼 private boolean previewing = true。//標(biāo)識(shí)變量,確定是否正在捕捉畫(huà)面,來(lái)控制自動(dòng)對(duì)焦線(xiàn)程的啟動(dòng)和停止 //靜態(tài)代碼塊 static { (iconv)。//這是載入ZBar為我們提供好的解碼的核心庫(kù) } public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。 setRequestedOrientation()。//設(shè)置為豎屏 autoFocusHandler = new Handler()。//獲取handler實(shí)例 mCamera = getCameraInstance()。//獲取相機(jī)實(shí)例 /* Instance barcode scanner */ scanner = new ImageScanner()。//獲取ImageScanner實(shí)例并設(shè)置其參數(shù) (0, , 3)。 (0, , 3)。 mPreview = new CameraPreview(this, mCamera, previewCb, autoFocusCB)。//獲取CameraPreview實(shí)例 FrameLayout preview = (FrameLayout)findViewById()。 (mPreview)。//把初始化完成的CameraPreview實(shí)例動(dòng)態(tài)加載到頁(yè)面上的FrameLayout上 scanText = (TextView)findViewById()。 scanButton = (Button)findViewById()。 //為按鈕加載監(jiān)聽(tīng)器 (new OnClickListener() { public void onClick(View v) { //判斷是否取得解碼結(jié)果,是的話(huà)重啟掃描程序 if (barcodeScanned) { barcodeScanned = false。//重置標(biāo)示變量 (Scanning...)。 (previewCb)。//重新加載回調(diào)程序 ()。//啟動(dòng)畫(huà)面捕捉 previewing = true。 (autoFocusCB)。//對(duì)焦 } } })。 } //釋放相機(jī) public void onPause() { ()。 releaseCamera()。 } /** A safe way to get an instance of the Camera object. */ //標(biāo)準(zhǔn)的獲取相機(jī)實(shí)例的方法,先賦值null清空,再用try,catch打開(kāi)一個(gè)新相機(jī)實(shí)例 public static Camera getCameraInstance(){ Camera c = null。 try { c = ()。 } catch (Exception e){ } return c。 } //相機(jī)用完以后,對(duì)相機(jī)完全釋放,避免內(nèi)存泄漏 private void releaseCamera() { if (mCamera != null) { previewing = false。 (null)。//斷開(kāi)與PreviewCallback的連接 ()。//釋放 mCamera = null。//清空 } } //自動(dòng)對(duì)焦的子線(xiàn)程 private Runnable doAutoFocus = new Runnable() { public void run() { if (previewing)//判斷掃描標(biāo)志位,如果在掃描中,則啟動(dòng)自動(dòng)對(duì)焦 (autoFocusCB)。 } }。 PreviewCallback previewCb = new PreviewCallback() {//PreviewCallback能夠時(shí)時(shí)的取得相機(jī)捕捉到的畫(huà)面復(fù)本,我們也就是利用這個(gè)復(fù)本來(lái)進(jìn)行解碼的 public void onPreviewFrame(byte[] data, Camera camera) {//這個(gè)方法中的byte[] data參數(shù)就是相機(jī)捕捉到的畫(huà)面轉(zhuǎn)換成的byte數(shù)組 parameters = ()。//獲得相機(jī)參數(shù) Size size = ()。//獲得相機(jī)的尺寸 /*這是ZBar為我們提供的第二個(gè)類(lèi),加上一種圖片格式,這里用的是39。Y80039。 創(chuàng)建 *一個(gè)Image(圖片), ImageScanner就是通過(guò)掃描這個(gè)image來(lái)實(shí)現(xiàn)解碼的 */ Image barcode = new Image(, , Y800)。 (data)。//把之前獲取到畫(huà)面數(shù)據(jù)綁定到image圖片上 int result = (barcode)。//啟動(dòng)掃描并獲取結(jié)果 if (result != 0) {//如果result不為0,表明解碼成功,則停止相機(jī)繼續(xù)捕捉畫(huà)面,轉(zhuǎn)換解碼結(jié)果 previewing = false。 (null)。 ()。 StringBuilder string = new StringBuilder()。//首先,new一個(gè)StringBuilder把擋收的結(jié)果轉(zhuǎn)化為String ()。 //獲取結(jié)果, SymbolSet是ZBar為我們提供的第三個(gè)類(lèi),通過(guò)這個(gè)類(lèi)可以取得ImageScanner掃描到的結(jié)果 SymbolSet syms = ()。 //遍歷SymbolSet for (Symbol sym : syms) { (())。//組裝String barcodeScanned = true。 } intent = new Intent(, )。 (Result, ())。//把結(jié)果轉(zhuǎn)化為String并傳給intent (RESULT_OK, intent)。//把intent回傳給MainActivity finish()。 } } }。 // Mimic continuous autofocusing AutoFocusCallback autoFocusCB = new AutoFocusCallback() { public void onAutoFocus(boolean success, Camera camera) { (doAutoFocus, 1000)。//doAutoFoucs是一個(gè)Runnable的對(duì)象,利用Handler的postDelayed()方法,每隔一秒啟動(dòng)一次自動(dòng)對(duì)焦子線(xiàn)程 } }。}//繼承SurfaceView,相當(dāng)于一個(gè)畫(huà)布,顯示相機(jī)撲捉的畫(huà)面public class CameraPreview extends SurfaceView implements { private SurfaceHolder mHolder。//實(shí)現(xiàn)對(duì)SurfaceVIew的控制 private Camera mCamera。//要調(diào)用攝像頭,先要聲明一個(gè)攝像頭 private PreviewCallback previewCallback。//這個(gè)回調(diào)方法就是解碼程序與相機(jī)捕捉到的畫(huà)面之間的接口,在CameraTestActivity中具體實(shí)現(xiàn) private AutoFocusCallback autoFocusCallback。//用來(lái)讓相機(jī)自動(dòng)對(duì)焦的方法,具體的實(shí)現(xiàn)過(guò)程在CameraTestActivity中 public CameraPreview(Context context, Camera camera, PreviewCallback previewCb, AutoFocusCallback autoFocusCb) { super(context)。 //實(shí)例化對(duì)象 mCamera = camera。 previewCallback = previewCb。 autoFocusCallback = autoFocusCb。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1