国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的圖書館座位查詢系統(tǒng)

2019-03-11 07:29:31陸雨聲
智能計算機與應(yīng)用 2019年6期
關(guān)鍵詞:安卓

陸雨聲

摘要:為了幫助讀者快速尋找空位和圖書館管理員及時處理占位情況,本文介紹了基于Android的圖書館座位查詢系統(tǒng)的開發(fā)過程。該系統(tǒng)運用計算機算法、人體紅外感應(yīng)模塊、數(shù)據(jù)庫等技術(shù),實現(xiàn)向用戶實時反映空位信息的功能,減少一定程度的占位現(xiàn)象,提高圖書館公共資源的智能化和使用率。

關(guān)鍵詞:圖書館座位管理;座位查詢系統(tǒng);安卓;人體感應(yīng)

0 引言

目前使用的定位方法一般都是衛(wèi)星定位。通過衛(wèi)星定位的信息,能實時地告訴用戶出行時的位置和道路的交通情況,很大程度上方便了用戶的出行。類比這類軟件,本文中的圖書館座位查詢系統(tǒng)使用的是人體傳感器定位,呈現(xiàn)給用戶的是更精確的位置信息,方便用戶掌握圖書館座位的使用情況。相信這種能結(jié)合生活不同場合和人體感應(yīng)技術(shù),并能提供精確的定位信息的軟件在以后的生活需求中會有更多更好的發(fā)展方向。除了圖書館座位查詢,本系統(tǒng)的研發(fā)也可投入到其它領(lǐng)域使用,為更多的人帶來方便,創(chuàng)造更多的社會價值。

1 系統(tǒng)總體設(shè)計

系統(tǒng)總架構(gòu)主要由三部分組成,硬件端、服務(wù)器端以及Android平臺移動端。硬件端是以STM32為核心的單片機,負(fù)責(zé)數(shù)據(jù)源的信號采集并向服務(wù)器發(fā)送必要的數(shù)據(jù),增加了人體感應(yīng)模塊和ESP8266的WiFi模塊,單片機的開發(fā)環(huán)境主要是KeiluVision5.服務(wù)器端使用的是MyEclipse 10開發(fā)工具,和以SpringBoot+MyBatis為核心的java框架,其工作是負(fù)責(zé)對硬件端發(fā)送過來的數(shù)據(jù)進(jìn)行處理并保存在MYSQL數(shù)據(jù)庫中,以及向硬件端返回必要的數(shù)據(jù),另外還會和Android移動端進(jìn)行數(shù)據(jù)交互。Android開發(fā)工具則是Android Studio 3.0,其功能包括對不同區(qū)域的座位信息的查詢和對用戶個人信息的注冊、登錄、修改等。

2 系統(tǒng)詳細(xì)設(shè)計

2.1 座位信息查詢

座位信息查詢是整個系統(tǒng)中的核心功能,在Android移動端,呈現(xiàn)給用戶的查詢結(jié)果是座位的實時使用情況。在查詢之前,用戶要先選擇某個區(qū)域或某個房間,以確定查詢其中的座位信息,點擊查詢按鈕就會開始查詢。工作流程如下。

首先在選擇區(qū)域的頁面中。會有三個下拉列表可以對將要選擇的區(qū)域進(jìn)行篩選。首先是對圖書館的選擇,然后是樓層的選擇。因為不同的圖書館有不同的樓層數(shù),而且也不是每一層樓都有供讀者使用的座位。所以有必要在用戶選擇圖書館后立即更新一下樓層數(shù)據(jù)。因此當(dāng)用戶選擇好圖書館時,當(dāng)前頁面會以異步提交的方式向服務(wù)器的數(shù)據(jù)庫中獲取對應(yīng)的樓層數(shù),并且會立即修改選擇樓層的下拉列表中的數(shù)據(jù)。區(qū)域選擇頁面的工作流程如圖1所示。

同樣的方法。當(dāng)選擇好樓層之后,對應(yīng)的房間號或區(qū)域名稱就會顯示在第三個下拉列表中,這些數(shù)據(jù)都是存在于數(shù)據(jù)庫中的。在選擇房間后,點擊查詢進(jìn)入新的頁面,至此,選擇區(qū)域的工作就已完成。

2.2 座位表的呈現(xiàn)

