蔡逸晨 趙潔 孔天昱 朱浩哲 陳華強(qiáng)
(江蘇第二師范學(xué)院 物理與信息工程學(xué)院 江蘇省南京市 210000)
2022年碩士研究生報(bào)名人數(shù)創(chuàng)下最高紀(jì)錄,達(dá)到457 萬(wàn),漲幅達(dá)21%。自2016年起,我國(guó)碩士研究生的報(bào)考人數(shù)持續(xù)在高位上保持高增長(zhǎng)趨勢(shì)。2015 至2022年間,七年平均增長(zhǎng)率為15.8%,而招生比例為24%同比2021年減少6%,這也意味著成功考研變得越來(lái)越難[1]。
考研備考是個(gè)艱難的過(guò)程,如果能找到志同道合的考研同伴在備考路上互相激勵(lì)共同進(jìn)步,是很多同學(xué)看來(lái)可遇不可求的幸運(yùn)。信息技術(shù)越來(lái)越發(fā)達(dá)的今天,我們希望這個(gè)愿望不再難以實(shí)現(xiàn),做這個(gè)項(xiàng)目的理由就是要運(yùn)用現(xiàn)代化的技術(shù)手段去改變的這些現(xiàn)象,盡可能為考研同學(xué)提供全方位的輔助。
目前,市面上出現(xiàn)的與考研相關(guān)的APP,大多是考研培訓(xùn)機(jī)構(gòu)所開(kāi)發(fā),其目的自然是銷售考研相關(guān)的課程,或進(jìn)行考研學(xué)校的有償推薦。雖然一些考研APP 提供了社區(qū)功能,但是由于該功能的局限性,很難進(jìn)行有效的互動(dòng)交流,使得同學(xué)之間的交流不夠流暢,難以達(dá)到共同進(jìn)步的目的。
(1)響應(yīng)速度:“研路有你”APP 需要提供高效的響應(yīng)速度,讓用戶能夠快速使用和操作該應(yīng)用,避免長(zhǎng)時(shí)間的等待和卡頓現(xiàn)象。
(2)穩(wěn)定性:“研路有你”APP 需要具有良好的穩(wěn)定性,能夠保證應(yīng)用在各種環(huán)境下的正常運(yùn)行,并且不會(huì)因?yàn)橐馔馇闆r導(dǎo)致崩潰。
(3)界面設(shè)計(jì):“研路有你”APP 需要有良好的界面設(shè)計(jì),易于使用和操作,并符合用戶被激勵(lì)的需求和審美觀。
(4)可用性:“研路有你”APP 需要提供豐富的功能和良好的用戶體驗(yàn),不僅能夠滿足用戶的需求,而且方便易用,讓用戶輕松管理和共享研究資源。
(5)移動(dòng)性:“研路有你”APP 需要支持不同的移動(dòng)設(shè)備,包括智能手機(jī)、平板電腦等多種設(shè)備,并能夠根據(jù)不同設(shè)備的特性進(jìn)行適配和優(yōu)化。
注冊(cè)與登錄時(shí)采取多重身份驗(yàn)證機(jī)制來(lái)保證用戶身份真實(shí)性,在與其他應(yīng)用、網(wǎng)站的集成連接過(guò)程中,對(duì)于涉及到用戶數(shù)據(jù)的共享等情況,會(huì)在事先獲得用戶授權(quán)的情況下進(jìn)行,保證用戶信息的安全性[2]。
根據(jù)上訴應(yīng)用需求的分析,本文著重從研友匹配、資料分享、群互助、政策推送、時(shí)間管理、計(jì)劃監(jiān)督6個(gè)功能入手,如圖1所示,設(shè)計(jì)出“研路有你”APP。
圖1:功能模塊
在“研”路有你APP 中,有用戶,管理員,網(wǎng)站管理員,研友,政策通知,資料,計(jì)劃等實(shí)體,它們之間的關(guān)系如圖2所示。
圖2:“研”路有你APP 整體E-R 圖
本平臺(tái)所采用的數(shù)據(jù)庫(kù)是SQLite,數(shù)據(jù)庫(kù)中包含數(shù)據(jù)庫(kù)表和表之間的關(guān)系。根據(jù)數(shù)據(jù)庫(kù)概念設(shè)計(jì),至少應(yīng)該包含如下幾種表,各表存儲(chǔ)信息對(duì)應(yīng)的關(guān)系如表1所示。
表1:“研”路有你APP 中表所存儲(chǔ)的信息
3.3.1 研友匹配功能
智能匹配好友板塊根據(jù)用戶的目標(biāo)學(xué)校、目標(biāo)專業(yè)、目標(biāo)城市、性別等信息找到所有符合條件的其他用戶,當(dāng)符合條件的人數(shù)大于5 時(shí),利用shuffle 函數(shù)將其打亂順序,再調(diào)用sublist 方法隨機(jī)選取5 個(gè)人展示,關(guān)鍵代碼如下:
研友模塊界面如圖3所示。
圖3:研友模塊界面
3.3.2 資料分享功能
調(diào)用indexof 函數(shù)判斷所分享資料的后綴名,indexof 函數(shù)返回一個(gè)整數(shù)值,指出String 對(duì)象內(nèi)子字符串的開(kāi)始位置。如果沒(méi)有找到子字符串,則返回-1,進(jìn)而對(duì)其所上傳的資料分為pdf,MP4,doc,jpg,jpeg,png 進(jìn)行上傳,如若后綴名不是以上種類則上傳失敗,以上傳pdf 為后綴名的文件為例的核心代碼:
功能界面如圖4所示。
圖4:資料分享功能界面
3.3.3 互助功能
通過(guò)調(diào)用indexof 函數(shù)來(lái)設(shè)置所發(fā)出去的問(wèn)題是所有人可見(jiàn)、還是僅好友可見(jiàn),還是部分人可見(jiàn),還是部分人不可見(jiàn),功能界面如圖5所示。
圖5:互助模塊界面
3.3.4 政策推送功能
管理員通過(guò)App.dbManager.save(tongzhi)將通知的編號(hào)、內(nèi)容、標(biāo)題、時(shí)間都存儲(chǔ)在dbManager 數(shù)據(jù)庫(kù)中,用戶通過(guò)調(diào)用TongzhiAdapter 來(lái)顯示dbManager 中tongzhi 的內(nèi)容,功能界面如圖6所示。
圖6:政策推送界面
3.3.5 時(shí)間管理功能
先調(diào)用calendar 方法創(chuàng)建日歷功能,設(shè)置好日期,然后再設(shè)置時(shí)間,核心代碼如下:
Calendar selectedDate = Calendar.getInstance();
Calendar startDate = Calendar.getInstance();
startDate.set(1990,1,1);
Calendar endDate = Calendar.getInstance();
endDate.set(2920,1,1);
功能界面如圖7所示。
圖7:時(shí)間管理界面
3.3.6 計(jì)劃監(jiān)督功能
設(shè)置日期的方法同上,功能界面如圖8所示。
圖8:計(jì)劃監(jiān)督界面
(1)使用ConstraintLayout 進(jìn)行布局,這樣可以減少嵌套布局,提高性能[3];
(2)使用LinearLayout 進(jìn)行布局時(shí),設(shè)置orientation為horizontal 或vertical 可以大大提高繪制速度,避免重量級(jí)視圖的使用;
(3)使用include 標(biāo)簽,將復(fù)雜的布局拆分成幾個(gè)小布局,從而更好地管理代碼。
(1)盡量避免使用ScrollView 和ListView 等帶有大量子視圖的控件,會(huì)導(dǎo)致卡頓;
(2)ListView 和RecyclerView 在使用時(shí)盡量使用ViewHolder,避免重復(fù)創(chuàng)建視圖[4];
(3)使用ConstraintLayout 代替RelativeLayout,這樣可以避免偏移量的計(jì)算[5]。
(1)豐富管理員的功能,給予管理員更大的權(quán)限;
(2)進(jìn)一步優(yōu)化研友智能匹配的功能使其更豐富;
(3)優(yōu)化操作,使其更加簡(jiǎn)便。
本項(xiàng)目在調(diào)查研究和系統(tǒng)設(shè)計(jì)的基礎(chǔ)上,初步實(shí)現(xiàn)了基本功能,有效地滿足了用戶需求,并使考研學(xué)生更加方便地尋找研友,并提供更為全面和實(shí)用的信息,讓使用該系統(tǒng)的用戶能更加深入了解所需的內(nèi)容,在考研中獲得更大的支持,本APP 各功能模塊之間銜接良好,操作方便簡(jiǎn)單,但是在一開(kāi)始測(cè)試過(guò)程中會(huì)出現(xiàn)APP閃退情況,通過(guò)檢查控件是否對(duì)應(yīng),findViewById 是否初始化,是否對(duì)應(yīng)(要和控件的id 對(duì)應(yīng)),查看xml和activity 是否對(duì)應(yīng),發(fā)現(xiàn)問(wèn)題所在。