蒙海權(quán) 劉娟 陳晴怡 陸忻怡 李世峰
摘要:基于Android系統(tǒng)設(shè)計(jì)一款教育類應(yīng)用“電子書包”App軟件,探討了開發(fā)Android經(jīng)常用到的開發(fā)架構(gòu)和開發(fā)設(shè)計(jì)的流程。一個(gè)好的App應(yīng)用不僅需要提供相應(yīng)的功能,而且要有流暢的操作體驗(yàn),App為用戶提供電子教材PDF、電子筆記和學(xué)生常用工具等功能,為目標(biāo)用戶提供一個(gè)優(yōu)秀的輔助學(xué)習(xí)應(yīng)用。
關(guān)鍵詞:Android系統(tǒng);教育應(yīng)用;移動(dòng)端;電子教材
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)21-0084-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 市場(chǎng)狀況與開發(fā)問題
自2007年,蘋果推出第一款iPhone,開創(chuàng)了移動(dòng)計(jì)算的新時(shí)代。2007年11月5日,Android1.0版本隨之發(fā)布。Android經(jīng)過十多年的發(fā)展,在用戶數(shù)量方面已一步步打敗Windows Phone、iOS等移動(dòng)端操作系統(tǒng),成為互聯(lián)網(wǎng)市場(chǎng)上最大份額的移動(dòng)操作系統(tǒng)。各類應(yīng)用也越來越多,越來越完善,各行各業(yè)也均有著對(duì)應(yīng)的應(yīng)用。據(jù)CNIC第48次發(fā)布的《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》報(bào)道:截至2021年6月,我國(guó)國(guó)內(nèi)市場(chǎng)上監(jiān)測(cè)到的App數(shù)量為302萬款,較2020年12月減少43萬款A(yù)pp,下降12.5%。截至2021年6月,移動(dòng)應(yīng)用規(guī)模居前四位的App 分類占比達(dá)58.2%。其中,游戲類 App 數(shù)量最多,達(dá)到了72.9萬款,占目前已上架市場(chǎng)應(yīng)用全部AAP的24.1%,其次占比最多的為日常工具類,為15.4%,達(dá)到了46.5萬款。電子商務(wù)類應(yīng)用和社交即時(shí)通信類應(yīng)用也分別達(dá)到了29.5萬款和27.1萬款,牢牢占據(jù)移動(dòng)應(yīng)用市場(chǎng)規(guī)模的第三位和第四位,占目前已上市的全部App比重9.8%和9.0%。Android平臺(tái)作為移動(dòng)端最大的操作系統(tǒng),其生態(tài)完善,開發(fā)者和用戶數(shù)量眾多,市場(chǎng)份額也呈正增長(zhǎng)。同時(shí)隨著5G網(wǎng)絡(luò)的誕生以及普及,得益于其低延遲的網(wǎng)絡(luò)特性,云平臺(tái)、云應(yīng)用以及遠(yuǎn)程操控等也得以進(jìn)一步發(fā)展,移動(dòng)開發(fā)也受到了眾多開發(fā)者的追捧[1]。
近年來,教育類App也是迅猛發(fā)展,涌現(xiàn)出了學(xué)習(xí)通、智慧樹、慕課等一大批優(yōu)秀教育類應(yīng)用[2]。但能較為全面地提供課本電子教材的App卻為數(shù)不多,對(duì)此,項(xiàng)目旨在開發(fā)一款提供高質(zhì)量的電子教材App,并加入在學(xué)習(xí)中常用功能。
1.1 市場(chǎng)狀況
報(bào)道的數(shù)據(jù)顯示,截至2021年6月,我國(guó)網(wǎng)民規(guī)模為10.11億人,互聯(lián)網(wǎng)普及率達(dá)到71.6%,廣大的網(wǎng)民規(guī)模為推動(dòng)我國(guó)經(jīng)濟(jì)高質(zhì)量發(fā)展、加速我國(guó)新型數(shù)字基礎(chǔ)設(shè)施建設(shè)提供了強(qiáng)大的內(nèi)在動(dòng)力。人們花在手機(jī)上的時(shí)間越來越多,這意味著人們獲取信息的渠道多來自移動(dòng)設(shè)備,而傳統(tǒng)傳媒行業(yè)也在加快腳步,把紙質(zhì)閱讀媒體電子化,例如《人民日?qǐng)?bào)》、新華社等都有自己的相應(yīng)的公眾號(hào)和媒體號(hào),甚至擁有屬于自己的新聞?lì)悜?yīng)用App,供移動(dòng)端用戶閱讀使用。截至2021年6月,中國(guó)有著3.3多億年齡在29歲以內(nèi)的網(wǎng)民。對(duì)于這3.3多億的用戶,教育類App有著巨大的市場(chǎng),對(duì)于應(yīng)用開發(fā)者來說,這也是一個(gè)機(jī)遇。Android應(yīng)用開發(fā)項(xiàng)目有著高額的利潤(rùn)回報(bào),同時(shí)也是一個(gè)高風(fēng)險(xiǎn)的項(xiàng)目,移動(dòng)應(yīng)用開發(fā)的風(fēng)險(xiǎn)有著各種各樣的風(fēng)險(xiǎn)因素,常見的因素有應(yīng)用開發(fā)完成后,卻無人問津,以及開發(fā)資金超過了預(yù)算,造成項(xiàng)目停滯。而行業(yè)中的競(jìng)爭(zhēng)也是加大了開發(fā)者的焦慮。總而言之,想要獲得成功,就必須有創(chuàng)意。
1.2 移動(dòng)開發(fā)面臨的問題
移動(dòng)應(yīng)用開發(fā)所面臨的問題有很多,主要集中在開發(fā)的過程,以及保證軟件的安全方面[3]。
1)頁面UI開發(fā)重復(fù)度大。如今中國(guó)擁有302萬以上的App,安卓應(yīng)用主要為手機(jī)用戶服務(wù),不同的安卓應(yīng)用為用戶提供的功能服務(wù)不同,但其應(yīng)用UI布局卻大致相同,所以當(dāng)前UI開發(fā)重復(fù)率較高,想要設(shè)計(jì)出別具一格的UI,就得經(jīng)長(zhǎng)時(shí)間深思熟慮,而這也加長(zhǎng)了軟件開發(fā)周期,降低了應(yīng)用開發(fā)效率。
2)應(yīng)用要提供的功能較多,移動(dòng)端安卓應(yīng)用要提供數(shù)據(jù)存儲(chǔ),緩存,網(wǎng)絡(luò)請(qǐng)求等,還要考慮軟件后期的功能擴(kuò)展需求,因此,Android應(yīng)用的具體開發(fā)過程中需要考慮到方方面面,這也給開發(fā)者帶來更多的工作量。
3)軟件的推廣難度大。從Android發(fā)布至2013年,主要是將PC端的應(yīng)用功能搬到移動(dòng)端上來,屬于移動(dòng)端的萌芽期。2013—2015年是移動(dòng)端App的平臺(tái)型應(yīng)用時(shí)期,應(yīng)用開始有屬于移動(dòng)端的特有功能,是移動(dòng)端的成長(zhǎng)期。2015年至今是屬于移動(dòng)端的紅利期,誕生了微信、支付寶和抖音等擁有著超大流量的超級(jí)App,而新生App面臨的問題就是發(fā)布運(yùn)營(yíng),如何夾縫求生,殺出重圍成了App運(yùn)營(yíng)的一大問題。
由此可看出,Android應(yīng)用開發(fā)對(duì)于眾多的開發(fā)人員來說,這是一個(gè)充滿艱辛,極具挑戰(zhàn)的領(lǐng)域。開發(fā)者可以借助各種工具來提升效率,完成這個(gè)任務(wù),以謀求在市場(chǎng)中能夠占據(jù)一席之地。同時(shí)也可以把煩瑣重復(fù)的工作交給工具來完成。
2 相關(guān)技術(shù)
Android系統(tǒng)構(gòu)架簡(jiǎn)介。Google開發(fā)人員封裝了Android底層框架,供安卓程序開發(fā)人員使用,這些封裝的框架可以幫助Android應(yīng)用程序開發(fā)人員快速地完成對(duì)安卓手機(jī)應(yīng)用程序的開發(fā)[4],除了官方提供的底層框架外,國(guó)內(nèi)國(guó)外也出現(xiàn)了一大批優(yōu)秀的基于Android應(yīng)用的快速開發(fā)底層框架[5],這些優(yōu)秀的Android快速開發(fā)框架大多數(shù)都是封裝的原生SDK底層開發(fā)部分和完整的功能組合,這些框架的出現(xiàn),降低了安卓應(yīng)用開發(fā)的難度。常見的開發(fā)框架有OkHttp、volley、Afinal、xUtils。
Android的系統(tǒng)構(gòu)架采用了分層的思想,從下往上依次為L(zhǎng)inux內(nèi)核,硬件抽象層(HAL),系統(tǒng)Native庫和Android運(yùn)行時(shí)環(huán)境,java框架層以及應(yīng)用層共5層構(gòu)架[6],其中每一層又都包含著大量的子模塊、子系統(tǒng)。結(jié)構(gòu)如圖1所示。
1)Android應(yīng)用程序?qū)?/p>
安卓應(yīng)用程序包含了所有的安卓應(yīng)用程序,其中可以分為兩部分應(yīng)用程序,一部分是Android系統(tǒng)附帶的安卓核心應(yīng)用程序,如電話、相機(jī)等應(yīng)用。另一部分是由安卓程序開發(fā)人員開發(fā)的第三方App,Android應(yīng)用程序?qū)右彩侨藗冊(cè)谌粘I钪惺褂檬謾C(jī)接觸到最多的一個(gè)層次。
2)應(yīng)用程序框架層
它提供了大量可供開發(fā)人員使用的應(yīng)用程序接口[7](Application Programming Interface,API),應(yīng)用程序框架層集中了很多Android開發(fā)所需要的組件,其中最主要的就是Activities(活動(dòng))、Broadcast Receiver(廣播接收器)、Services(服務(wù))以及Content Providers(內(nèi)容提供者)這四大組件。Android自帶的很多核心應(yīng)用也是使用這些API來完成的。應(yīng)用程序框架層主要提供的組件如表1所示。
3)硬件抽象層
硬件抽象層處于應(yīng)用程序框架層和Linux內(nèi)核驅(qū)動(dòng)層之間,用于將硬件抽象化,對(duì)內(nèi)核驅(qū)動(dòng)程序進(jìn)行封裝,向上提供接口,向下提供屏蔽具體實(shí)現(xiàn)細(xì)節(jié)。系統(tǒng)硬件抽象層包含多個(gè)庫的模塊,每一個(gè)模塊都會(huì)為指定類型的硬件組件實(shí)現(xiàn)向上的接口,例如電話通信模塊,WLAN網(wǎng)絡(luò)通信模塊。當(dāng)程序應(yīng)用框架層接口(API)要訪問硬件設(shè)備時(shí),安卓系統(tǒng)就會(huì)為該硬件組件加載庫模塊。
4)Linux內(nèi)核層
安卓是基于Linux提供的核心系統(tǒng)服務(wù),比如,進(jìn)程的管理、內(nèi)存的管理、網(wǎng)絡(luò)堆棧、驅(qū)動(dòng)的模型以及安全。除了標(biāo)準(zhǔn)的Linux內(nèi)核外,Android還增加了內(nèi)核的驅(qū)動(dòng)程序,例如顯示驅(qū)動(dòng)、輸入設(shè)備驅(qū)動(dòng)、音頻系統(tǒng)驅(qū)動(dòng)、Binder(IPC)驅(qū)動(dòng)、攝像頭驅(qū)動(dòng)[8]、WiFi驅(qū)動(dòng)、藍(lán)牙驅(qū)動(dòng)和電源管理。
3 總體設(shè)計(jì)
3.1 開發(fā)設(shè)計(jì)原則
在開發(fā)過程中,遵循下列三個(gè)原則[9-10]:
1)可擴(kuò)展性。在開發(fā)過程中,考慮到了App的可擴(kuò)展性,在后續(xù)的版本中,或許會(huì)加入新的功能,為了避免加入新功能時(shí)需要對(duì)整個(gè)App都進(jìn)行重新構(gòu)造,因此,要遵守可擴(kuò)展性的規(guī)則,盡最大限度將App各個(gè)模塊之間的耦合性做到最小,以保證在有新需求的時(shí)候也可以快速方便進(jìn)行相應(yīng)的功能需求添加與改動(dòng)。
2)穩(wěn)定性原則。在代碼開發(fā)的過程中注重代碼的健壯性,保證App的高效、穩(wěn)定,功能全面,給用戶帶來流暢的體驗(yàn)。
3)易操作性。除了高效穩(wěn)定,美觀的圖標(biāo)、簡(jiǎn)單易懂的操作界面也是吸引用戶的一大亮點(diǎn),因此,在設(shè)計(jì)UI之時(shí),在保證UI美觀的同時(shí),圖標(biāo)也要通俗易懂,要讓用戶很容易理解不同的圖標(biāo)對(duì)應(yīng)的功能。
3.2 系統(tǒng)主要功能設(shè)計(jì)
“電子書包”App的主要功能設(shè)計(jì)如圖2所示,分為六大模塊進(jìn)行功能開發(fā)設(shè)計(jì)。
1)提供電子教材功能模塊
在現(xiàn)已存在的互聯(lián)網(wǎng)資源上,通過網(wǎng)絡(luò)爬蟲技術(shù)抓取互聯(lián)網(wǎng)上的電子教材資源,經(jīng)過后臺(tái)工作人員的篩選,將內(nèi)容復(fù)制到數(shù)據(jù)庫制作索引。經(jīng)過對(duì)電子教材的排版優(yōu)化,最終在該功能頁面上展示高質(zhì)量的電子教材。在閱讀頁面,將以盡可能地還原真實(shí)課本的形式展現(xiàn)在用戶面前,實(shí)現(xiàn)真實(shí)的翻頁效果。設(shè)計(jì)了推薦書籍子模塊,按照專業(yè)分類,用戶選擇專業(yè)后,會(huì)推薦該專業(yè)未來職業(yè)所需要學(xué)的課本。此外,還添加筆記功能,記錄學(xué)生在電子教材上的點(diǎn)、畫、寫的原始筆跡,最后上傳到服務(wù)器后端,供學(xué)生下次打開使用。
2)電子筆記本功能模塊
筆記本功能需要用戶先新建一個(gè)筆記本,筆記本既可以采用打印字字體,也可以采用用戶手寫字的原始筆跡,并且可以上傳分享,其他用戶可以在筆記廣場(chǎng)子模塊,看到上傳后的其他用戶的筆記,供學(xué)習(xí)借鑒,與他人共同進(jìn)步。由于用戶上傳的筆記質(zhì)量參差不齊,本項(xiàng)目軟件設(shè)計(jì)了點(diǎn)贊?rùn)C(jī)制,點(diǎn)贊越多展示排名越靠前,可以有效篩選魚龍混雜的筆記。
3)電子學(xué)習(xí)工具功能模塊
在電子學(xué)習(xí)功能模塊,設(shè)計(jì)了多種學(xué)習(xí)常用到的工具,如科學(xué)計(jì)算器、面積計(jì)算器,體積計(jì)算器、尺子、量角器、公式定理書、軟件快捷鍵匯合和學(xué)習(xí)鬧鐘等。
尺子、量角器,面積計(jì)算器,體積計(jì)算器通過手機(jī)的TOF攝像頭獲取數(shù)據(jù),經(jīng)過程序計(jì)算,返回結(jié)果輸出在用戶界面上。用戶設(shè)定學(xué)習(xí)鬧鐘后,鬧鐘響時(shí)觸發(fā)學(xué)習(xí)機(jī)制。只有用戶通過學(xué)習(xí)才可解除鬧鐘,通過背若干單詞,或者完成一些簡(jiǎn)單的題目,才可關(guān)閉鬧鐘。其間App監(jiān)視用戶的操作,用戶進(jìn)行解除操作時(shí),鬧鐘會(huì)短暫關(guān)閉。若用戶在一段時(shí)間內(nèi)沒有操作,鬧鐘會(huì)繼續(xù)響。此目的在于解決一些用戶鬧鐘響后,關(guān)了鬧鐘繼續(xù)睡的習(xí)慣,通過短暫的學(xué)習(xí)達(dá)到頭腦清醒的目的。
4)個(gè)人中心功能模塊
個(gè)人中心功能模塊包含用戶登錄子模塊,包括用戶注冊(cè)、密碼修改,以及個(gè)人信息、個(gè)人收藏、App的相關(guān)設(shè)置等子模塊。
4 應(yīng)用主要功能的界面
電子書包App根據(jù)功能需求將應(yīng)用界面設(shè)計(jì)為4個(gè)主界面,分別為教材展示界面、筆記功能界面、工具箱界面、個(gè)人中心界面。
圖3所展示的界面是教材展示界面。電子書包App的主要功能,對(duì)教材進(jìn)行了封面展示,點(diǎn)擊書面可以進(jìn)行課本的預(yù)覽,既可以在線閱讀全書,也可以下載下來離線觀看。在頁面的頂部,有搜索以及掃碼。兩種尋找教材的方式,用戶可以方便快捷地搜索到自己需要的電子教材。此外,對(duì)用戶進(jìn)行搜索次數(shù)最多的教材進(jìn)行了排序,歸納在熱門教材的功能模塊中,并且展示前3名的熱門教材,用戶可以點(diǎn)擊“更多”查看更多推薦教材。在課程分類功能模塊中,按照用戶所學(xué)的專業(yè)課程進(jìn)行了教材的整理歸納,把該專業(yè)所需要學(xué)的教材歸納到一起,并且加入了該專業(yè)比較著名的非在校課程的教材。
圖4所展示的界面是筆記功能界面。它是App主打的功能之一,筆記本功能模塊。分為兩個(gè)功能模塊,第一個(gè)為用戶自己創(chuàng)建的電子筆記本,用戶在創(chuàng)建筆記本的時(shí)候,點(diǎn)擊新建筆記,即可創(chuàng)建筆記。同時(shí)可以選擇使用自己手寫的筆跡或打印字字體,最后可以在具體筆記頁面里上傳自己的筆記,供其他用戶使用觀看,第二個(gè)為其他用戶分享的筆記,這里展示了其他用戶上傳的筆記,用戶可以點(diǎn)擊進(jìn)去觀看、收藏以及評(píng)論。對(duì)于上傳的筆記,把點(diǎn)贊前三名展示在首頁當(dāng)中,對(duì)于后續(xù)的工作,會(huì)加入按照專業(yè)來對(duì)上傳的筆記分類歸納和展示的功能。
圖5所展示的是工具箱界面。點(diǎn)擊不同的工具圖標(biāo)則進(jìn)入相應(yīng)的工具,在尺子當(dāng)中,首先獲取用戶的手機(jī)屏幕信息,包括分辨率、尺寸、比例等信息,根據(jù)尺寸和比例來算出用戶電子設(shè)備屏幕的長(zhǎng)寬。再根據(jù)這一信息來分配長(zhǎng)度刻度表,最后把刻度表顯示在屏幕上。
圖6則是個(gè)人中心界面。上方顯示的是用戶的頭像以及昵稱,分別點(diǎn)擊頭像和昵稱可以更改頭像圖片和昵稱名稱。下方顯示的是一些功能按鍵,點(diǎn)擊“我的教材”,進(jìn)入用戶下載過的電子教材,點(diǎn)擊“我的收藏”,進(jìn)入用戶收藏的筆記,還有其他的一些功能。
5 結(jié)束語
隨著目前教育電子化的進(jìn)程不斷進(jìn)行,早在幾年前的課堂上就已經(jīng)應(yīng)用多媒體教學(xué)設(shè)備進(jìn)行教學(xué)。越來越多的課本也已經(jīng)數(shù)字化,能提供電子教材的網(wǎng)站也有不少,但手機(jī)端的應(yīng)用還比較少且功能較為單一。電子書包App為同學(xué)提供優(yōu)質(zhì)的電子教材,以及優(yōu)秀筆記的分享平臺(tái),集合學(xué)生常用的工具,可以有效地為學(xué)生節(jié)省網(wǎng)上尋找電子教材的時(shí)間。為學(xué)生打造一個(gè)高品質(zhì)、高效率的輔助學(xué)習(xí)應(yīng)用。
參考文獻(xiàn):
[1] 劉鵬飛.電子書包的應(yīng)用現(xiàn)狀及建設(shè)建議[J].甘肅教育,2022(7):74-78.
[2] 劉丹,胡衛(wèi)星,李玉斌,等.移動(dòng)教育APP的研發(fā)現(xiàn)狀與應(yīng)用問題分析[J].電化教育研究,2016,37(8):47-52.
[3] 冀永歡.移動(dòng)應(yīng)用開發(fā)現(xiàn)狀與前景[J].數(shù)字技術(shù)與應(yīng)用,2022,40(4):164-166.
[4] 何紅輝.Android開發(fā)進(jìn)階:從小工到專家[M].北京:人民郵電出版社,2016.
[5] 馬永起,陳全根,程錚.基于Android的IETM平板閱讀器設(shè)計(jì)[J].電腦與信息技術(shù),2021,29(5):32-36.
[6] 周星錦,秦宇,吳秋新,等.Android框架層完整性度量方案[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2019,28(8):1-9.
[7] 陳強(qiáng).Android底層接口與驅(qū)動(dòng)開發(fā)技術(shù)詳解[M].2版.北京:中國(guó)鐵道出版社,2015.
[8] 鮑美英,申晉祥.基于Android的智慧閱讀APP的設(shè)計(jì)與實(shí)現(xiàn)[J].山西大同大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,37(4):17-18,21.
[9] 王佩.關(guān)于軟件開發(fā)過程的設(shè)計(jì)原則研究[J].電子測(cè)試,2017(11):133,105.
[10] 牛曉麗.計(jì)算機(jī)軟件開發(fā)中的軟件工程方法分析[J].電腦編程技巧與維護(hù),2021(6):71-72,98.
【通聯(lián)編輯:謝媛媛】