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

正文內(nèi)容

畢業(yè)論文-基于android的便攜式健康監(jiān)測(cè)系統(tǒng)——android系統(tǒng)開發(fā)-資料下載頁

2025-06-03 21:09本頁面
  

【正文】 // 用于存放所有需要繪制的折線的風(fēng)格 private static XYMultipleSeriesRenderer mXYMultipleSeriesRenderer。 // 表格的基類 private static GraphicalView chart。 蘭州理工大學(xué)畢業(yè)設(shè) 計(jì) 20 在接收數(shù)據(jù)的基礎(chǔ),將數(shù)據(jù)以 2: 1 的比例用于繪圖,這是因?yàn)槔L圖時(shí)給刷新整個(gè)界面并保留原有數(shù)據(jù),線程工作量較大,如果以過高頻率刷新界面,那么 很容易引起界面的崩潰乃至應(yīng)用的退出,代碼如下: // 將接收到的數(shù)據(jù)疏散五倍進(jìn)行繪圖 if (() % 2 == 0) { // 將接收到的數(shù)據(jù)疏散五倍加入繪圖數(shù)據(jù)集合 ((() 1))。 // 響應(yīng)線程 (new Runnable() { @Override public void run() { refreshChart()。 } })。 } 可以看到, pluseHandler 在每一次滿足條件時(shí)運(yùn)行 refreshChart(),即刷新視圖: private static void refreshChart() { initLine(lineMaibo)。 ()。 } 在 refreshChart()中調(diào)用 initLine()方法,即繪圖方法體,在此方法體中利用 ()方法添加橫縱坐標(biāo),代碼如下: private static void initLine(XYSeries series) { // 當(dāng)集合 dataList 中的值超過一定額度時(shí),清空 int chartListSize = ()。 int dataListSize = ()。 xTemp = 0。 // 將縱坐標(biāo)賦值為最新接收到的數(shù)據(jù) yTemp = (dataListSize 1)。 // 如果心率曲線上揚(yáng)則調(diào)用心率判斷方法 if (chartListSize 2) if (yTemp 0 amp。amp。 (chartListSize 2) 0) { pluseSure()。 } // 以下為保留原圖曲線和新增數(shù)據(jù)點(diǎn) count = ()。 if (count 100) { count = 100。 } for (int i = 0。 i count。 i++) { x[i] = (i)。 蘭州理工大學(xué)畢業(yè)設(shè) 計(jì) 21 y[i] = (i)。 } ()。 (xTemp, yTemp)。 for (int i = 0。 i count。 i++) { (x[i] + 1, y[i])。 } } 其他還有 initChart(), initRenderer(), setChartSettings()等方法,都是為了設(shè)置圖表的固有屬性存在的,讀者可以自行在附錄或附帶的資源中查看源碼。 接收數(shù)據(jù)處理并繪圖其實(shí)在代碼中存在于一個(gè)類中( ),故而可以用整體的流程圖說明其工作流程,如圖 所示。 圖 接收后續(xù)流程圖 界面布局 界面布局主要由 xml 配置文件管理,一般來說,應(yīng)用中有多少個(gè)活動(dòng)界面,就需要多少否 是 否 返回 連接藍(lán)牙 接收到數(shù)據(jù) ? 存入文件 轉(zhuǎn)換數(shù)據(jù) 讀寫標(biāo)志 ? 監(jiān)測(cè)數(shù)據(jù) 波形圖 脈搏穩(wěn)定 ? 計(jì)算 BPM 開始 是 是 否 蘭州理工大學(xué)畢業(yè)設(shè) 計(jì) 22 布局文件,因?yàn)楸驹O(shè)計(jì)中并不要求有酷炫的界面效果,所有布局相對(duì)來說比較簡(jiǎn)單。 Button android:id=@+id/btnExam android:layout_width=wrap_content android:layout_height=wrap_content android:layout_alignParentTop=true android:layout_centerHorizontal=true android:layout_marginTop=115dp android:text=@string/btnExam / Button android:id=@+id/btnConsult android:layout_width=wrap_content android:layout_height=wrap_content android:layout_below=@+id/btnExam android:layout_centerHorizontal=true android:text=@string/btnConsult / Button android:id=@+id/btnPreference android:layout_width=wrap_content android:layout_height=wrap_content android:layout_below=@+id/btnConsult android:layout_centerHorizontal=true android:text=@string/btnPreference android:textColor=000/ 以上代碼為主界面布局,力求簡(jiǎn)潔明了,設(shè)置了三個(gè)按鈕及兩個(gè)文本,都有對(duì)應(yīng)的點(diǎn)擊事件相應(yīng),具體效果可以在運(yùn)行及測(cè)試中看到。其開發(fā)界面如下圖。 圖 圖形開發(fā)界面 注冊(cè)模塊 應(yīng)用用戶分為三種,未注冊(cè)用戶,注冊(cè)用戶,管理員。未注冊(cè)用戶只能使用測(cè)試功能,蘭州理工大學(xué)畢業(yè)設(shè) 計(jì) 23 注冊(cè)用戶開放咨詢與部分設(shè)置功能,管理員則擁有完整的權(quán)限。 在應(yīng)用啟動(dòng)后,未注冊(cè)只會(huì)顯示一個(gè)測(cè)試按鈕可用,其他按鈕則處于“不可用”狀態(tài),通過 setEnable()對(duì)其設(shè)置,代碼如下: (false)。 (false)。 而注冊(cè)界面,因?yàn)闀簳r(shí)不需要輸入太多信息的緣故,采用了彈出對(duì)話框的模式,設(shè)置“用戶名”和“密碼”兩個(gè)文本編輯框,三個(gè)按鈕“取消”“注冊(cè)”“登錄”,用戶不論是注冊(cè)還是登錄都在此對(duì)話框中進(jìn)行。 對(duì)話框與 Sqlite 輕量數(shù)據(jù)庫(kù)連接,會(huì)將注冊(cè)的用戶名和密碼封裝為一個(gè)對(duì)象 ”user”存入數(shù)據(jù)庫(kù) 中,凡是存取用戶皆由數(shù)據(jù)庫(kù)接管,部分代碼如下; dialog_edit_username = (EditText) view .findViewById()。 dialog_edit_password = (EditText) view .findViewById()。 (view).setPositiveButton(登錄 , new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { RegClickListener logListener = (RegClickListener) getActivity()。 (().toString(), ().toString())。 } }).setNeutralButton(注冊(cè) , new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { RegClickListener regListener = (RegClickListener) getActivity()。 (().toString(), ().toString())。 } }).setNegativeButton(取消 , null)。 以上代碼為設(shè)置對(duì)話三個(gè)按鈕的響應(yīng)事件,可以看到為“注冊(cè)”“登錄”兩個(gè)按鈕都設(shè)置了相應(yīng)的監(jiān)聽器,并將文本編輯框中填寫的文本傳入處理方法中。對(duì)填寫文本的處理方法則放在了主界面代碼下,這是因?yàn)橐袛嘤脩羰欠褡?cè),功能相當(dāng)于判斷是否能在數(shù)據(jù)庫(kù) 中找到相應(yīng)對(duì)象,部分代碼如下; @Override public void onReg(String username, String password) { ListUser users = ()。 boolean existFlag = false。 for (User u : users) { if (().equals(username)) { 蘭州理工大學(xué)畢業(yè)設(shè) 計(jì) 24 existFlag = true。 (e, (existFlag))。 } } if (existFlag) { (getApplicationContext(), 用戶名已存在 , ).show()。 } else { if (() 4 || () 6) { (getApplicationContext(), 用戶名或密碼長(zhǎng)度不符合標(biāo)準(zhǔn) , ).show()。 } else { User user = new User(username, password)。 (user)。 } } } @Override public void onLog(String username, String password) { ListUser users = ()。 User user = new User(username, password)。 if ((user)) { (true)。 (true)。 (username)。 (user, username)。 ()。 } else { (false)。 (false)。 } } 可以看到,在這兩個(gè)方法中出現(xiàn)了 User 與 userMgr 兩個(gè)類, User 為一個(gè)封裝的用戶對(duì)象,成員變量?jī)H兩個(gè),即用戶名與密友; userMgr 為 UserManager 一個(gè)實(shí)例, UserManager 則為繼承 SqliteOpenHelper 的一個(gè)子類,用于管理數(shù)據(jù)庫(kù),具體代碼過多,此處不再贅述,讀者可自行查閱源碼 [13]。此模塊已有功能,可由下列流程圖進(jìn)行說明,如圖 所示; 蘭州理工大學(xué)畢業(yè)設(shè) 計(jì) 25 圖 注冊(cè)模塊流程示意圖 設(shè)置模塊 設(shè)置模塊主要用于設(shè)置一些常規(guī)的配置,分為普通用戶和管理員進(jìn)行設(shè)置權(quán)限分配,管理員可以使用“用戶管理”中的全部功能,即“增加用戶”“刪除用戶”以及“查詢用戶”,普通用戶則只能使用“查詢用戶”功能,這是為了防止普通用戶無意將修改其他用戶資料而造成的數(shù)據(jù)泄漏。除此之外,還有設(shè)置繪圖中的自動(dòng)定時(shí)功能,和個(gè)人用戶的密碼修改功能。 設(shè)置模塊主要是布局文件的編寫,將視圖層層嵌套,以達(dá)到界面美觀舒適的效果,如下為查詢用戶的布局代碼 [14]; RelativeLayout android:id=@+id/queryUser android:layout_width=match_parent android:layout_height=wrap_content TextView android:layout_width=wrap_content android:layout_height=wrap_content android:text=查詢用戶 android:layout_marginLeft=10dp 否 是 開始 注冊(cè) 符合要求 ? 存入數(shù)據(jù)庫(kù) 登 錄 功能開放 部分功能未開放 結(jié)束 已注冊(cè) ? 是 否 蘭州理工大學(xué)畢業(yè)設(shè) 計(jì) 26 android:padding=4sp android:textSize=20sp / /RelativeLayout 在相應(yīng)的設(shè)置界面下,有此文本的監(jiān)聽器,以響應(yīng)點(diǎn)擊事件。點(diǎn)擊“查詢用戶”后,會(huì)給出當(dāng)前已注冊(cè)的用戶列表,部分代碼如下; protected void userList() { ListUser users = ()。 ListMapString, String userItems = new ArrayListMapString, String()。 for (int i = 0。 i ()。 i++) { User user = (i)。 MapString, String userItem = new HashMapString, String()
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1