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