胡青萍
摘要:傳統(tǒng)教學一般是以面對面的方式進行授課,這種授課方式存在著時間規(guī)定、課程資源有限、不可重復學習等缺點。本文設計實現(xiàn)了一種基于Android平臺的教學網(wǎng)站App,能夠讓用戶自主選擇學習時間,進行在線學習,能夠很好地彌補傳統(tǒng)教學方式的不足。系統(tǒng)主要包括數(shù)據(jù)庫的設計、云服務器和Android客戶端的設計開發(fā)三個模塊。數(shù)據(jù)庫存儲在云服務器端,相關的數(shù)據(jù)庫操作都會提交到云服務器端進行,從而使得App客戶端具有高效處理速度。
關鍵詞:Android、教學App、Android Studio
0、引言
隨著互聯(lián)網(wǎng)的發(fā)展,智能手機特別是安卓手機廣泛被使用,基于Android平臺的教學App能夠很好的解決上述問題??蛻舳嗽贏ndroid手機上安裝教學App,登錄后,就可以選擇喜歡的課程進行學習。這種便捷、高效、可自主選擇學習時間與課程的教學App會是一個發(fā)展的方向,將來一定會改變傳統(tǒng)的教學方式[1]。
1、系統(tǒng)功能需求分析
1.1 功能需求
教學App是一款用Android Studio[2]開發(fā)的基于Android平臺進行高效學習的手機應用軟件??蛻舳藨摼哂杏脩暨M行注冊、登錄,瀏覽所有可學習的課程,關注課程,課程資源下載,社區(qū)進行交流分享,收藏文章,個人設置等功能,為了更好的服務用戶,應用還設置了意見反饋,用戶可進行意見反饋,以便完善教學App。
1.2性能需求
1)易用性:風格統(tǒng)一的界面設計,友好的交互設計,簡單方便的操作步驟;
2)穩(wěn)定性:App運行時要求高效、穩(wěn)定、可靠,內(nèi)存消耗與cpu消耗??;
3)兼容性:Android碎片化;
4)可拓展性:App設計時應考慮擴展問題,以便將來完善與拓展。
2、系統(tǒng)總體設計
教學網(wǎng)站App總共包括三個部分:云服務器、Android客戶端以及數(shù)據(jù)庫設計。
2.1云服務器端
系統(tǒng)的服務器使用的是Bmob云服務器。管理員通過登錄應用的賬號進入系統(tǒng)的控制臺,可以在控制臺對所有數(shù)據(jù)進行數(shù)據(jù)的增刪改查。
2.2Android客戶端
教學App采用B/S模式,用戶與App的交互界面進行交互,同時與云服務器的數(shù)據(jù)進行數(shù)據(jù)交互。云服務器向Android客戶端提供數(shù)據(jù)接口方法以便用戶進行數(shù)據(jù)操作。在Android端App的開發(fā)過程中,利用XML進行界面設計[4],使用include 進行界面復用,優(yōu)化布局,功能模塊使用Activity、Fragment實現(xiàn)與用戶的交互App通過Gson、Json與云服務器的數(shù)據(jù)交互[3]。 主要功能如圖3所示。
2.3 數(shù)據(jù)庫設計
數(shù)據(jù)庫中有7張表,各數(shù)據(jù)表的關系說明(E-R圖)如圖1所示。
3、系統(tǒng)實現(xiàn)
3.1數(shù)據(jù)庫的建立與連接
登錄應用的賬號到控制臺,在控制臺界面手動添加以上數(shù)據(jù)表。或者在程序中創(chuàng)建對應數(shù)據(jù)表的實體類,程序首次運行會自動在云服務器創(chuàng)建相應的數(shù)據(jù)表。
3.2云服務器的設置
創(chuàng)建一個應用,得到相應的 Appkey,以便在程序中使用[4]??梢允謩釉谠品掌鲃?chuàng)建數(shù)據(jù)表,添加測試數(shù)據(jù)。
初始化Bmob SDK:Bmob.initialize(this, "6672f54e9508f8fad63daa61f2b59c9c");
3.3Android App的設計與實現(xiàn)
1)學生用戶登錄注冊
設計思想:學生用戶啟動教學App時,進入登錄頁面LoginActivity,輸入賬號和正確的密碼點擊登錄按鈕,通過身份驗證后進入主頁面MainActivity。否則,會提示登錄失敗。
點擊頂部工具條的右上角的“注冊”按鈕,跳轉(zhuǎn)到注冊頁面SigninActivity。輸入用戶名和兩次密碼即可注冊。注冊會檢查用戶名是否存在,如存在會提示用戶更改用戶名。
2)課程相關操作
設計思想:當學生用戶成功登錄后,會自動跳轉(zhuǎn)到主頁面(MainActivity),主頁面上為一個ListView顯示所有課程。而一個ListView就需要一個適配器與一個數(shù)據(jù)源,數(shù)據(jù)源就是從Bmob后端云傳遞過來的課程集合。
用戶在瀏覽課程后,可以點擊任意一門課程,進入課程詳情頁面(CourseItemActivity),首先會檢查用戶是否已學習過該課程,在課程詳情中還可以查看該課程的詳細情況,然后可以選擇是否可以對課程進行學習或下載課程資源。
3)文章相關操作
用戶進入社區(qū)部分時,會顯示社區(qū)里已有的文章。用戶可以點擊自己喜歡的文章,進入文章詳情頁面(ChatPostItemActivity)。在這里可以查看文章的作者,發(fā)表時間,內(nèi)容以及相關評論。用戶可以文章進行點評、收藏。此外,用戶可以發(fā)表自己的文章,與其他用戶進行交流與分享。
4)個人設置相關操作
設計思想:用戶切換到個人設置時,可以查看自己的收藏的課程,收藏的文章以及自己發(fā)表的文章。此外還可以修改個人的信息,清理緩存,檢查版本更新等功能。個
4、測試
4.1功能測試
安裝教學App到Android手機上,進行功能測試,結果為所有功能均能正常使用。
4.2兼容性測試
Android客戶端兼容性測試通過云測試平臺Testin[5](Testin是全球最大的移動游戲、應用真機和用戶云測試平臺)進行,通過對市場占有率較高的50款安卓設備進行測試,結果為兼容性全部通過。
4.3安全性測試
Android客戶端的安全性測試在騰訊手機管家進行在線測試,測試結果為安全。
這里針對APP的功能、兼容性以及安全性等三個方面進行測試,測試結果反映運行功能穩(wěn)定、兼容性好,有較好的安全性。
5、總結
本文設計的App能夠為學生提供高效、自主選擇學習時間與課程的學習方式,且所有的數(shù)據(jù)處理都通過云服務器進行處理,提高應用的處理速度與健壯性。本應用已投入使用,運行效果較好。
參考文獻:
[1]李云飛,王敏娟等.移動學習系統(tǒng)及其相關學習模式[J].開放教育研究,2012(01)
[2]方欣,楊勃等.Android Studio應用開發(fā)-基礎入門與應用實戰(zhàn)[M].北京:電子工業(yè)出版社,2017:006
[3]黃彬華.Android5.X App開發(fā)實踐-使用Android Studio開發(fā)[M].北京:清華大學出版社,2016:305-312.
[4]https://docs.bmob.cn/data/Android/a_faststart/doc/index.html#獲取應用密鑰和下載SDK
[5]https://www.testin.cn/business/compatible.htmendprint