馮旭斌,譚小偉,李成文,查琪樂
(1.景德鎮(zhèn)市人事考試中心,江西景德鎮(zhèn) 333000;2.景德鎮(zhèn)市就業(yè)創(chuàng)業(yè)服務(wù)中心,江西景德鎮(zhèn) 333000;3.景德鎮(zhèn)陶瓷大學(xué),江西景德鎮(zhèn) 333403)
古詩詞作為中國的傳統(tǒng)文化之一,到現(xiàn)在仍然占據(jù)著重要的位置。這幾年的《中國詩詞大會》節(jié)目更是掀起了一股全民閱讀古詩詞的熱潮[1]。隨著國內(nèi)經(jīng)濟、科技的發(fā)展以及智能設(shè)備的普及,相對于之前拿著一本厚厚的實體書籍,現(xiàn)在更多的人喜歡用手中的智能設(shè)備進行閱讀。
中華詩詞在當(dāng)代具有治國理政的啟發(fā)價值;立德育才的教育價值;濟世為民的勵志價值;閱讀欣賞的陶冶情操價值;交流思想的溝通價值和市場經(jīng)濟的廣告價值等[2]。
從古至今,我國都是一個充滿詩意的國家,也非常重視古詩詞的教育。經(jīng)常讀詩詞可以陶冶人們的情操,豐富人們的想象,還可以培養(yǎng)人們對語言文字的興趣。
截至2020 年6 月,我國網(wǎng)民規(guī)模達9.40 億,較2020 年3 月增長3625 萬人,互聯(lián)網(wǎng)普及率達67.0%,較2020 年3 月提升2.5 個百分點[3],如今,已經(jīng)聚集了大量的移動互聯(lián)網(wǎng)用戶?,F(xiàn)在智能手機除了基本的通信和娛樂功能外,教育類App 層出不窮[4]。手機教育類應(yīng)用的出現(xiàn),打破了傳統(tǒng)教育的教學(xué)方式。運用現(xiàn)代技術(shù)的網(wǎng)絡(luò)在線教育已經(jīng)成為當(dāng)今教育新型教育方式,于是出現(xiàn)了大量的移動客戶端在線教育App[5],一些關(guān)于古詩詞的App也應(yīng)時而生。
本文的古詩詞App有著豐富的古詩詞數(shù)據(jù),搜索古詩的方式也很方便,簡潔的翻譯、注釋、賞析等有助于人們理解其中的意境,還有語音播報古詩功能幫助人們認(rèn)識古詩詞中的生僻字。
本文App 后端采用Python 語言編寫,并使用了Django 框架,前端采用的語言的是kotlin 語言開發(fā)原生App,其語言簡單,學(xué)習(xí)成本低,支持Lambda 表達式,而且能夠100%兼容Java,具體功能分析如下:
服務(wù)器端:
1)提供詩詞詳情。
2)增加、刪除、修改和查詢相關(guān)數(shù)據(jù)庫表,主要為用戶表、古詩詞評論表。
客戶端:
1)查看相關(guān)古詩、佳句詳情。
2)查看用戶信息。
3)上傳用戶信息。
4)查看作者簡介。
功能模塊簡介如下:
1)詩詞隨機展示模塊:該功能主要實現(xiàn)隨機古詩詞例子的展示。客戶端在古詩詞的數(shù)量范圍內(nèi)取幾位數(shù),服務(wù)器返回相關(guān)古詩詞的數(shù)據(jù)于界面展示。
2)詩詞評論模塊:該功能主要實現(xiàn)對古詩詞的評論。在用戶想評論古詩詞的時候會先檢查其是否登錄,已登錄的話直接評論古詩同時將評論及用戶信息上傳服務(wù)器端處理,未登錄會先提醒登錄再實現(xiàn)評論功能。
3)詩詞收藏模塊:該功能主要實現(xiàn)對古詩詞的收藏。在用戶進入古詩詞詳情時會先判斷其登錄及收藏狀態(tài):已登錄并且已收藏該古詩詞togglebutton會顯示已收藏的圖片;如果已登錄未收藏則顯示另一圖片,點擊togglebutton收藏該古詩同時將古詩詞信息存入安卓輕量級數(shù)據(jù)庫(SQLite 數(shù)據(jù)庫)內(nèi);未登錄會先提醒登錄再實現(xiàn)收藏功能。
4)詩詞詳情展示模塊:該功能主要展示古詩詞的詳情。點擊進入古詩詞詳情頁面時會向服務(wù)器端發(fā)送get 請求,服務(wù)器返回相關(guān)古詩詞數(shù)據(jù)。其中包含古詩名、朝代、作者、古詩正文、翻譯、注釋、賞析和作者簡介。
5)詩詞語音播報模塊:該模塊主要實現(xiàn)語音播報古詩詞。點擊語音播報的按鈕時,項目會調(diào)用騰訊云的語音合成接口,根據(jù)其攜帶的文本信息返回數(shù)據(jù)并實現(xiàn)播報的功能。
6)作者簡介展示模塊:該功能主要實現(xiàn)用戶搜索的作者信息簡介。進入作者簡介界面時服務(wù)器端會返回相關(guān)的作者信息并于界面展示。
7)注冊模塊:該模塊主要實現(xiàn)注冊用戶的功能。進入注冊用戶界面后,輸入昵稱、密碼等信息后會先判斷每個字段是否合理,例如郵箱是否為郵箱的格式,全部字段合理后將數(shù)據(jù)傳至服務(wù)器端,服務(wù)器端將用戶信息添加至用戶表同時返回咕嚕號(用于登錄使用)于客戶端。
8)登錄模塊:該模塊主要實現(xiàn)用戶的登錄功能。進入頁面后輸入咕嚕號和密碼登錄。如果輸入錯誤的咕嚕號會提示賬號不存在,錯誤密碼提示密碼錯誤,賬號密碼全部正確才可實現(xiàn)登錄功能。
9)用戶資料展示及修改模塊:該模塊主要實現(xiàn)用戶資料的展示及修改。進入編輯資料界面會展示相關(guān)資料,用戶可在此界面進行修改操作。修改電話號碼和郵箱字段時會先判斷其是否合理,合理之后方可修改。如需要修改密碼則會先驗證電話號碼和郵箱,兩者正確之后才可修改。
10)賬號管理模塊:該模塊主要實現(xiàn)單臺設(shè)備多個用戶登錄的管理。當(dāng)點擊賬號示例時先判斷是否當(dāng)前所登錄的用戶,如為當(dāng)前用戶不進行切換用戶處理,如不是當(dāng)前用戶則實現(xiàn)切換用戶登錄的處理。
圖1 Django項目的創(chuàng)建
1)服務(wù)器端
本課題App 服務(wù)器端使用的Python 的Django 框架,該框架是目前開發(fā)者使用較為廣泛的Web程序的框架,框架使用簡單,易于上手。
Django項目是由Pycharm編譯器的Django項目生成。如圖1所示。
項目創(chuàng)建完成之后會創(chuàng)建四個文件,文件及其解釋如表1所示。
表1 Django項目文件解釋表
2)客戶端
①古詩詞展示功能
該功能主要實現(xiàn)的是當(dāng)用戶進入首頁時看到相關(guān)古詩詞的推薦。
用戶進入主頁時,系統(tǒng)會在古詩id范圍之內(nèi)隨機生成5 個數(shù),生成的數(shù)再拼接到URL 上后使用get 方法獲取這五首詩的信息(id,題目名,朝代,作者,第一行古詩詞)。獲取信息之后客戶端使用Gson,將信息存入數(shù)據(jù)類中,再使用RecyclerView 的適配器將古詩展示在界面上,如圖2所示。
②古詩詞展示功能
本功能主要實現(xiàn)的是用戶搜索完古詩之后點擊相關(guān)古詩查看具體詳情。
在用戶點擊古詩進入古詩詳情的界面時,App 會向服務(wù)器發(fā)送一個get 請求,請求的URL 上攜帶著古詩id,服務(wù)器端得到URL里面的古詩id后查詢古詩詞表并將古詩詞的詳情數(shù)據(jù)返回,如圖3所示。
③古詩詞評論功能
該功能主要實現(xiàn)的是古詩詞的評論功能。
在用戶進入古詩詳情的界面時,App 會向服務(wù)器發(fā)送獲取該古詩評論數(shù)量的請求,服務(wù)器返回實際數(shù)量數(shù)據(jù),并展示在故事詳情的頁面下方(這首詩共有0 條評論),當(dāng)用戶點擊這段話的視圖時會跳轉(zhuǎn)到評論列表的界面。當(dāng)該首古詩0 條評論時,會有“該篇古詩暫無評論,你來占個沙發(fā)吧!”提示,當(dāng)不為零時則顯示全部的評論,評論的數(shù)據(jù)包括評論該篇古詩用戶的頭像、昵稱、時間和具體評論,如圖4所示。
④搜索作者及其簡介功能的實現(xiàn)
該功能主要實現(xiàn)的是用戶輸入作者名字之后搜索該作者,并點擊該作者信息之后進入相關(guān)的頁面查看。如若搜索的作者名數(shù)據(jù)庫未收錄時會出現(xiàn)“暫未收集該作者信息!”提示,如圖5所示。
圖2 隨機獲取古詩詞展示
圖3 古詩詳情展示
圖4 古詩評論展示
圖5 作者簡介展示
⑥用戶信息展示及修改功能的實現(xiàn)
該功能主要實現(xiàn)的是展示登錄后的用戶信息,以及提供修改功能,如圖6所示。
信息展示:用戶登錄完成進入編輯資料頁面后,App會根據(jù)現(xiàn)登錄的用戶咕嚕號向服務(wù)器發(fā)送請求,服務(wù)器返回相關(guān)的數(shù)據(jù)后客戶端將數(shù)據(jù)展示在頁面上。
修改:當(dāng)用戶需要修改信息時可直接修改此頁面的相關(guān)字段,再點擊確認(rèn)修改的控件后會先驗證電話號碼和郵箱的合法性,兩者合法且所有字段信息正確后才會將數(shù)據(jù)提交至服務(wù)器端進行修改。
圖6 用戶信息修改及展示
本文基于Python+Kotlin 完成了一個原生古詩詞App 開發(fā),實現(xiàn)了基本古詩詞閱讀和用戶功能,但尚未實現(xiàn)社交及即時通信功能,在今后的開發(fā)中,將更進一步完善相關(guān)功能。