徐婷 王英石 李鴻珍 吳非凡 陳道祺 汪文杰



摘要:移動端互聯網技術發展迅猛,在便利人們生活的同時帶來了許多麻煩,尤其是在時問管理上,手機娛樂類應用占據了人們大量的時間,對人們的工作學習帶來了極大的困擾。文章提出了一種基于Android的防沉迷系統,可以幫助用戶進行時間管理,可以在一定時間內對希望被封鎖的應用進行監控封鎖,只有在滿足一定條件后才能打開該應用,從而做到防止用戶沉迷于手機娛樂應用的目的。
關鍵詞:防沉迷;應用監控;移動端開發;Android平臺
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)20-0096-02
1背景
隨著科技的進步,人們的生活越來越離不開手機應用。五花八門的App豐富了人們的生活,同時也帶來了沉迷的風險。Android系統用戶廣泛,因此特殊用戶群體(如學生)也相對較多。許多白控能力較弱的人,因沉迷社交軟件、游戲等不能自拔,個人的生活受到了極大影響。綜上所述,防沉迷系統的搭建,是國內外手機應用產業發展的必然趨勢。因此,項目以此為背景,開展了基于Android的防沉迷系統的研究與開發。
防沉迷系統是對于手機App進行的鎖定,有效對Android用戶使用該應用的時間進行管控。用戶可以通過使用本系統,鎖定相應App,設置使用時間,本系統會在后臺監控用戶對該應用的使用情況,如果超出使用時間,在限定的時間內將無法打開及使用該應用。另外,本系統還添加了獎勵機制及排行榜,對于完成防沉迷目標的用戶,將頒發相應獎勵,排行榜名次會隨著用戶防沉迷任務完成程度實時變化。
本文詳細介紹了基于Android的防沉迷系統的設計,針對本系統的應用和具體設計任務進行論述,闡述本系統的主要特征、需求分析、預期目標及功能等。
2設計
針對基于Android的防沉迷系統,項目主要在鎖定方式,前后端交互,獎勵機制等方面進行設計。系統模塊設計是研究和應用如何以系統化、規范化、可度量的方法開發、運行和維護軟件的一種層次化技術,包括過程、方法和工具三個要素。根據分析,一個完整的Android防沉迷軟件應該包括UI界面設計,鎖定方式,獎勵機制等方面內容,通過這些模塊用戶可以完成各種操作,滿足了用戶對于個人健康的管理需求,因此將系統設計如圖1所示。
2.1鎖定方式
在軟件中給予用戶選擇的控件,采用多種方式實現鎖定,可以供用戶靈活選擇。
2.1.1常規鎖定
常規鎖定就是將手機App進行鎖定,在用戶沒定鎖定時間后,在規定時間內用戶若想解鎖,系統會在題目集中隨機選取一道題,該題不設類型,但有標準答案。若用戶答對該題,則解鎖應用,否則繼續回答下一隨機問題或者放棄使用應用。鎖定時間到自動解鎖。
2.1.2監督鎖定
監督鎖定是注冊用戶之間相互監督的鎖定。該功能要求用戶與網上好友相互監督,給對方設定解鎖密碼。用戶與好友相互持有對方的解鎖密鑰,當密鑰設定后會存人本機數據庫,以md5加密方式進行存儲。因此,在鎖定時間內若想對App進行解鎖,需獲取監督者沒定的密鑰。
2.1.3強制鎖定
用戶不能在規定時間內解鎖App,必須待規定鎖定時間結束才能重啟該App。
2.2前后端設計
用戶在軟件初始界面信息注冊及登錄。用戶注冊后,在后臺數據庫中加入用戶個人信息,App使用信息(App名字,單次使用時長,總使用時長,次數,用戶錢包,堅持天數等),相關分組聯系人信息等等。在數據庫中獲取相關信息,在后端進行控制App達到目的。UI沒計與后端工作在系統開發時同步進行,建立了穩健的連接,用戶進行的每個步驟都有對應界面。前端工作將App美化,提升軟件的人機交互體驗。在軟件界面上保證不對用戶造成影響,提升用戶使用體驗。
2.3獎勵機制
軟件的工作需要用戶的堅持,所以提fn相關的激勵機制,希望在軟件工作期間,用戶能積極地完成每次階段性的任務。在本激勵機制內,用戶需要進行實名認證開啟。保證用戶信息的同時加入獎金機制,比如用戶交10元,一定期限內完成防沉迷工作,返還12元;如果失敗則10元不可取出。除此之外,還將使用小組工作的形式,每個小組可以建立群聊,一個小組設立期限。每人交同樣的錢數,達成目標的人平均獲得該小組交的總錢數。加入小組排行榜,根據防沉迷任務的完成程度,實時更改小組成員排行榜的名次,名次的變化信息后臺進行統計,用戶通過App得到反饋。
3系統結構
本系統的服務端分為移動服務端與云服務端,與移動端組成整個系統,分別承擔不同的職能。見圖2。
3.1移動端
移動端的作用就是與用戶進行交互,在用戶使用本系統時,將需要鎖定的App添加進相應功能處,選擇鎖定方式即可對該應用進行鎖定。當用戶選擇監督鎖定模式,會選擇一個好友,之后系統與其進行通信,要求對方輸入一串密鑰作為鎖定密碼,然后系統接收到此密鑰,將其存放在本機數據庫內。
移動端在用戶第一次登錄或者修改個人信息時與服務器進行信息交換,此外與服務器的直接聯系僅為用戶之間的通信或者監督模式下的密鑰沒置。
3.2移動服務端
移動服務端是一個小型的數據庫系統,里面存放了用戶的鎖定App的信息,沒備信息,題庫信息,并將用戶的其他反饋信息傳遞給移動端。
每次用戶對本地數據庫信息進行修改,移動端數據庫就會與服務端進行通信,將用戶更新的本地數據信息傳送到服務端,以做到本地與服務端數據一致性。同樣,當用戶選擇監督模式時,對方用戶設定密鑰之后,通過服務端與移動服務端進行通信,將密鑰傳送到移動端服務器。
3.3服務端
服務端主要起到信息中介的作用,驗證用戶信息,也可以幫助用戶找回丟失信息。增加服務端可以為系統的后續開發增加靈活性。
4鎖定算法實現
本系統核心為App鎖定功能。主要是將App的id作為唯一標識存儲在本機數據庫內,當被鎖定App發生開啟響應事件時,本系統從任務管理器中尋找該App的進程號,若不符合開鎖條件,則切斷進程。算法流程圖見圖3。
5結束語
隨著手機的普及,防沉迷系統的開發越發重要,許多App相繼推出了“青少年模式”控制App的使用時間,但是這些App無法有效阻止無監督下的兒童使用。本系統的開發主要是為了幫助沒有自制力的人減少手機使用時間,從而提高工作學習的效率。本系統尚有不足,不能自動識別游戲類的娛樂軟件,需要用戶針對性的添加。自動識別娛樂軟件將是未來開發的目標。
參考文獻:
[1]楊劍爐.結合工程項目的Android課程改革研究[J].科技風,2020(11): 34-35.
[2]高俊,牛藝霏.Android應用架構技術分析和設計[J].信息技術與信息化,2020(3): 13-15.
[3]王懷興.關系數據庫的共享、沖突及自適應鎖定算法[J].現代圖書情報技術,1999(6): 25-27,46.
[4]周瑞璟.Android手機防沉迷系統的研究與開發[D].廣州:中山大學,2014.
[5] Ahmed Fawzy Mohamed Cad. Preparing Kivy for Android Ap-plication Development[Ml. Apress, 2019.
[6] Tiwari A,GroB S,Hammer C.IIFA: modular inter-app intentinformation flow analysis of android applications[M]//LectureNotes of the Institute for Computer Sciences. Social Informat-ics and Telecommunications Engineering. Cham: Springer In-temational Puhlishing, 2019: 335-349.
[7] Iman Almomani, Mamdouh Alenezi. Android Application Secu-rity Scanning Process[M]. Intech Open, 2019.
[8] Ahmed Fawzy Mohamed Gad. Creating and Managing MultipleScreens[M]. Apress,2019.
收稿日期:2020-05-08
基金項目:基于Android的防沉迷系統的研究與開發(項目編號:201910059074)
作者簡介:徐婷(1999-),女,福建莆田人,學士,研究方向為信息安全;王英石(1986-),黑龍江哈爾濱人,講師,博士,研究方向為計算機應用技術;李鴻珍(1999-),女,河北滄州人,學士,研究方向為信息安全;吳非凡(1998-),男,江蘇常州人,學士,研究方向為計算機科學與技術;陳道祺(1999-),男,浙江寧波人,學士,研究方向為計算機科學與技術;汪文杰(1999一),男,新疆伊寧人,學士,研究方向為信息安全。