張盛 鄧旺




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