汪俊超+劉卓+韋萍萍+葉剛+蔡海杰+常雄+黃茂
摘要:該文分析了基于手機(jī)圖片的學(xué)生課堂考勤監(jiān)控的APP的主要功能,詳細(xì)描述了基于手機(jī)圖片的學(xué)生課堂考勤監(jiān)控的APP的結(jié)構(gòu),根據(jù)需求分析實(shí)設(shè)計(jì)了數(shù)據(jù)庫(kù),最后對(duì)基于手機(jī)圖片的學(xué)生課堂考勤監(jiān)控進(jìn)行了詳細(xì)開發(fā)。應(yīng)用程序采用Client/Server模式,基于IOS技術(shù)和Object-C語(yǔ)言,以SQLite 3作為后臺(tái)數(shù)據(jù)庫(kù),Xcode4.3作為開發(fā)工具。
關(guān)鍵詞:手機(jī)圖片;課堂考勤;IOS
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)16-0131-02
1 背景
在學(xué)校,課堂是一個(gè)重要的地方,因?yàn)樵谶@里,學(xué)生能學(xué)習(xí)知識(shí)、培養(yǎng)能力、增強(qiáng)素質(zhì),但是學(xué)校課堂的考勤一直是一個(gè)嚴(yán)重的問題,對(duì)課堂考勤的監(jiān)控一直沒有一個(gè)系統(tǒng)的管理方法,課堂考勤又是高校教學(xué)管理工作的重要組成部分,關(guān)系到學(xué)生的選課結(jié)業(yè)及評(píng)定成績(jī)。針對(duì)學(xué)校教學(xué)的管理在課堂考勤工作中普遍存在的準(zhǔn)確性和透明度缺乏等問題,基于手機(jī)圖片的學(xué)生課堂考勤監(jiān)控IOS APP是一個(gè)效果還不錯(cuò)的管理方式
一些高校也推出了各種課堂考勤的新方法及新技術(shù),有各種各樣的系統(tǒng),有利用藍(lán)牙技術(shù)實(shí)現(xiàn)課堂簽到,有基于光學(xué)字符識(shí)別的移動(dòng)考勤系統(tǒng)等點(diǎn)名方法。
基于手機(jī)圖片的學(xué)生課堂考勤監(jiān)控系統(tǒng)只需教師或班級(jí)管理人員用手機(jī)拍上課班級(jí)照片然后上傳到服務(wù)器,然后再根據(jù)圖片核對(duì)班級(jí)到勤情況,并把詳細(xì)到勤情況匯總上傳到服務(wù)器,教務(wù)處和輔導(dǎo)員就可以隨時(shí)看到課堂的到勤情況,并附有圖片證實(shí)。
移動(dòng)互聯(lián)網(wǎng)應(yīng)用時(shí)代,教師能隨時(shí)隨地掌握學(xué)生的考勤統(tǒng)計(jì)信息及上課情況,實(shí)現(xiàn)了僅憑掌中手機(jī)就可以進(jìn)行考勤的管理目標(biāo)。
2 系統(tǒng)分析
2.1 需求分析
手機(jī)圖片的學(xué)生課堂考勤系統(tǒng)可以智能的監(jiān)控學(xué)生上課到勤情況,能夠減輕教務(wù)處和教師對(duì)統(tǒng)計(jì)學(xué)生考勤工作的負(fù)擔(dān)。系統(tǒng)特性有:
1)系統(tǒng)應(yīng)具有良好的快速操作的界面,符合大眾用戶的使用習(xí)慣,同時(shí)便于推廣。
2)系統(tǒng)要求手機(jī)拍照上傳的圖片要精準(zhǔn),保證拍到自己的完整頭像。
3)能夠方便地查看、統(tǒng)計(jì)學(xué)生信息,管理考勤圖片信息,上報(bào)考勤信息。
2.2 功能模塊
2.2.1 錄入學(xué)生信息模塊設(shè)計(jì)
該模塊主要進(jìn)行數(shù)據(jù)庫(kù)操作及數(shù)據(jù)轉(zhuǎn)換,班級(jí)管理人員將班級(jí)信息文件上傳到服務(wù)器端即將學(xué)生信息和班級(jí)按照已設(shè)定好的字段插入到SQLite 3數(shù)據(jù)庫(kù)。模塊功能包括Excel數(shù)據(jù)導(dǎo)入、更新和刪除學(xué)生班級(jí)信息,可快速對(duì)目標(biāo)班級(jí)信息的查找和導(dǎo)入。
2.2.2 圖片上傳管理模塊設(shè)計(jì)
上傳功能將學(xué)生的圖片上傳到服務(wù)器。上傳流程包括:第一,學(xué)生拍攝精確的圖片之后上傳。第二,在后臺(tái)重新給圖片生成一個(gè)唯一的識(shí)別碼,然后把圖片以字節(jié)流的形式寫入相應(yīng)的文件夾且把該文件名插入數(shù)據(jù)庫(kù)中用戶對(duì)應(yīng)的行記錄。第三,給用戶一個(gè)反饋信息。
用戶查看個(gè)人信息就會(huì)訪問服務(wù)器端圖片文件夾中與數(shù)據(jù)庫(kù)中同名的圖片。
2.2.3 考勤管理模塊設(shè)計(jì)
考勤管理模塊是課堂考勤系統(tǒng)的核心模塊,在完成學(xué)生信息錄入模塊并導(dǎo)入班級(jí)信息表功能,學(xué)生上課前拍攝的圖片上傳到服務(wù)器后,也會(huì)一并將位置信息一起上傳,后臺(tái)會(huì)先獲取位置信息,判斷學(xué)生是否到達(dá)上課地點(diǎn)。然后獲取頭像與目標(biāo)頭像進(jìn)行圖片比對(duì),相似度在百分之八十五以上,最后獲取系統(tǒng)時(shí)間與該課程的上課時(shí)間比較來決定該學(xué)生的出勤情況,存入數(shù)據(jù)庫(kù),即可智能的查詢目標(biāo)班級(jí)的出去勤況。
2.2.4 數(shù)據(jù)庫(kù)設(shè)計(jì)
該系統(tǒng)中主要是對(duì)數(shù)據(jù)庫(kù)中表進(jìn)行增刪查改操作,并進(jìn)行圖片通過文件流的方式寫入文件等操作,主要包含兩方面的信息: 班級(jí)信息、學(xué)生信息、考情信息。
系統(tǒng)對(duì)數(shù)據(jù)表的操作分別以類的方式封裝,實(shí)現(xiàn)時(shí)方便調(diào)用?;颈碛校簩W(xué)生表、班級(jí)表、考勤表。
3 系統(tǒng)實(shí)現(xiàn)
3.1錄入學(xué)生信息模塊的實(shí)現(xiàn)
學(xué)生信息錄入模塊的實(shí)現(xiàn)是對(duì)Excel表中的數(shù)據(jù)轉(zhuǎn)存到SQLite 3數(shù)據(jù)庫(kù),操作需導(dǎo)入JXL開發(fā)包。使用 ListView逐層顯示所有數(shù)據(jù)。給ListView 添加單擊事件調(diào)用其setOnItemCliekListener方法:將Excel文件中的學(xué)生信息轉(zhuǎn)存入SQLite 3數(shù)據(jù)庫(kù)。實(shí)現(xiàn)時(shí)需創(chuàng)建 Excel 文件的輸入流,過程是先需要得到工作簿對(duì)象,再由工作簿對(duì)象得到工作表對(duì)象來獲取行列數(shù),調(diào)用的方法分別為Workbook.getWorkbook() 和 getSheet(),得到行列數(shù)后根據(jù)其行列數(shù)循環(huán)取出各行各列的值存入集合,將集合存入SQLite 3數(shù)據(jù)庫(kù),調(diào)用的方法分別為:sheet.getCell()和Cell.getContents()。在主界面顯示已導(dǎo)入班級(jí)并添加”刪除”按鈕刪除過期班級(jí)信息。此外,學(xué)生也可以自己注冊(cè)賬戶,登錄賬戶,然后自己錄入信息。上述只是錄入學(xué)生的基本信息,學(xué)生的圖片信息需要自己拍攝錄入。
3.2 圖片上傳管理模塊的實(shí)現(xiàn)
該模塊實(shí)現(xiàn)是用GridView控件添加圖片并顯示,點(diǎn)擊圖片還可以進(jìn)行刪除操作,用EditView控件來發(fā)布圖片,主要通過相對(duì)布局實(shí)現(xiàn),第一部分是底部的TextView,中間是EditView和GridView相對(duì)布局。
通過SimpleAdapter適配器實(shí)現(xiàn)實(shí)加載圖片,在gridView.setOnItemClickListener()點(diǎn)擊函數(shù)響應(yīng)不同操作。 當(dāng)點(diǎn)擊加號(hào)圖片時(shí),調(diào)用本地相冊(cè)通過Intent實(shí)現(xiàn)獲取圖片路徑存于字符串pathImage。獲取圖片路徑后在onResume中刷新圖片,通過 GridView的setAdapter()和notifyDataSetChanged()函數(shù)刷新加載圖片。點(diǎn)擊圖片時(shí)會(huì)獲取其position,通 過dialog()函數(shù)彈出對(duì)話框提示是否刪除,通過remove實(shí)現(xiàn)刪除。
3.3 考勤管理模塊的實(shí)現(xiàn)
考勤信息管理包含查 看、錄入考勤信息、導(dǎo)出考勤表和短信預(yù)警??记谛畔⒉榭从葿utton按鈕、Spinner控件和 ListView組成。其中,Button 用于顯示出勤和缺勤的學(xué)生信息,Spinner是顯示班級(jí)信息,ListView顯示查詢結(jié)果。可調(diào)用 rawQuery()方法將結(jié)果存儲(chǔ)到Cursor對(duì)象,最后循環(huán)存入集合。
錄入考勤信息功能由EditText實(shí)現(xiàn),通過getText()方法首先得到輸入的值,然后調(diào)用數(shù)據(jù)庫(kù)的插入方法 db.insert();插入到數(shù)據(jù)庫(kù)中。
導(dǎo)出考勤表功能由Button按鈕實(shí)現(xiàn),為Button按鈕添加單擊事件,調(diào)用wordbook類的工廠方法創(chuàng)建工作薄對(duì)象; 建造Label對(duì)象,調(diào)用addCell()添加工作表對(duì)象,完成導(dǎo)出考勤表。
短信預(yù)警的實(shí)現(xiàn)先添加系統(tǒng)權(quán)限,
4 結(jié)束語(yǔ)
基于手機(jī)圖片的學(xué)生課堂考勤監(jiān)IOS APP是對(duì)學(xué)生考勤監(jiān)控的應(yīng)用軟件,方便教師查詢、記錄考勤,沒有了教師課上查勤過程,節(jié)省了課堂時(shí)間,且能減少教務(wù)處考勤統(tǒng)計(jì)的工作量,實(shí)現(xiàn)了方便快捷的學(xué)校課堂管理,通過智能的移動(dòng)終端為人類的生活及工作提供了更好的服務(wù)。
參考文獻(xiàn):
[1] Mark D. Spring精通IOS開發(fā)[M]. 6版.北京: 人民郵電出版社, 2014.
[2] 唐巧. IOS開發(fā)進(jìn)階[M]. 北京: 電子工業(yè)出版社, 2014.
[3] 赫樂嘎斯, 康威. IOS編程[M]. 4版.武漢: 華中國(guó)科技大學(xué)出版社, 2015.
[4] 楊佩璐, 魏彩娟, 劉媛媛, 著. IOS開發(fā)范例實(shí)戰(zhàn)寶典[M]. 北京: 清華大學(xué)出版社, 2015, 5.
[5] 考克斯, 瓊斯, 舒姆斯基. IOS網(wǎng)絡(luò)高級(jí)編程[M]. 北京: 清華大學(xué)出版社, 2014.
[6] 里克特, 基利. IOS組件與框架[M]. 北京: 人民郵電出版社, 2014.