楊珺婷 徐建華 馮佳 程建金



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