在座位表頁面,用戶可以看到座位的使用情況。而且用戶查詢到信息會因為不同時間而得到不一樣的結(jié)果,即座位信息能進(jìn)行實時更新。如何友好的向用戶呈現(xiàn)座位表的信息將是一個難點,因為必定涉及到Android中的繪圖,還要結(jié)合從數(shù)據(jù)庫中獲得的座位表數(shù)據(jù)來繪圖。如果從零開始實現(xiàn)這個頁面,無疑是一個很大的工程,因此這里使用了一個類似于淘票票選座位的模板,然后對模板進(jìn)行改進(jìn),從而實現(xiàn)比較可觀的界面。

圖2是對淘票票模板改進(jìn)前后的對比。紅色的座位表示已經(jīng)被使用,白色的座位表示是空座位,綠色的表示用戶點擊選中的。圖中左上角部分是整個區(qū)域的縮略圖,用戶可以很清晰自己在瀏覽的區(qū)域。另外圖中的座位是可以放大或縮小的,這樣就不會因為座位的多少而影響用戶的瀏覽。

2.3應(yīng)用主界面

進(jìn)入主界面時,頁面上顯示選擇區(qū)域的頁面,但其并不是主界面的全部。因為這里應(yīng)用了Android的Fragment(碎片)技術(shù),選擇區(qū)域界面只是其中的一個Fragment。在Android中,一個頁面就是一個Activity。而一個Fragment就是一個屬于某個Activity下的子頁面。本文中提到的主界面就是一個Activity,個人信息界面和選擇區(qū)域頁面等都是主界面下的子頁面。主界面中還用了左側(cè)向右滑打開菜單的框架,從菜單中可以切換到個人信息頁面或設(shè)置頁面,這兩個頁面都是主界面中的Fragment。使用Fragment技術(shù)的好處是可以減輕系統(tǒng)的內(nèi)存開銷,提高軟件的運行速度。在主界面中結(jié)合菜單列表和Fragment技術(shù)可以實現(xiàn)一些頻繁使用的頁面之間的快速切換,提高應(yīng)用的靈活性。菜單中也可選擇退出,然后進(jìn)入登錄界面,登錄界面則是另外一個Activity。

2.4 應(yīng)用的注冊與登錄界面

注冊頁面分為兩個,第一個頁面輸入手機號碼,當(dāng)前頁面會對用戶輸入的手機號碼進(jìn)行嚴(yán)格的數(shù)據(jù)驗證,如果用戶輸入有誤的手機號碼,頁面會彈出相應(yīng)的提示告訴用戶錯誤信息。另外,頁面還會對手機號碼進(jìn)行唯一性的檢測,這里要連接網(wǎng)絡(luò)訪問數(shù)據(jù)庫,如果檢測到這個手機號碼在數(shù)據(jù)庫是已經(jīng)存在的,那么頁面也會給出提示不能注冊。注冊的第二個頁面就是輸入注冊密碼和確認(rèn)密碼,另外還增加了對密碼格式的約束,兩次輸入的密碼都正確并且相同之后方可正常注冊,然后頁面會提交注冊數(shù)據(jù)到數(shù)據(jù)庫中,再提示注冊成功并且會跳轉(zhuǎn)到登錄頁面。

登錄頁面使用了Android自身的數(shù)據(jù)存儲技術(shù),在用戶退出應(yīng)用之后,會保存上一次登錄成功的用戶名和密碼,用戶不需要每次進(jìn)入應(yīng)用時都輸入用戶名和密碼,只要點擊登錄按鈕即可進(jìn)入主界面。

2.5 服務(wù)器端的設(shè)計

服務(wù)器端的工作比較單一,其負(fù)責(zé)接收硬件端或Android移動端發(fā)來的請求和給二者返回數(shù)據(jù),還有就是處理用戶上傳的頭像圖片。上傳的圖片會保存在服務(wù)器的某個目錄中,然后使用最新的時間給圖片生成一個新的文件名并在數(shù)據(jù)庫中保存此文件名,以便以后的訪問。另外,如果用戶做了修改頭像的操作,那么在上傳新的圖片的同時,服務(wù)器會先刪除保存在服務(wù)器中的舊圖片以防止浪費服務(wù)器的內(nèi)存資源。在完成刪除舊圖片的操作后,再繼續(xù)做上傳圖片的操作,并修改數(shù)據(jù)庫中的數(shù)據(jù)。

