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

圖1 Django項目的創建
1)服務器端
本課題App 服務器端使用的Python 的Django 框架,該框架是目前開發者使用較為廣泛的Web程序的框架,框架使用簡單,易于上手。
Django項目是由Pycharm編譯器的Django項目生成。如圖1所示。
項目創建完成之后會創建四個文件,文件及其解釋如表1所示。

表1 Django項目文件解釋表
2)客戶端
①古詩詞展示功能
該功能主要實現的是當用戶進入首頁時看到相關古詩詞的推薦。
用戶進入主頁時,系統會在古詩id范圍之內隨機生成5 個數,生成的數再拼接到URL 上后使用get 方法獲取這五首詩的信息(id,題目名,朝代,作者,第一行古詩詞)。獲取信息之后客戶端使用Gson,將信息存入數據類中,再使用RecyclerView 的適配器將古詩展示在界面上,如圖2所示。
②古詩詞展示功能
本功能主要實現的是用戶搜索完古詩之后點擊相關古詩查看具體詳情。
在用戶點擊古詩進入古詩詳情的界面時,App 會向服務器發送一個get 請求,請求的URL 上攜帶著古詩id,服務器端得到URL里面的古詩id后查詢古詩詞表并將古詩詞的詳情數據返回,如圖3所示。
③古詩詞評論功能
該功能主要實現的是古詩詞的評論功能。
在用戶進入古詩詳情的界面時,App 會向服務器發送獲取該古詩評論數量的請求,服務器返回實際數量數據,并展示在故事詳情的頁面下方(這首詩共有0 條評論),當用戶點擊這段話的視圖時會跳轉到評論列表的界面。當該首古詩0 條評論時,會有“該篇古詩暫無評論,你來占個沙發吧!”提示,當不為零時則顯示全部的評論,評論的數據包括評論該篇古詩用戶的頭像、昵稱、時間和具體評論,如圖4所示。
④搜索作者及其簡介功能的實現
該功能主要實現的是用戶輸入作者名字之后搜索該作者,并點擊該作者信息之后進入相關的頁面查看。如若搜索的作者名數據庫未收錄時會出現“暫未收集該作者信息!”提示,如圖5所示。

圖2 隨機獲取古詩詞展示

圖3 古詩詳情展示

圖4 古詩評論展示

圖5 作者簡介展示
⑥用戶信息展示及修改功能的實現
該功能主要實現的是展示登錄后的用戶信息,以及提供修改功能,如圖6所示。
信息展示:用戶登錄完成進入編輯資料頁面后,App會根據現登錄的用戶咕嚕號向服務器發送請求,服務器返回相關的數據后客戶端將數據展示在頁面上。
修改:當用戶需要修改信息時可直接修改此頁面的相關字段,再點擊確認修改的控件后會先驗證電話號碼和郵箱的合法性,兩者合法且所有字段信息正確后才會將數據提交至服務器端進行修改。

圖6 用戶信息修改及展示
本文基于Python+Kotlin 完成了一個原生古詩詞App 開發,實現了基本古詩詞閱讀和用戶功能,但尚未實現社交及即時通信功能,在今后的開發中,將更進一步完善相關功能。