楊珺婷 徐建華 馮佳 程建金
摘要:人工智能時(shí)代已經(jīng)來臨,智能手機(jī)全面普及。針對(duì)教師在課堂上對(duì)學(xué)生玩手機(jī)難以有效管理的問題,該文采用Socket線程池、多線程、跨平臺(tái)和多端同收同發(fā)等關(guān)鍵技術(shù),設(shè)計(jì)并開發(fā)了基于Android的手機(jī)遠(yuǎn)程控制系統(tǒng)。測(cè)試結(jié)果表明,本系統(tǒng)可以遠(yuǎn)程對(duì)學(xué)生手機(jī)進(jìn)行鎖屏,同時(shí)協(xié)助教師對(duì)學(xué)生自動(dòng)完成考勤,提高了課堂管理效率,有效避免了學(xué)生在課堂上玩手機(jī)。
關(guān)鍵詞:Android;手機(jī)管理;Socket;線程池;鎖屏;考勤
中圖分類號(hào):TP391 ? 文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào):1009-3044(2021)32-0061-02
1 引言
人工智能時(shí)代,智能手機(jī)已經(jīng)普及。通過智能手機(jī),人們可以實(shí)現(xiàn)移動(dòng)支付、玩游戲、觀看視頻、聽音樂等等。在課堂上,學(xué)生因玩手機(jī)影響聽課的情況也越來越普遍。針對(duì)這一情況,老師們通過要求關(guān)閉或上交手機(jī)等手段管理學(xué)生,但這些管理手段效果不明顯。為了解決目前普遍出現(xiàn)的這一問題,本文開放一款能夠結(jié)合課堂管理,合理約束手機(jī),并且需要擁有良好的結(jié)構(gòu)體系、具備擴(kuò)展性、維護(hù)成本較低的手機(jī)遠(yuǎn)程管理系統(tǒng)。
2 關(guān)鍵技術(shù)
本手機(jī)遠(yuǎn)程控制系統(tǒng)是采用基于Socket實(shí)現(xiàn)即時(shí)通信交互,并綜合使用多線程、Socket線程池、跨平臺(tái)、多端同收同發(fā)技術(shù)。在此本手機(jī)遠(yuǎn)程控制系統(tǒng)涉及的關(guān)鍵技術(shù)進(jìn)行闡述。
2.1 Socket通信技術(shù)
Socket是在TCP/IP網(wǎng)絡(luò)協(xié)議的應(yīng)用層和傳輸層之間的一個(gè)抽象層,它把復(fù)雜的操作抽象為幾個(gè)簡(jiǎn)單接口,供應(yīng)用層調(diào)用,實(shí)現(xiàn)進(jìn)程在網(wǎng)絡(luò)中的通信。Socket起源于UNIX,在Unix一切皆文件的思想下,進(jìn)程間通信就被冠名為文件描述符,Socket是一種“打開——讀/寫——關(guān)閉”模式的實(shí)現(xiàn),服務(wù)器和客戶端各自維護(hù)一個(gè)“文件”,在建立連接打開后,可以向文件寫入內(nèi)容供對(duì)方讀取或者讀取對(duì)方內(nèi)容,通訊結(jié)束時(shí)關(guān)閉文件。
2.2 Socket線程池
使用concurrent包下的ExecutorService類設(shè)定線程池,并對(duì)每一個(gè)連接創(chuàng)建一個(gè)專用的Socket實(shí)體。
2.3 跨平臺(tái)
本手機(jī)遠(yuǎn)程控制系統(tǒng)是基于Java開發(fā),而Java本身就具有良好的跨平臺(tái)性,使用jar包封裝服務(wù)端,可將服務(wù)器部署在多平臺(tái)上,包括但不限于:UNIX、Windows和Android。
2.4 多端同收同發(fā)
因?yàn)樯险n的學(xué)生有多個(gè),因此本手機(jī)遠(yuǎn)程控制系統(tǒng)需要對(duì)多終端進(jìn)行同收同發(fā),為此引入令牌實(shí)現(xiàn)對(duì)每一個(gè)連接的身份識(shí)別,并通過多線程進(jìn)行邊聽邊發(fā),避免出現(xiàn)死鎖。
2.5 鎖定屏幕技術(shù)
本手機(jī)遠(yuǎn)程控制系統(tǒng)是裝有Android系統(tǒng)的智能手機(jī)進(jìn)行鎖屏,具體是調(diào)用WindowManager類來實(shí)現(xiàn)。
3 手機(jī)遠(yuǎn)程控制系統(tǒng)總體設(shè)計(jì)
本手機(jī)遠(yuǎn)程控制系統(tǒng)分為兩部分:一個(gè)是基于Android的客戶端,即學(xué)生端;另一個(gè)是基于Android的服務(wù)端,即教師端。系統(tǒng)網(wǎng)絡(luò)環(huán)境及拓?fù)浣Y(jié)構(gòu)如圖1所示。
4 手機(jī)遠(yuǎn)程控制系統(tǒng)功能設(shè)計(jì)
4.1 服務(wù)端
服務(wù)端(教師端)是基于Android開發(fā)的,教師可以通過智能手機(jī)對(duì)學(xué)生客戶端進(jìn)行管理與控制。服務(wù)端具有登錄、發(fā)起簽到、鎖定和登出等主要功能。
接收客戶端指令:接收客戶端指令,包括:重啟服務(wù)器、喚醒服務(wù)器、檢查錯(cuò)誤、緊急關(guān)閉服務(wù)器。
向指定連接發(fā)送指令:在服務(wù)器端對(duì)指定連接發(fā)送指令,包括:切斷連接、禁止此ip繼續(xù)連接、恢復(fù)此ip連接。
向全部連接發(fā)送指令:在服務(wù)端對(duì)所有連接發(fā)送指令,包括:立刻切斷未釋放連接、切斷所有連接、檢查連接穩(wěn)定性。
對(duì)服務(wù)器自身維護(hù):在服務(wù)端對(duì)自身進(jìn)行維護(hù),包括:清理緩存、檢查文件完整性、重啟服務(wù)、關(guān)閉服務(wù)。
登錄:使用教職工賬號(hào)可轉(zhuǎn)到教師端界面,解鎖教師專用功能,隱藏不需要的學(xué)生端功能。
發(fā)送鎖定手機(jī)指令:可以設(shè)定鎖定時(shí)長(zhǎng)并立刻鎖定所有已簽到學(xué)生端,或定時(shí)鎖定已簽到學(xué)生端,排除所有教師端。
接收學(xué)生鎖定反饋:學(xué)生端鎖定期間,教師端可在用戶名單中觀察鎖定狀態(tài),可觀察到意外退出的學(xué)生端連接。
群發(fā)消息:教師可編輯信息群發(fā)至學(xué)生端,可發(fā)送教師想發(fā)送的內(nèi)容,例如題目、答案、通知等。
4.2 客戶端
客戶端(學(xué)生端)也是基于Android開發(fā)的,其主要是通過網(wǎng)絡(luò)協(xié)議與教師端進(jìn)行通訊。Android所有的請(qǐng)求通過網(wǎng)絡(luò)協(xié)議傳送到教師端,教師端拿到數(shù)據(jù)后將其解析處理,處理后將結(jié)果返回到學(xué)生端。客戶端主要有登錄、簽到、接收鎖定、接收消息和登出等功能。
登錄:通過學(xué)生姓名、學(xué)號(hào)對(duì)應(yīng)登錄,數(shù)據(jù)由服務(wù)器提供。
簽到:通過向服務(wù)器發(fā)送簽到請(qǐng)求,服務(wù)器對(duì)情況校驗(yàn)成功后返回簽到成功,并對(duì)所有客戶端反饋。
查看學(xué)生簽到情況:在每一次接收變更或定期心跳接收服務(wù)器反饋時(shí),刷新用戶界面,對(duì)當(dāng)前用戶名單進(jìn)行可視化同步,對(duì)當(dāng)前用戶情況直觀反饋。
接收鎖定:接收教師機(jī)發(fā)出的鎖定指令。
接收教師消息:接收教師消息。
登出:反饋給所有客戶端。在指定時(shí)間內(nèi)可再次登錄,并保留狀態(tài)。
5 手機(jī)遠(yuǎn)程控制系統(tǒng)核心功能實(shí)現(xiàn)
5.1 鎖屏實(shí)現(xiàn)
手機(jī)遠(yuǎn)程鎖定是本系統(tǒng)的核心功能,鎖定范圍是除了底部菜單欄與頂部導(dǎo)航欄以外的區(qū)域。WindowManager是鎖定屏幕實(shí)現(xiàn)的關(guān)鍵類,是Android中一個(gè)重要的服務(wù)。WindowManager 具有全局性和唯一性。它將用戶的操作,轉(zhuǎn)換成為指令,發(fā)送給呈現(xiàn)在系統(tǒng)界面上。Activity會(huì)將頂級(jí)的控件注冊(cè)到 Window Manager 中,當(dāng)用戶真實(shí)觸碰屏幕時(shí),Window Manager就會(huì)通知到,而當(dāng)控件有一些請(qǐng)求產(chǎn)生,也會(huì)經(jīng)由ViewParent送回到Window Manager中。從而完成整個(gè)通信流程。系統(tǒng)鎖屏界面如圖2所示。
5.2 倒計(jì)時(shí)實(shí)現(xiàn)
在服務(wù)創(chuàng)建后,執(zhí)行重寫的onStartCommand() 方法,對(duì)鎖屏進(jìn)行倒計(jì)時(shí)。調(diào)用了AlarmManager類。AlarmManager是Android的全局定時(shí)器。就是在指定時(shí)間做一個(gè)事情(封裝在PendingIntent)。通過PendingIntent的getActivity()、getService()或getBroadcast()來執(zhí)行。通過armManager可以做到喚醒手機(jī)。系統(tǒng)倒計(jì)時(shí)界面如圖3所示。
6 結(jié)束語
手機(jī)遠(yuǎn)程控制系統(tǒng)分為兩個(gè)部分進(jìn)行設(shè)計(jì),分別為服務(wù)端和客戶端。服務(wù)端提供給教師使用,為學(xué)生端提供了服務(wù)接口,用于對(duì)學(xué)生手機(jī)實(shí)現(xiàn)遠(yuǎn)程控制??蛻舳酥饕桥c服務(wù)端進(jìn)行通信。本系統(tǒng)初步解決了教師管理學(xué)生在課堂上玩手機(jī)的問題,同時(shí)實(shí)現(xiàn)了考勤的功能。今后將進(jìn)一步完善功能,增強(qiáng)用戶體驗(yàn)。
參考文獻(xiàn):
[1] 張亞娟,劉寒冰.基于SSH框架的高校學(xué)生出勤考核管理系統(tǒng)[J].實(shí)驗(yàn)科學(xué)與技術(shù),2015,13(5):59-61.
[2] 關(guān)綺梨.基于SSH框架的課程管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:湖南大學(xué),2018.
[3] 尹云霞.基于分層思想的SSH框架整合技術(shù)研究[J].新技術(shù)新工藝,2017(4):56-58.
[4] 沈田天.基于SSH框架的學(xué)生綜合考評(píng)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[D].沈陽:東北大學(xué),2015.
[5] 羅心紅.TRIZ理論在智能手機(jī)技術(shù)創(chuàng)新中的應(yīng)用研究[D].杭州:浙江工業(yè)大學(xué),2015.
[6] 王竹立,李小玉,林津.智能手機(jī)與“互聯(lián)網(wǎng)+”課堂——信息技術(shù)與教學(xué)整合的新思維、新路徑[J].遠(yuǎn)程教育雜志,2015,33(4):14-21.
[7] 徐欣.移動(dòng)互聯(lián)網(wǎng)在信息技術(shù)課堂中的應(yīng)用——以智能手機(jī)為例[J].教學(xué)與管理,2018(30):96-98.
[8] 薛勝蘭.智能手機(jī)融入課堂教學(xué)的應(yīng)用研究[J].電化教育研究,2018,39(1):86-91.
【通聯(lián)編輯:梁書】
收稿日期:2021-06-12
基金項(xiàng)目:江蘇省高等學(xué)校大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃2020年立項(xiàng)重點(diǎn)項(xiàng)目(202011122014)——基于Android的學(xué)生手機(jī)遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
作者簡(jiǎn)介:楊珺婷(1999—),女,甘肅蘭州人,軟件工程專業(yè)學(xué)生;徐建華(1979—),男,江蘇南通人,副教授,研究方向?yàn)橛?jì)算機(jī)仿真技術(shù)、人工智能技術(shù);馮佳(2000—),男,浙江杭州人,軟件工程專業(yè)學(xué)生;程建金(1999—),男,甘肅武威人,軟件工程專業(yè)學(xué)生。