張盛 鄧旺
摘要:基于Android Studio開發(fā)環(huán)境提出了一種校園一卡通系統(tǒng)的實現(xiàn)方案。利用HeidiSQL圖形化界面對MySQL數(shù)據(jù)庫進行數(shù)據(jù)處理,同時以Tomcat作為手機與電腦響應互通的Web服務器。系統(tǒng)模塊包括飯卡管理、飯卡充值、借閱查詢等大部分功能,同時將飯卡管理功能作為基礎項目開發(fā),最終形成稍顯完善的一卡通解決方案。其中提供的掛失恢復功能,支持隨時隨地進行操作,有效提高飯卡的安全性,而借閱查詢功能也大大節(jié)約了學院師生的時間成本,讓師生能更加專注于學習生活。
關鍵詞:App設計;一卡通系統(tǒng);校園信息化;數(shù)據(jù)庫應用
中圖分類號:TP311.5 ? ? 文獻標識碼:A
文章編號:1009-3044(2021)31-0068-02
1 引言
移動互聯(lián)網(wǎng)[1]時代的到來,使人們獲取信息的途徑越來越多樣快捷,高校師生對“掌上校園”這類移動終端應用的需求也越發(fā)強烈。因此,智能手機[2]和數(shù)字化校園[3]的發(fā)展共同促進了手機校園App的產(chǎn)生。開發(fā)手機校園App不僅可以打造校園文化信息交流的平臺,更重要的是其可以完善數(shù)字化校園體系。現(xiàn)今,我院師生仍采用傳統(tǒng)的飯卡刷卡式就餐,然而,傳統(tǒng)的刷卡式就餐存在的諸多弊端讓師生詬病已久:如飯卡一經(jīng)丟失,盜刷、錯刷現(xiàn)象嚴重;補辦飯卡后卻又找到了原先的飯卡,造成資源浪費;不能實時掌握飯卡余額而忘記充值,導致結賬時無法刷卡;充值窗口稀少且僅限于中午開放,占用大量午休時間等。而作為大學生活中必不可少的甚至是最重要的組成部分——圖書館,我院師生借完書后若想知道還書日期和剩余天數(shù)必須前往圖書館機器刷卡查詢,浪費了大量寶貴的閱讀時間。為解決此類實際問題,特開發(fā)基于智能手機平臺的校園一卡通系統(tǒng)[4],通過App幫助師生更好地保管并使用好飯卡,推進學院的信息化建設。
針對現(xiàn)有我院師生的需求,提出了一種校園一卡通系統(tǒng)的設計方案。該系統(tǒng)可以做到隨時隨地對飯卡進行掛失,確保第一時間保障用戶飯卡財產(chǎn)安全及順利使用;在任意時間供用戶查看卡內余額;真正做到即充即用,支持支付寶、微信等新型移動支付,免去就餐時卡內余額不足的尷尬;直接顯示在借書目和編號,人性化提醒還書日期和剩余借閱天數(shù)。
2 實現(xiàn)方案
本方案中校園一卡通App基于Android Studio開發(fā)環(huán)境設計,主要有三大功能:飯卡管理,借閱查詢和其他功能。其中,其他功能用于后續(xù)擴展應用而設置。其基本架構大致如下:
2.1 登錄模塊
實現(xiàn)流程如圖2所示:
2.2 飯卡管理模塊
飯卡管理是一卡通App最重要的一環(huán),此界面集中了大量功能如余額查詢、掛失恢復、在線充值等。頁面最上方寫有“XXX,歡迎使用校園一卡通系統(tǒng)”,下方設置三個TextView控件兩端對齊,分別為“飯卡管理”“借閱查詢”和“其他功能”。
飯卡管理頁面有卡號、一卡通狀態(tài)、余額等信息,在“狀態(tài)”這一文本后設置一個按鈕Button,以實現(xiàn)掛失恢復功能。對象status對應的便是狀態(tài),用“l(fā)oginDto.getActive() == 0”來讀取數(shù)據(jù)庫“account”表中“active”的值,從而設置掛失按鈕的名稱?!癮ctive”=1即一卡通狀態(tài)為“正?!保覀劝粹o顯示為“掛失”。若一卡通丟失,可點擊“掛失”按鈕,此時一卡通狀態(tài)變?yōu)椤耙褣焓А辈棾鎏崾究颉安僮鞒晒Α?“active”=0即一卡通狀態(tài)為“已掛失”,右側按鈕顯示為“恢復”。若一卡通找回,可點擊“恢復”按鈕,此時一卡通狀態(tài)變?yōu)椤罢!?,也會彈出提示框“操作成功”,流程圖如圖3。
該模塊可提供在線掛失和恢復飯卡的功能,提高飯卡使用的安全性,及時保障一卡通內的財產(chǎn)安全或即時恢復使用飯卡。
2.3 在線充值模塊
該模塊能免去學院師生浪費時間、排隊擁擠的充值苦惱,極大改善日常用卡現(xiàn)狀。在飯卡管理界面中可方便地看到飯卡的余額。當飯卡余額不足時用戶就要進行在線充值,以免在食堂就餐時發(fā)生尷尬。鑒于目前國內移動支付大大普及,所以本系統(tǒng)選擇通過支付寶或微信支付這兩種方式來對飯卡進行充值。首先設置點擊充值按鈕后所做的事情,運用Intent i = new Intent(IndexActivity.this, RechargeActivity.class)將IndexActivity上充值的數(shù)據(jù)傳遞到RechargeActivity中并打開,進入充值頁面。在activity recharge.xml中,微信和支付寶支付需要用到RadioButton和RadioGroup來設置單選項。RadioButton表示單個圓形單選框,而RadioGroup是可以容納多個RadioButton的容器,且每個RadioGroup中的RadioButton同時只能有一個被選中。頁面最上方編輯一個TextView控件“充值金額:”和一個EditText輸入框,在輸入框中指定提示語“請輸入充值金額”。點擊“確認充值”按鈕后,APP響應彈出對話框“系統(tǒng)提示”,內容顯示為“確定充值xx元嗎?”,并設置“確定”和“返回”按鈕。點擊“確定”按鈕后,為使充值效果更加逼真,加入“Thread.sleep(3000)”表示需響應等待3秒才顯示“充值成功”。在這期間,更新后的數(shù)據(jù)被打包進Bundle。Bundle工具就好比是一輛貨車,任何東西都能裝,然后運到需要的地方,所以以它作為一個載體來存放id、account、balance等對象,再用intent方法將需要用到的值傳遞給IndexActivity頁面。
2.4 借閱查詢模塊
該模塊提供查詢在借書籍的書名、書籍編號、還書日期和剩余天數(shù)等功能。借閱查詢模塊和飯卡狀態(tài)、余額查詢類似,重點在于數(shù)據(jù)庫的讀取和顯示。 為清晰直觀地顯示借閱信息,借閱查詢模塊需要建立一張表格。本系統(tǒng)規(guī)定一卡通借書數(shù)量的上限為7本,所以用“ if(i > 6){Break;}”將書目控制在7條以下,如流程圖4所示。
利用TableLayout定義一張4*8的表格,第一行有4欄內容,分別是書名、編號、還書日期和剩余天數(shù),使用switch語句分別讀取數(shù)據(jù)庫信息并加以顯示他們。剩余天數(shù)一欄的算法則較復雜,需要計算當天到還書日期的時間,算法為“Long dayCount = (new SimpleDateFormat("yyyy-MM-dd").parse(bookBorrowDtos.get(i).getBackDate()).getTime() - now.getTime()) / (60 * 60 * 1000 * 24)”。若dayCount大于或等于0,顯示“dayCount+天”;若dayCount小于0,將dayCount賦予新值,“dayCount = -dayCount + 1”,此時顯示“逾期+dayCount+天”。
3 小結
針對我院師生對于基于智能平臺的一卡通需求,提出了一種基于Android Studio開發(fā)環(huán)境的實現(xiàn)方案。該系統(tǒng)融合了飯卡和圖書借閱卡的系統(tǒng)管理功能,同時預留了后續(xù)功能的開發(fā)接口。
參考文獻:
[1] 吳吉義,李文娟,黃劍平,等.移動互聯(lián)網(wǎng)研究綜述[J].中國科學:信息科學,2015,45(1):45-69.
[2]Pei Zheng, Lionel Ni. Smart phone and next generation mobile computing[M]. The Netherlands. Elsevier Morgan Kaufmann Elsevier Science,2006.
[3] 張德時.高校數(shù)字化校園建設規(guī)劃科學研究[J].黑龍江高教研究,2010,28(8):39-41.
[4] 田麗.智慧校園環(huán)境下的校園一卡通建設[J].華東師范大學學報(自然科學版),2015(S1):530-535.
【通聯(lián)編輯:梁書】
收稿日期:2021-05-12
作者簡介:張盛(1982—),通信作者,副教授,博士,研究方向為信息與通信技術。