蔡海杰+劉卓+崔忠偉++黃茂+汪俊超+陳盼+胡夢
摘要:基于iOS移動開發(fā)平臺,采用OC語言,SQLite數(shù)據(jù)庫設(shè)計一款“智慧校園行”手機APP,為貴州師范學院全校師生提供一個更方便的校園信息獲取平臺。
關(guān)鍵詞:iOS;校園APP;信息發(fā)布
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2015)30-0008-02
隨著信息化時代的不斷進步以及今年來智能手機的不斷發(fā)展,在高校更是擁有著更大的覆蓋率,現(xiàn)在絕大多數(shù)的高校學生與老師都已使用智能手機,人們逐漸習慣了使用APP客戶端上網(wǎng)的方式。所以高校建立專屬的APP成為大勢所趨,據(jù)調(diào)查截止到2015年蘋果手機iOS在中國市場份額達25.4%。故筆者所在的團隊看準這個趨勢合作開發(fā)一款為全校師生都能使用的校園信息獲取的手機版APP。
1 手機APP校園客戶端開發(fā)的意義
“智慧校園行”是對教學環(huán)境、教學資源和教學活動上的拓展,有效的改善現(xiàn)有學習和生活模式,同時通過移動手段更有利于提高校園支撐服務的管理效率和管理水平,優(yōu)化校園服務的質(zhì)量,實現(xiàn)校園生活的移動化。手機APP校園客戶端的開發(fā)能夠使校園數(shù)字化建設(shè)和發(fā)展從一個靜態(tài)的體系逐步轉(zhuǎn)變成一個動態(tài)和靜態(tài)相結(jié)合的智能化全方位網(wǎng)絡平臺系統(tǒng)。“智慧校園行”手機APP就是一次嘗試,試圖對教學環(huán)境、教學資源和教學活動上的拓展,有效的改善現(xiàn)有學習和生活模式,同時通過移動手段更有利于提高校園支撐服務的管理效率和管理水平,優(yōu)化校園服務的質(zhì)量,實現(xiàn)校園生活的移動化。
2 相關(guān)技術(shù)
2.1 xcode
xcode是蘋果公司向開放人員提供開發(fā)Mac電腦、iPhone手機、ipad平臺應用的開發(fā)工具(非開源),只能運行在Mac操作系統(tǒng)下。Xcod的開發(fā)語言為objecti-C是蘋果公司專門為xcode退出的一門語言,是基元C語言的一門高級語言。在xcode中裝有ios sdk 可以使用iPhone、ipad、iPodTouch等模擬器進行調(diào)試。
2.2 SQLite
SQLite,是一款輕型的數(shù)據(jù)庫,無需安裝和管理配置,但其支持的SQL不遜色與其他的開源數(shù)據(jù)庫。對應手機APP來說小巧是必備的,所以采用這款既小有好用的開源數(shù)據(jù)庫。而在xcode在想要使用SQLite數(shù)據(jù)庫只需要加載sqlite3。
3 系統(tǒng)平臺設(shè)計
平臺總體架構(gòu)如圖1所示。
圖1 平臺總體架構(gòu)圖
新生入學:整合新生入學時間、學費、辦理入學手續(xù)所需的材料以及發(fā)生意外情況時可以求助的電話等等。
校園通知:用來發(fā)布校園近期或者將要發(fā)生的活動,讓每個同學的業(yè)余生活都能更加豐富。
師生交流:老師和學生之間的交流平臺,讓那些不敢和老師直說的話也能讓老師知道。
招聘信息:用來發(fā)布校園內(nèi)的崗位的發(fā)布,例如教師助手等。
生活服務:將統(tǒng)計一些校園內(nèi)的生活信息,例如又開了什么新的小吃等等。
離校須知:將大四的離校手續(xù)細節(jié)進行細化,讓大四的學生可以有條理的完成他們的離校手續(xù)。
校園美景:收錄校園的各種美景。
4 系統(tǒng)實現(xiàn)
“智慧校園行”手機APP由iOS移動終端、SQLite數(shù)據(jù)庫以及后臺的服務器組成。iOS移動終端作為該平臺的前臺,主要作用是作為移動端代替?zhèn)鹘y(tǒng)的PC終端;SQLite數(shù)據(jù)庫主要用于存儲客戶端上顯示的數(shù)據(jù),在客戶端每次進入是通過網(wǎng)絡與后臺的服務器進行數(shù)據(jù)的更新。iOS客戶端與數(shù)據(jù)庫的交互,主要是通過sql語句的增刪查改。服務器主要負責錄入需要更新的數(shù)據(jù)用以對SQLite數(shù)據(jù)庫的更新。iOS客戶端與服務器端的json數(shù)據(jù)交互,主要是通過json形式的數(shù)據(jù)交互,就是json的寫入和解析,其作用是為了更新SQLite數(shù)據(jù)庫中的數(shù)據(jù)。
4.1 iOS客戶端實現(xiàn)
iOS客戶端請求服務器的URL地址,將服務器端返回的JSON數(shù)據(jù)進行解析,然后將解析玩的數(shù)據(jù)放入建好的相應Model模型當中。接著根據(jù)不同的功能,將相應的模型放在不同的View上面,或者將得到的數(shù)據(jù)內(nèi)容更新到我們的數(shù)據(jù)庫中。 主要代碼:
//創(chuàng)建URLRequest
NSMutableURLRequest *URLRequest = [[NSMutableURLReques talloc]initWithURL:finalURLcachePolicy:NSURLRequestReloadIg noringLocalCacheDatatimeoutInterval:SR_TIME_OUT_INTERVA L];
[URLRequestsetHTTPBody:[HTTPBodyStringdataUsingEnco ding:NSUTF8StringEncoding]];[URLRequestsetHTTPMethod:@"P OST"];
iOS客戶端對SQLite數(shù)據(jù)發(fā)起訪問,將從數(shù)據(jù)庫中查詢到的數(shù)據(jù)轉(zhuǎn)為NSString類型,然后存儲在一個NSMutableArray中,根據(jù)不同功能的UI控件的需求從NSMutableArray中提取所需的數(shù)據(jù)主要代碼:
NSString *query = @"SELECT ID, FIELD_DATA FROM NEWS ORDER BY ROW";
sqlite3_stmt *statement;
int result = sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil);
4.2 服務器端實現(xiàn)
服務器根據(jù)所需功能對本地的數(shù)據(jù)進行更、刪、查、改等不同的功能,在主頁messege.jsp中點擊需要的功能并進入相應的頁面,例如在修改頁面update.jsp中在所需修改數(shù)據(jù)的文本框中修改相應的數(shù)據(jù)然后點擊保存即可將數(shù)據(jù)更新到服務器端的數(shù)據(jù)庫中,在通過iOS客戶端與服務器端的交互修改SQLite數(shù)據(jù)庫的數(shù)據(jù)從而修改iOS客戶端上顯示的數(shù)據(jù)。
4.3 各個模塊實現(xiàn)
在 iOS平臺中,每個用戶操作界面為一個 .m和.h文件,在.m中是進行給個UI控件的聲明以及所需要的各個方法的聲明,在.h文件中是進行對各個UI的初始化以及各個聲明方法的實現(xiàn)。在.h文件的方法中調(diào)用NSURLConnection對象向服務器提交服務請求,獲得結(jié)果。設(shè)計時應注意三個問題:
1)創(chuàng)建一個NSURL對象,設(shè)置請求路徑(設(shè)置請求路徑)。
2)傳入NSURL創(chuàng)建一個NSURLRequest對象,設(shè)置請求頭和請求體(創(chuàng)建請求對象)。
3)使用NSURLConnection發(fā)送NSURLRequest(發(fā)送請求)。
5 結(jié)束語
“智慧校園行”手機APP實現(xiàn)了高校師生特別關(guān)注的問題集中在一起通過移動終端展示,解決了傳統(tǒng)電腦攜帶的不方面導致信息的傳遞的不及時。該App已經(jīng)在iPhone手機上經(jīng)過測試實現(xiàn)了相應功能并且能正常運行,為用戶提供方便快捷的校園通知,師生交流等等的信息傳遞。也能夠為更多的手機APP校園客戶端提供設(shè)計參照。
參考文獻:
[1] 李旭紅. 長江大學“掌上校園”APP系統(tǒng)研發(fā)與運營研究[J]. 科技創(chuàng)新, 2014(9): 35-37.
[2] 劉宏磊, 李一鳴. 掌上迎新系統(tǒng)的設(shè)計與實現(xiàn)研究[J]. 中國教育信息化, 2012(3): 57-60.
[3] 孫凈字, 李澈, 張震, 等. 高校校園APP發(fā)展現(xiàn)狀初探[J]. 數(shù)字與出版, 2014(6): 84-85.
[6] 陳兆良, 王千祥, 梅宏,等. 面向?qū)ο箢I(lǐng)域設(shè)計中的變化性處理[J]. 電子學報, 2001(11): 1486-1490.
[7] 華建祥. 基于Android平臺的校園信息查詢系統(tǒng)客戶端設(shè)計與實現(xiàn)[J]. 軟件導刊, 2014, 3(3): 101-103.