




已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
研發(fā)生產(chǎn)中心文檔編號(hào)版本A1密級(jí)商密A項(xiàng)目名稱(chēng)Xx系統(tǒng)項(xiàng)目來(lái)源QR-RD-022(Ver1.2) XXX系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū) (內(nèi)部資料 請(qǐng)勿外傳)編 寫(xiě):日 期:檢 查:日 期:審 核:日 期:批 準(zhǔn):日 期:XX公司版權(quán)所有 不得復(fù)制文檔變更記錄序號(hào)變更(+/-)說(shuō)明作者版本號(hào)日期批準(zhǔn)12目 錄1. 引言41.1 編寫(xiě)目的和范圍41.2 術(shù)語(yǔ)表41.3 參考資料41.4 使用的文字處理和繪圖工具42. 全局?jǐn)?shù)據(jù)結(jié)構(gòu)說(shuō)明52.1 常量52.2 變量52.3 數(shù)據(jù)結(jié)構(gòu)53. 模塊設(shè)計(jì)53.1 用例圖53.2 功能設(shè)計(jì)說(shuō)明53.2.1 模塊153.2.2 模塊264. 接口設(shè)計(jì)74.1 內(nèi)部接口74.2 外部接口74.2.1 接口說(shuō)明74.2.2 調(diào)用方式85. 數(shù)據(jù)庫(kù)設(shè)計(jì)86. 系統(tǒng)安全保密設(shè)計(jì)86.1 說(shuō)明86.2 設(shè)計(jì)86.2.1 數(shù)據(jù)傳輸部分86.2.2 IP過(guò)濾分部86.2.3 身份驗(yàn)證部分87. 系統(tǒng)性能設(shè)計(jì)98. 系統(tǒng)出錯(cuò)處理91. 引言1.1 編寫(xiě)目的和范圍說(shuō)明寫(xiě)這份詳細(xì)設(shè)計(jì)說(shuō)明書(shū)的目的。本詳細(xì)設(shè)計(jì)說(shuō)明書(shū)編寫(xiě)的目的是說(shuō)明程序模塊的設(shè)計(jì)考慮,包括程序描述、輸入/輸出、算法和流程邏輯等,為軟件編程和系統(tǒng)維護(hù)提供基礎(chǔ)。本說(shuō)明書(shū)的預(yù)期讀者為系統(tǒng)設(shè)計(jì)人員、軟件開(kāi)發(fā)人員、軟件測(cè)試人員和項(xiàng)目評(píng)審人員。1.2 術(shù)語(yǔ)表定義系統(tǒng)或產(chǎn)品中涉及的重要術(shù)語(yǔ),為讀者在閱讀文檔時(shí)提供必要的參考信息。序號(hào)術(shù)語(yǔ)或縮略語(yǔ)說(shuō)明性定義1PMProject Manager,項(xiàng)目經(jīng)理21.3 參考資料列出有關(guān)資料的名稱(chēng)、作者、文件編號(hào)或版本等。參考資料包括:a需求說(shuō)明書(shū)、架構(gòu)設(shè)計(jì)說(shuō)明書(shū)等;b本項(xiàng)目的其他已發(fā)表的文件;c引用文件、資料、軟件開(kāi)發(fā)標(biāo)準(zhǔn)等。 資料名稱(chēng)作者文件編號(hào)、版本資料存放地點(diǎn)1.4 使用的文字處理和繪圖工具文字處理軟件:word office繪圖工具: Visio2. 全局?jǐn)?shù)據(jù)結(jié)構(gòu)說(shuō)明本章說(shuō)明本程序系統(tǒng)中使用的全局?jǐn)?shù)據(jù)常量、變量和數(shù)據(jù)結(jié)構(gòu)。2.1 常量static String SERVER_ADDRESS 服務(wù)器地址boolean loginFlag 登錄狀態(tài)2.2 變量BlueUserInfo用戶(hù)賬戶(hù)結(jié)構(gòu)體2.3 數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)結(jié)構(gòu)名稱(chēng),功能說(shuō)明,具體數(shù)據(jù)結(jié)構(gòu)說(shuō)明(定義、注釋、取值)等。3. 模塊設(shè)計(jì)3.1 用例圖3.2 功能設(shè)計(jì)說(shuō)明3.2.1 登錄模塊模塊1主要分為以下幾個(gè)子模塊:子模塊1、子模塊2和子模塊N。 設(shè)計(jì)圖 功能描述此模塊的主要功能是登錄驗(yàn)證功能,保證程序的安全性問(wèn)題。用戶(hù)需要驗(yàn)證用戶(hù)和密碼是否正確才能進(jìn)行下一部操作。 輸入數(shù)據(jù)變量名類(lèi)型說(shuō)明userNameString用戶(hù)名(必填)passwordString密碼(必填)STOPSPLASHint開(kāi)場(chǎng)動(dòng)畫(huà)標(biāo)志位SPLASHTIMElong消息發(fā)送延遲時(shí)間LOGINBUTTONint 登錄按鈕是否能夠點(diǎn)擊標(biāo)志位 輸出數(shù)據(jù)字段說(shuō)明code結(jié)果,0表示失敗,1表示成功,2表示該養(yǎng)殖場(chǎng)地不存在,3表示該Rfid已存在userName用戶(hù)名PassWord密碼userRoleld用戶(hù)權(quán)限,1代表系統(tǒng)用戶(hù),2 代表人事部,3代表育苗場(chǎng),4代表生產(chǎn)部,5代表加工廠,6 代表市場(chǎng)部,7代表捕撈管理員 表現(xiàn)形式為:code= 流程圖 源程序文件說(shuō)明 函數(shù)說(shuō)明對(duì)密碼進(jìn)行MD5加密:md5(密碼)將用戶(hù)的賬號(hào)密碼暫時(shí)保存等下次登錄時(shí)可以不用再次輸入:saveUserInfo(Activity名,用戶(hù)名,密碼) 限制條件必須在有網(wǎng)的條件下能使用登錄功能。3.2.2 人員管理 設(shè)計(jì)圖 功能描述通過(guò)手持設(shè)備掃描員工的RFID號(hào),并在員工工號(hào)的輸入框手動(dòng)輸入員工工號(hào),并將兩條數(shù)據(jù)上傳到服務(wù)器中的數(shù)據(jù)庫(kù)。將員工工號(hào)與RFID號(hào)相互綁定。 輸入數(shù)據(jù)變量名屬性說(shuō)明numberstring 員工的員工號(hào)(必填)rfidstring員工的RFID號(hào)(必填)如:E2005032530B0187144085E3在檢測(cè)數(shù)據(jù)的有效性是像是判斷數(shù)據(jù)是否為空,當(dāng)向服務(wù)器發(fā)送消息時(shí)服務(wù)器會(huì)對(duì)數(shù)據(jù)進(jìn)行有效性檢測(cè),顯示判斷員工的員工號(hào)是否存在,員工的RFID號(hào)是否已被其他工作人員應(yīng)將綁定。這些數(shù)據(jù)的獲取離不開(kāi)具有RFID掃描功能的手持設(shè)備,對(duì)員工的RFID卡進(jìn)行掃描獲取RFID號(hào)。才實(shí)現(xiàn)此功能 輸出數(shù)據(jù)變量名屬性說(shuō)明numberstring 員工的員工號(hào)rfidstring員工的RFID號(hào)flagint 數(shù)據(jù)存儲(chǔ)狀態(tài)的標(biāo)志位 業(yè)務(wù)算法和流程 數(shù)據(jù)設(shè)計(jì)給出本程序中的局部數(shù)據(jù)結(jié)構(gòu)說(shuō)明,包括數(shù)據(jù)結(jié)構(gòu)名稱(chēng),功能說(shuō)明,具體數(shù)據(jù)結(jié)構(gòu)說(shuō)明(定義、注釋設(shè)計(jì)、取值)等。相關(guān)數(shù)據(jù)庫(kù)表,數(shù)據(jù)存儲(chǔ)設(shè)計(jì)(具體說(shuō)明需要以文件方式保存的數(shù)據(jù)文件名、數(shù)據(jù)存儲(chǔ)格式、數(shù)據(jù)項(xiàng)及屬性等。) 源程序文件說(shuō)明package com.blueocean.BlueOceanSource.ui;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import cn.pda.hf.Util;import com.blueocean.BlueOceanSource.R;import com.blueocean.BlueOceanSource.entity.BlueOceanEmployee;import com.blueocean.BlueOceanSource.service.BlueOceanEmployeeService;import com.blueocean.BlueOceanSource.service.UploadService;import com.blueocean.BlueOceanSource.utility.RfidScan;/引入RFID掃描的開(kāi)發(fā)包/* * Created by zhouxingguo on 2015/7/15. */public class EmployeeActivity extends Activity private Button scan; private Button saveMessage;/保存員工信息 private EditText inputNumber;/員工編號(hào)、卡號(hào) private TextView inputRfid;/員工RFID信息 private String number;/獲取得到的卡號(hào)、編號(hào) private String rfid;/獲取得到的RFID private RfidScan rfidScan; private String rfidget; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_employee); Util.initSoundPool(this); init();/獲取RFID號(hào)和員工工號(hào)并保存到本地?cái)?shù)據(jù)庫(kù) /初始化控件 private void init() inputNumber = (EditText) findViewById(R.id.input_employee_number); inputRfid = (TextView) findViewById(R.id.input_employee_rfid); saveMessage = (Button) findViewById(R.id.save_message_employee); scan=(Button)findViewById(R.id.scan_rfid); MyListener listener = new MyListener(this); saveMessage.setOnClickListener(listener); scan.setOnClickListener(listener);/ datareceive = getIntent().getExtras();/ dataflag=datareceive.getInt(dataflag);/ /0代表從主界面跳轉(zhuǎn),1代表從掃描接口跳轉(zhuǎn)/ if(dataflag=0)/ inputRfid.setText(請(qǐng)掃描員工卡號(hào));/ else if(dataflag=1)/ rfidget = datareceive.getString(rfid);/0代表從員工錄入跳轉(zhuǎn),1代表從快遞跳轉(zhuǎn)/ inputRfid.setText(rfidget);/ private class MyListener implements View.OnClickListener private Context context; public MyListener(Context context) this.context = context; Override public void onClick(View view) switch (view.getId() case R.id.scan_rfid: rfidScan=new RfidScan(); rfidget=rfidScan.scan(); if(rfidget!=null) inputRfid.setText(rfidget); else Toast.makeText(getApplicationContext(),R.string.scan_rfid_fail, Toast.LENGTH_SHORT).show(); break; case R.id.save_message_employee:/保存員工信息按鈕到數(shù)據(jù)庫(kù),保存成功之后清空editText /要保證輸入的信息不能全部為空 if (!TextUtils.isEmpty(inputNumber.getText() & !TextUtils.isEmpty(inputRfid.getText() number = inputNumber.getText().toString().trim(); rfid = inputRfid.getText().toString().trim(); BlueOceanEmployeeService employeeService = new BlueOceanEmployeeService(context); BlueOceanEmployee boe = new BlueOceanEmployee(); int flag = 0;/0表示保存到本地?cái)?shù)據(jù)庫(kù), 1表示本地?cái)?shù)據(jù)庫(kù)數(shù)據(jù)待刪除 boe.setFlag(flag); boe.setNumber(number); boe.setRfid(rfid); employeeService.insert(boe); inputNumber.setText(); inputRfid.setText(); Toast.makeText(getApplicationContext(), R.string.bind_success, Toast.LENGTH_LONG).show(); /開(kāi)辟一個(gè)新線程上傳數(shù)據(jù) new Thread(networkTask).start(); Toast.makeText(getApplicationContext(), R.string.save_success_toast, Toast.LENGTH_LONG).show(); else Toast.makeText(getApplicationContext(), R.string.employee_rfid_number_not_null, Toast.LENGTH_LONG).show(); break; Runnable networkTask = new Runnable() Override public void run() / TODO / 在這里進(jìn)行 http request.網(wǎng)絡(luò)請(qǐng)求相關(guān)操作 UploadService uploadService = new UploadService(); uploadService.upload(getApplicationContext(); ; 函數(shù)說(shuō)明大掃描RFID就成功時(shí)發(fā)出提示音:Util.initSoundPool(activity名稱(chēng));程序的主體:init();開(kāi)啟數(shù)據(jù)上傳線程:networkTask 限制條件要實(shí)現(xiàn)此功能必須要具備可以掃描RFID功能的手持設(shè)備,不然無(wú)法掃描員工的RFID號(hào)。3.2.3 池塘管理 設(shè)計(jì)圖 功能描述此模塊主要實(shí)現(xiàn)的功能是掃描池塘的RFID,并手動(dòng)輸入池塘編號(hào),并將其保存到本地?cái)?shù)據(jù)庫(kù)。并等到有網(wǎng)的條件下,將此條信息上傳到服務(wù)器端的數(shù)據(jù)庫(kù)。實(shí)現(xiàn)池塘RFID號(hào)與池塘編號(hào)的綁定。 輸入數(shù)據(jù)變量名屬性說(shuō)明numberstring 池塘編號(hào)(必填)如:育苗池1rfidstring池塘的RFID號(hào)(必填) :E2005032530B0187144085E3在檢測(cè)數(shù)據(jù)有效性時(shí),需要檢測(cè)數(shù)據(jù)是否為空。這些數(shù)據(jù)的獲取離不開(kāi)具有RFID掃描功能的手持設(shè)備,對(duì)池塘的RFID卡進(jìn)行掃描獲取RFID號(hào)。才實(shí)現(xiàn)此功能 輸出數(shù)據(jù)變量名屬性說(shuō)明numberstring 池塘編號(hào)rfidstring池塘的RFID號(hào)flagInt數(shù)據(jù)存儲(chǔ)標(biāo)志位 業(yè)務(wù)算法和流程 數(shù)據(jù)設(shè)計(jì)給出本程序中的局部數(shù)據(jù)結(jié)構(gòu)說(shuō)明,包括數(shù)據(jù)結(jié)構(gòu)名稱(chēng),功能說(shuō)明,具體數(shù)據(jù)結(jié)構(gòu)說(shuō)明(定義、注釋設(shè)計(jì)、取值)等。相關(guān)數(shù)據(jù)庫(kù)表,數(shù)據(jù)存儲(chǔ)設(shè)計(jì)(具體說(shuō)明需要以文件方式保存的數(shù)據(jù)文件名、數(shù)據(jù)存儲(chǔ)格式、數(shù)據(jù)項(xiàng)及屬性等。) 源程序文件說(shuō)明package com.blueocean.BlueOceanSource.ui;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import cn.pda.hf.Util;import com.blueocean.BlueOceanSource.R;import com.blueocean.BlueOceanSource.entity.BlueOceanPond;import com.blueocean.BlueOceanSource.service.BlueOceanPondService;import com.blueocean.BlueOceanSource.service.UploadService;import com.blueocean.BlueOceanSource.utility.RfidScan;/* * Created by zhouxingguo on 2015/7/15. */public class PondActivity extends Activity private Button scanPond;/點(diǎn)擊掃描池塘 private Button bindPond;/綁定池塘編號(hào)和RFID信息 private EditText pondNumber;/池塘編號(hào)、卡號(hào) private TextView pondRfid;/池塘RFID信息 private String number;/獲取得到的卡號(hào)、編號(hào) private String rfid;/獲取得到的RFID private RfidScan rfidScan; private String rfidget; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_pond); Util.initSoundPool(this); init(); /初始化控件 private void init() pondNumber = (EditText) findViewById(R.id.input_pond_number); pondRfid = (TextView) findViewById(R.id.input_pond_rfid); scanPond=(Button)findViewById(R.id.scan_pond_rfid); bindPond = (Button) findViewById(R.id.bind_pond); MyListener listener = new MyListener(this); scanPond.setOnClickListener(listener); bindPond.setOnClickListener(listener); private class MyListener implements View.OnClickListener private Context context; public MyListener(Context context) this.context = context; Override public void onClick(View view) Log.d(aa,進(jìn)入點(diǎn)擊); switch (view.getId() case R.id.scan_pond_rfid: rfidScan=new RfidScan(); rfidget=rfidScan.scan(); if(rfidget!=null) pondRfid.setText(rfidget); else Toast.makeText(getApplicationContext(),R.string.scan_rfid_fail, Toast.LENGTH_SHORT).show(); break; case R.id.bind_pond:/保存員工信息按鈕到數(shù)據(jù)庫(kù),保存成功之后清空editText /要保證輸入的信息不能全部為空 if (!TextUtils.isEmpty(pondNumber.getText() & !TextUtils.isEmpty(pondRfid.getText() number = pondNumber.getText().toString().trim(); rfid = pondRfid.getText().toString().trim(); BlueOceanPondService pondService = new BlueOceanPondService(context); BlueOceanPond boe = new BlueOceanPond(); int flag = 0;/0表示保存到本地?cái)?shù)據(jù)庫(kù), 1表示本地?cái)?shù)據(jù)庫(kù)數(shù)據(jù)待刪除 boe.setFlag(flag); boe.setNumber(number); boe.setRfid(rfid); pondService.insert(boe); pondNumber.setText(); pondRfid.setText(); Toast.makeText(getApplicationContext(), R.string.bind_success, Toast.LENGTH_LONG).show(); /開(kāi)辟一個(gè)新線程上傳數(shù)據(jù) new Thread(networkTask).start(); else Toast.makeText(getApplicationContext(), R.string.pond_rfid_number_not_null, Toast.LENGTH_LONG).show(); break; Runnable networkTask = new Runnable() Override public void run() / TODO / 在這里進(jìn)行 http request.網(wǎng)絡(luò)請(qǐng)求相關(guān)操作 UploadService uploadService = new UploadService(); uploadService.upload(PondActivity.this); ; 函數(shù)說(shuō)明當(dāng)掃描RFID就成功時(shí)發(fā)出提示音:Util.initSoundPool(activity名稱(chēng));程序的主體:init();開(kāi)啟數(shù)據(jù)上傳線程:networkTask 限制條件要實(shí)現(xiàn)此功能必須要具備可以掃描RFID功能的手持設(shè)備,不然無(wú)法掃描員工的RFID號(hào)。3.2.4 育苗管理 設(shè)計(jì)圖 功能描述本功能主要是對(duì)員工對(duì)育苗池的操作進(jìn)行記錄,顯示掃描員工RFID、池塘RFID。還要掃描海產(chǎn)品的批次二維碼,當(dāng)員工對(duì)池塘進(jìn)行操作時(shí),需要記錄操作類(lèi)型,并且記錄池塘的溫度。經(jīng)這些信息記錄到本地?cái)?shù)據(jù)庫(kù)。 輸入數(shù)據(jù)變量名屬性說(shuō)明rfidgetUserstring 員工的RFID (必填) 如:E2005032530B0187144085E3rfidgetPoolstring池塘的RFID號(hào)(必填) 如:E2005032530B017318305B53BatchString批次二維碼(必填) /show.html?id=18FC90BE5B8124AF983421D29BFC4352getEvenTypeString操作類(lèi)型(必填) ,包括:喂食、換水、測(cè)溫、入池、投放tempString 溫度(非必填)如:10timeString 時(shí)間(必填)如:201603110922在檢測(cè)數(shù)據(jù)有效性時(shí),需要檢測(cè)rfidgetUser與rfidgetPool兩個(gè)輸入變量是否為空。這些數(shù)據(jù)的獲取離不開(kāi)具有RFID掃描功能及二維碼掃描的手持設(shè)備,對(duì)池塘的RFID卡進(jìn)行掃描并獲取RFID號(hào)并且對(duì)池塘上的產(chǎn)品批次二維碼進(jìn)行掃描,獲取產(chǎn)品批次二維碼。 輸出數(shù)據(jù)變量名屬性說(shuō)明rfidgetUserstring 員工的RFID rfidgetPoolstring池塘的RFID號(hào)DataString批次二維碼,如:getEvenTypeString操作類(lèi)型tempString溫度:10flagint數(shù)據(jù)存儲(chǔ)標(biāo)志位 業(yè)務(wù)算法和流程 數(shù)據(jù)設(shè)計(jì)給出本程序中的局部數(shù)據(jù)結(jié)構(gòu)說(shuō)明,包括數(shù)據(jù)結(jié)構(gòu)名稱(chēng),功能說(shuō)明,具體數(shù)據(jù)結(jié)構(gòu)說(shuō)明(定義、注釋設(shè)計(jì)、取值)等。相關(guān)數(shù)據(jù)庫(kù)表,數(shù)據(jù)存儲(chǔ)設(shè)計(jì)(具體說(shuō)明需要以文件方式保存的數(shù)據(jù)文件名、數(shù)據(jù)存儲(chǔ)格式、數(shù)據(jù)項(xiàng)及屬性等。) 源程序文件說(shuō)明package com.blueocean.BlueOceanSource.ui;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.os.Handler;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.view.inputmethod.EditorInfo;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.Spinner;import android.widget.TextView;import android.widget.Toast;import com.blueocean.BlueOceanSource.R;import com.blueocean.BlueOceanSource.entity.BlueOceanEvent;import com.blueocean.BlueOceanSource.service.BlueOceanEventService;import com.blueocean.BlueOceanSource.service.UploadService;import com.blueocean.BlueOceanSource.utility.DateDefined;import com.blueocean.BlueOceanSource.utility.RfidScan;import java.util.ArrayList;import java.util.List;import cn.pda.hf.Util;import cn.pda.scan.ScanThread;/*保苗階段activity * Created by zhouxingguo on 2015/7/15. */public class YouthActivity extends Activity private Button scanUser;/掃描員工rfid private Button scanPond;/掃描池塘RFID private Button saveButton;/保存信息 private Button scanQrcode;/掃描池塘二維碼批次信息 private TextView userRfid;/員工RFID信息 private EditText poolRfid;/池子RFID信息 private TextView pondQrcode;/池塘二維碼包含的批次信息 private EditText temperature;/輸入池塘溫度 private String rfidUser;/獲取得到的RFID private RfidScan rfidScanUser;/rfid掃描user 類(lèi) private String rfidgetUser;/獲取得到的userRfid private String rfidPool;/獲取得到的池子RFID private RfidScan rfidScanPool;/rfid掃描池子 類(lèi) private String rfidgetPool;/獲取得到的poolRfid private String batch;/獲取池子標(biāo)簽上的批次二維碼信息 private Spinner spinner;/操作類(lèi)型下拉控件 private List eventList;/操作類(lèi)型數(shù)據(jù)源 private ArrayAdapter adapter;/適配器適配操作類(lèi)型列表 private String getEventType; private String poolTemp=;/池子溫度,暫時(shí)用不到 private String data; private BroadcastReceiver receive; private ScanThread scanThread; private Handler mHandler = new Handler() public void handleMessage(android.os.Message msg) if (msg.what = ScanThread.SCAN) data = msg.getData().getString(data); Log.d(acc_data,data); Util.play(1, 0); pondQrcode.setText(data); ; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_youth); Util.initSoundPool(this); init_spinner(); init(); /* * 開(kāi)啟二維碼掃描線程 * */ try scanThread = new ScanThread(mHandler); catch (Exception e) Toast.makeText(getApplicationContext(), serialport init fail, 0).show(); return; scanThread.start(); receive = new FunkeyListener(); /代碼注冊(cè)廣播接收者 IntentFilter filter = new IntentFilter(); filter.addAction(ent.action.FUN_KEY); registerReceiver(receive, filter); Util.initSoundPool(getApplication(); private class FunkeyListener extends BroadcastReceiver Override public void onReceive(Context context, Intent intent) boolean defaultdown=false; int keycode = intent.getIntExtra(keycode, 0); boolean keydown = intent.getBooleanExtra(keydown, defaultdown); if(keycode = 134 & keydown) scanThread.scan(); /初始化控件 private void init() userRfid = (TextView)findViewById(R.id.input_baomiao_user); poolRfid = (EditText)findViewById(R.id.input_baomiao_pond); pondQrcode = (TextView)findViewById(R.id.input_baomiao_pond_qrcode); temperature = (EditText)findViewById(R.id.input_temperature); temperature.setInputType(EditorInfo.TYPE_CL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市崇文區(qū)2025屆數(shù)學(xué)四下期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 西安石油大學(xué)《泌尿、生殖與內(nèi)分泌系統(tǒng)醫(yī)學(xué)教程》2023-2024學(xué)年第二學(xué)期期末試卷
- 四平職業(yè)大學(xué)《設(shè)計(jì)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 棗莊科技職業(yè)學(xué)院《職前與就業(yè)訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年全球光纖行業(yè)深度洞察:市場(chǎng)規(guī)模達(dá)480億美元 技術(shù)創(chuàng)新重塑產(chǎn)業(yè)格局
- N1叉車(chē)司機(jī)模擬試題及答案
- 頂樓樓梯欄桿施工方案
- 公墓改造現(xiàn)場(chǎng)施工方案
- 2025年科目一公路試題及答案
- 分體空調(diào)施工方案
- 2024版質(zhì)量管理培訓(xùn)
- 籃球比賽記錄表(CBA專(zhuān)用)
- 人防門(mén)吊環(huán)后補(bǔ)方案
- 企業(yè)技術(shù)中心可行性分析報(bào)告書(shū)
- 單軌吊軌道的吊掛形式及安裝標(biāo)準(zhǔn)
- 新沂市公安局看守所、拘留所、武警中隊(duì)新建工程實(shí)施方案;
- 建筑工程建筑面積計(jì)算規(guī)范(國(guó)標(biāo))
- IC常用封裝封裝尺寸
- 幼兒園晨間戶(hù)外鍛煉器械使用安排表
- 砂石骨料項(xiàng)目規(guī)劃設(shè)計(jì)方案(范文)
- 一車(chē)間計(jì)量器具管理辦法
評(píng)論
0/150
提交評(píng)論