張帆

摘 要:隨著時間的推移,校園一卡通系統開始暴露出易丟失、易被盜用等問題。為了解決這些問題,本文設計了基于Android的掌上通系統。該系統采用C/S結構,客戶端APP在Android Studio上進行制作,后臺用Adobe Dreamweaver完成。系統用二維碼代替原來的IC卡來實現學生的消費和身份驗證功能。這保障了學生的財產安全,并進一步便捷了學生的生活。
關鍵詞:校園碼;掌上通APP;消費方式;信息驗證
進入21世紀,信息化成為了時代的主題,信息化最先建設的領域就在大學校園,大學是信息化建設的先行者。自從2001年上海交通大學開始使用一卡通系統,校園迎來了消費和教育管理功能一體化時代。各大高校開始陸續推出一卡通系統。至今,一卡通系統已經11歲了。但是隨著時間的推移,一卡通系統也暴露出問題。學生校卡丟失情況頻繁,校卡被盜用的情況也屢見不鮮。而近年,因為智能手機的普及,手機APP已經滲入到了人們的生活出行。同時,由支付寶引入到中國市場的二維碼支付也開始崛起。二維碼支付作為一種成熟的支付模式,目前已經被成功應用到日常生活的方方面面。而大學生作為時代潮流的前鋒他們對先進技術應用的需求越來越強烈。基于Android并結合二維碼技術的掌上通系統設計具有廣泛的應用價值。它時尚的二維碼消費方式和身份驗證功能極大的滿足了學生對先進技術的需求。其對一卡通系統缺陷的彌補也極大的便捷了學生的生活。
1 掌上通系統功能介紹
掌上通一共有三個模塊,后臺管理功能,校園碼模塊,用戶管理,其中校園碼和用戶管理模塊被包含在客戶端APP中。
1.1 后臺管理模塊
后臺管理功能主要控制著學校的數據庫,它可以對學生的信息進行刪除,添加,更新操作。除此之外,后臺顯示學生在各個消費場所消費的總額,以便學校與這些商家日后進行賬目結算工作。
1.2 校園碼模塊
校園碼存儲的是學生的學號信息,其功能分為消費和身份驗證兩個功能。消費功能:由于出示付款碼比掃商家碼的操作要簡單,因此掌上通系統統一使用付款碼付款模式。消費通過出示校園碼,學校商家通過掃碼槍掃描校園碼進行扣費。學校各商家會部署相應的掃碼槍。信息驗證:學校信息驗證處通過掃碼槍掃描校園碼來驗證學生信息。此模塊的功能會更加方便學生們的生活。
1.3 用戶信息管理模塊
此模塊提供了在線充值功能,學生在手機移動端上進行網上充值。這省去了學生跑去行政樓充值這一步驟,也防止了因為充值的高峰期導致行政樓人山人海現象的出現。除此之外,此模塊還提供給學生修改密碼的功能來保證學生的賬戶安全。
2 掌上通系統的設計
2.1 用戶端APP的設計
客戶端APP包含校園碼模塊和用戶管理模塊,其設計使用了MVC框架。
2.1.1 校園碼模塊的設計
校園碼模塊包含消費和身份驗證功能。掌上通系統采用出示付款碼(即校園碼)的方式進行消費。圖1是出示校園碼支付的結構設計圖。
2.1.2 用戶管理模塊的設計
用戶管理模塊包含修改密碼功能和充值功能。修改密碼功能主要通過與學校數據庫的交互完成。圖3為密碼修改結構設計圖。
2.2 后臺管理的結構設計
后臺管理主要對數據庫數據進行操作。它通過jdbc直接向服務器發送請求對數據庫進行操作。
2.3 數據庫設計
數據庫使用了MySQL數據庫,數據庫建立兩張表格用來存取信息,分別是message(學生信息)表和expenditure(消費總額)表。
message表由username(學生學號)、userpass(學生密碼)、name(學生姓名)、class(學生班級)和balance(掌上通余額)字段所組成。主鍵為username。expenditure表由restaurant(食堂)、library(圖書館)、hospital(醫務處)和supermarket(超市)組成。
鑒于掌上通的實際使用情況,mysql數據庫將放置在學校的服務器上。統一用jdbc通過學校的服務器來訪問mysql數據庫。
3 功能實現
3.1 客戶端APP主要功能的實現
APP基于AndroidStudio平臺開發,編程語言為java,其界面分為登陸界面、密碼修改界面、充值界面、校園碼界面。界面布局都用了RelativeLayout布局。
3.1.1 登陸界面
為保證安全性,登陸界面不放置注冊功能,APP用戶的信息添加都由后臺系統完成。
主要Layout布局:放置一個名為密碼的和一個名為學號的input view 和登陸的butto view。
Java部分:給butto添加點擊事件,使用onClick()函數添加內容,事件內容為開啟新線程。在線程里通過getText().toString()函數獲取input view里的信息,同時在線程里用jdbc連接數據庫,再用selet數據庫語句獲取據庫的用戶信息。最后通過IF語句核對賬戶信息實現登陸功能。
3.1.2 密碼修改界面
主要Layout布局:一個名為舊密碼和一個新密碼的input view一個名為確認修改的Butto view。
Java部分:為Butto設置點擊事件,事件內容為開啟新線程獲取舊密碼input view里的內容和數據庫里的用戶密碼信息,通過if語句比較,如果結果為不同則返回重輸密碼。否則獲取新密碼里的內容并通過update數據庫語句更改數據庫用戶密碼信息。
3.1.3 充值界面
主要Layout布局:一個名叫金額的input view,一個名叫余額的Text view,和一個名為確認充值的Butto view.
Java部分:為Butto設置點擊事件,事件內容為開啟新線程獲取input view的信息并將其作為參數傳入第三方平臺的接口并實現第三方接口進入第三方平臺支付。等到支付完成將input view的信息傳入數據庫使用update語句進行修改余額信息。第三方接口需要和第三方平臺簽署合作協議,拿到開發文檔和賬戶、秘鑰等信息并按照其接口說明進行開發。另外,當跳進該頁面就開啟新線程用select語句從數據庫獲取賬戶余額信息并通過SetText()函數在余額Text view里顯示。
3.1.4 校園碼界面
3.2 后臺主要功能的實現
后臺Adobe Dreamweaver上開發,使用PHP語言編程。它的實現主要靠與數據庫的連接。登陸功能的實現是通過去數據庫里找是否有和input里的信息相同的賬戶信息,來實現管理員身份的驗證登陸增加、刪除、修改用戶信息和顯示消費總額通過與數據庫的交互實現,其核心代碼如下:
4 結語
信息技術的不斷進步,使大學走在了時代的前列。目前,幾乎所有的大學都在使用一卡通系統。然而隨著時代的進步,一卡通系統已經跟不上時代的步伐。其暴露出的問題越來越多。一卡通校卡使用時易丟失、容易被盜用。學生們的生活出現了許多的不便。隨著近幾年二維碼技術的發展,傳統的一卡通校卡已滿足不了學生們的需求。本文結合二維碼技術設計出掌上通系統來解決一卡通系統存在的問題,滿足學生們的需求。本文介紹了掌上通系統的功能、功能模塊的設計、功能的實現方法及系統所用的關鍵技術。系統升級了校園里的消費模式,并第一次將二維碼技術應用到學校系統里,彌補了一卡通系統的缺陷。但是,由于學校里部門的多樣化,掌上通系統還沒有完全涵蓋學校的各部門。且它還沒有真正的投入使用,其性能還待進一步的檢驗。
參考文獻:
[1]王學敏.基于數字化校園的一卡通系統的設計與實現[D].廈門:廈門大學,2008.
[2]廖東方.二維碼電子標簽的安全技術研究[D].北京.北京郵電大學,2008.
[3]周森鵬,陸正球,蔡岑科.基于ANDROID的校園生活助手設計與實現[J].現代計算機(專業版),2013(8):77-80.
[4]唐漢明.深入淺出MYSQL:數據庫開發,優化與管理維護(第二版)[M].北京:人民郵電出版社,2014.
[5]歐陽燊.ANDROID STUDIO開發實戰:從零基礎到APP上線[M].北京:清華大學出版,2018.
[6]昊斯特曼.JAVA核心技術[M].北京:電子工業出版社,2011.
[7]高洛峰.細說PHP[M].北京:電子工業出版社,2009.