服務(wù)器端的開發(fā)使用了SpfingBoot+MyBmis框架,這種框架是一種微服務(wù)框架,使用其可以很快完成一些小型服務(wù)器的開發(fā)。SpfingBoot在服務(wù)器端相當(dāng)于一個控制器,負(fù)責(zé)與其它兩個工作端的交互,而MyBmis則負(fù)責(zé)與MySQL數(shù)據(jù)庫的交互,完成對數(shù)據(jù)的訪問和修改。

2.6硬件端的設(shè)計

硬件端是系統(tǒng)中的主要數(shù)據(jù)來源。用戶需要的座位的實時數(shù)據(jù)全靠硬件端的工作來獲取。其組成部分是以STM32開發(fā)的核心主板、紅外線人體感應(yīng)模塊和ESP8266的WiFi模塊。人體感應(yīng)模塊負(fù)責(zé)檢測座位上是否有人,信號將會傳到核心主板上,而主板負(fù)責(zé)計算在一段時間內(nèi)是否都能收到檢測到有人的信號,如果是就判定是有人使用了座位,那么其就使用WiFi模塊連接局域網(wǎng)向服務(wù)器發(fā)送相關(guān)數(shù)據(jù)。發(fā)送數(shù)據(jù)時使用HTTP協(xié)議進(jìn)行連接網(wǎng)絡(luò),以GET的方式與服務(wù)器進(jìn)行數(shù)據(jù)交互。以上是硬件端主要工作,并會一直循環(huán)地做這些工作。在工作之前,需要對WiFi的連接進(jìn)行初始化和對自身定位信息的初始化,確定網(wǎng)絡(luò)連接成功并初始化完成后才正常工作。

3APP運行截圖

圖3中左圖是選擇區(qū)域的界面。右圖是左則的滑動菜單,點擊菜單中的查找空位,界面就會顯示選擇區(qū)域的頁面了,菜單也會向左側(cè)隱藏。

圖4中左圖是登錄界面。圖片上的用戶名和密碼均已存儲在手機自身的數(shù)據(jù)庫中,在登錄頁面可以點擊注冊用戶進(jìn)入注冊頁面。右圖是個人信息界面,在個人信息界面中,點擊某個信息項可以對其進(jìn)行修改。修改姓名和修改性別的操作都是在當(dāng)前頁面彈出窗口進(jìn)行修改,而登錄密碼和手機號碼的修改則是要進(jìn)入另一個頁面進(jìn)行修改。

4 結(jié)束語

圖書館座位查詢系統(tǒng)是基于Android移動平臺進(jìn)行設(shè)計的,整個系統(tǒng)比較簡單,因而APP的使用界面也比較容易掌握。此系統(tǒng)研究的目的是方便學(xué)生或讀者在圖書館里快速尋找空座位,為人們在圖書館就座時減少麻煩。期待此系統(tǒng)今后能在現(xiàn)實生活中發(fā)揮作用,也希望這樣的系統(tǒng)在今后會有更多更好的發(fā)展方向和實現(xiàn)更大的實用價值。

猜你喜歡
安卓
iPhone不卡的秘密曝光:安卓也能享受
消費電子(2022年6期)2022-08-25 09:44:40
MIPS安卓平臺上ARM二進(jìn)制翻譯系統(tǒng)
讓iPhone變安卓,這是真的野
電腦報(2020年10期)2020-04-28 12:23:49
文物表情包
基于安卓手機用戶行為的人口學(xué)信息預(yù)測
電子制作(2019年10期)2019-06-17 11:45:22
安卓系統(tǒng)或成智能汽車標(biāo)配
汽車觀察(2019年2期)2019-03-15 06:01:00
一種基于安卓系統(tǒng)的手機側(cè)抓包分析方法
學(xué)習(xí)安卓應(yīng)用開發(fā)
安卓機器人
幸福家庭(2014年5期)2014-09-10 07:22:44
功能不輸iOS8!全新安卓Messenger發(fā)布
温泉县| 黄大仙区| 沂南县| 南昌县| 建德市| 亚东县| 蓝山县| 井陉县| 孟州市| 东丽区| 菏泽市| 嘉义县| 徐汇区| 庆云县| 湘潭县| 合阳县| 天气| 花莲县| 黑龙江省| 陆川县| 清涧县| 郧西县| 五常市| 新平| 百色市| 苏州市| 阿拉尔市| 遂宁市| 扬州市| 札达县| 赣榆县| 宝兴县| 黎川县| 紫阳县| 铅山县| 罗平县| 芦溪县| 象州县| 耒阳市| 洞口县| 南安市|