饒浩 李琴 黃炎森 林育曼
摘要:隨著智能手機的普及,越來越多人用智能手機作為學(xué)習(xí)工具,采用迭代式的開發(fā)方式實現(xiàn)一款基于Android的輔助學(xué)習(xí)App。該App能夠滿足基本學(xué)習(xí)需求,采用目前流行的網(wǎng)絡(luò)請求開源框架Volley,該框架能夠支持少流量的高并發(fā)網(wǎng)絡(luò)請求,使網(wǎng)絡(luò)通信更快,更簡單,更健壯。
關(guān)鍵詞:安卓;學(xué)習(xí)助手;App;JSON
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)09-0089-02
Abstract: With the popularity of smart phones, many people take smart phones as a learning tool. Iterative way was used to develop learning assistant App. The App can meet the current people's learning needs. The Client using open source framework network requests Volley. The framework can make network communications faster, easier and more robust.
Key words: Android; learning assistant; App; JSON
1 概述
在互聯(lián)網(wǎng)高速發(fā)展的現(xiàn)代社會,計算機技術(shù)與網(wǎng)絡(luò)技術(shù)越來越廣的應(yīng)用于各個領(lǐng)域,引起了人們學(xué)習(xí)方式的重大變革。并且隨著智能手機的普及化、大眾化,手機也逐漸改變我們的學(xué)習(xí)習(xí)慣。由于人們逐漸接受基于智能手機的學(xué)習(xí)方式,本文選擇目前在智能手機系統(tǒng)中占最大份額的Android系統(tǒng)上開發(fā)輔助學(xué)習(xí)App軟件。該應(yīng)用采用java語言進行開發(fā),本地數(shù)據(jù)庫使用Android內(nèi)置的SQLite數(shù)據(jù)庫,服務(wù)端采用PHP語言開發(fā),并將其部署到新浪云,服務(wù)端的數(shù)據(jù)庫使用新浪云提供的MYSQL數(shù)據(jù)庫。數(shù)據(jù)之間的傳輸格式采用JSON格式進行傳輸。
2 系統(tǒng)分析
2.1 架構(gòu)分析
系統(tǒng)有兩部分,一部分是客戶端即學(xué)習(xí)助手應(yīng)用,另外一部分是服務(wù)端,服務(wù)端是給應(yīng)用提供數(shù)據(jù)存儲服務(wù)的。客戶端的開發(fā)是基于安卓系統(tǒng)的,服務(wù)端則部署在新浪云上面。
客戶端通過訪問HTTP接口,服務(wù)端就執(zhí)行相應(yīng)的操作并返回相應(yīng)請求數(shù)據(jù),客戶端和服務(wù)端之間通過JSON數(shù)據(jù)格式協(xié)議來通信。
2.2 客戶端分析
學(xué)習(xí)助手應(yīng)用主要有六大功能模塊組成:
1)多終端同步練習(xí)功能:用戶通過登錄帳號,在應(yīng)用上做練習(xí),該應(yīng)用能夠記住用戶的練習(xí)進度,用戶在另一部安卓手機的該應(yīng)用上登錄該帳號就能夠同步練習(xí);
2)上傳和下載練習(xí)題功能:支持上傳習(xí)題和下載習(xí)題后進行離線練習(xí)功能;
3)練習(xí)選擇題題目功能:用戶能夠在該應(yīng)用上做選擇題,并查看試題解析,進而鞏固相關(guān)知識;
4)自動記錄錯題,隨時重做錯題功能:用戶做錯題目時,應(yīng)用會自動將該錯題添加到錯題庫,用戶可以隨時到錯題庫中練習(xí)錯題;
5)支持收藏題目功能:如果用戶對某道題目感興趣,可以將該題目收藏下來,以便隨時查看;
6)管理錯題功能:對錯題進行添加和刪除。
2.3 服務(wù)端分析
1)數(shù)據(jù)庫配置:封裝好了要連接的數(shù)據(jù)庫名、用戶名和密碼和連接數(shù)據(jù)的方法,程序連接數(shù)據(jù)庫只要簡單的調(diào)用該方法即可連接數(shù)據(jù)庫。
2)http接口:用來給客戶端提供服務(wù)的接口,客戶端向接口發(fā)送數(shù)據(jù)請求,接口就操作數(shù)據(jù),最后返回數(shù)據(jù)給客戶端。
3)分布式文件存儲:新浪云提供的穩(wěn)定可靠的分布式文件存儲,用來存儲圖片等文件。
4)lib庫:服務(wù)端用到的庫都放在這里,方便使用。
3 主要功能模塊實施
3.1 注冊與設(shè)置
用戶在個人中心界面點擊注冊,進入注冊界面,用戶填寫手機號碼,點擊下一步,調(diào)用第三方(聚合數(shù)據(jù))提供的API,第三方的服務(wù)就會發(fā)送驗證碼到用戶所填寫的手機號碼,收到驗證碼后并填寫正確的驗證碼,點擊下一步,完善帳戶信息,填寫密碼和昵稱,點擊注冊,注冊成功后,自動登錄,并跳到個人中心界面。
點擊設(shè)置選項,進入設(shè)置界面,有修改昵稱和修改密碼兩個子選項,點擊修改昵稱,填寫要修改的昵稱,最后點擊提交按鈕,則提交到服務(wù)器,修改昵稱成功。選擇修改密碼,用戶要先填寫原來的密碼,如果原來的密碼不正確,則不能修改密碼。原來的密碼填正確后,再根據(jù)用戶填寫的密碼,進行修改密碼。
3.2 登錄與退出
用戶點擊登錄按鈕,調(diào)用getJSONVolley函數(shù),通過Volley框架向服務(wù)端發(fā)送JSON對象,JSON對象中包含用戶名和密碼。服務(wù)端收到客戶端提交的數(shù)據(jù),則取出用戶名和密碼,在MYSQL數(shù)據(jù)庫中查找是否存在該用戶,如果存在則返回登錄成功信息,否則登錄不成功。
在個人中心點擊退出登錄按鈕,程序則執(zhí)行退出登錄,退出登錄成功后,程序停留在原來界面,并顯示出登錄和注冊兩個按鈕。
3.3 上傳與審核試卷
在瀏覽器中輸入上傳試卷網(wǎng)址,并輸入帳號和密碼進行登錄,登錄成功后進入上傳試卷界面,選擇要上傳試卷的科目,再填寫相關(guān)信息,再選擇相關(guān)試卷文件進行上傳,最后點擊確定完成上傳。
在瀏覽器中輸入審核試卷網(wǎng)址,并輸入管理帳號和密碼進行登錄,登錄成功后進入未審核試卷列表界面,點擊相關(guān)試卷進入試卷詳情,下載試卷,審核試卷相關(guān)內(nèi)容,確定沒問題之后,再點擊通過按鈕,服務(wù)器就會自動解析題目添加到題目數(shù)據(jù)庫中。
3.4 在線練習(xí)
點擊在線練習(xí)選項卡,進入在線練習(xí)界面,程序根據(jù)用戶所選的科目加載該目錄下所有的試卷列表,下拉可以刷新試卷列表來查看是否有更新的試卷。
在在線練習(xí)界面點擊相應(yīng)的試卷,進入對應(yīng)試卷的詳情界面,在這里能看到試卷的發(fā)布時間、提供者、卷面總分、及格分信息,點擊右上角的下載試卷圖標(biāo),即可下載該試卷,下載試卷后,用戶無需聯(lián)網(wǎng)就可以練習(xí)題目。但這樣的離線模式不支持收藏題目,記錄做題進度、自動記錄錯題等功能。
用戶在試卷詳情點擊繼續(xù)練習(xí)按鈕,進入練習(xí)界面,在該頁面能夠進行練習(xí)題目、收藏題目,必要時還能查看試卷解析,該軟件還提供計時功能,即自用戶進入該頁面就開始計時。用戶覺得有必要重新做題時,可以點擊下拉菜單,點擊重新開始,這樣就會清除記錄,重新開始答題。點擊答題卡,程序跳轉(zhuǎn)到答題卡界面,顯示出用戶當(dāng)前所做題目情況,點擊答題卡中的題目,自動跳到相應(yīng)題目。在該練習(xí)界面做題,程序會自動記錄練習(xí)進度以及題目完成情況。
3.5 題目管理
點擊個人中心我的上傳選項,進入之前上傳過的試卷列表界面,選擇其中的試卷,可以進入試卷詳情。
點擊個人中心我的下載選項,進入之前下載過的試卷列表界面,選擇其中的試卷,進入試卷詳情,再點擊下載會提示該試卷已經(jīng)下載的信息,并且下載過的試卷可以在無需聯(lián)網(wǎng)的狀態(tài)下,進行練習(xí)題目。
點擊個人中心錯題選項,進入錯題試卷列表界面,再選擇其中的試卷,進入練習(xí)題目界面,在該界面能夠?qū)υ?jīng)做錯的題目進行練習(xí),用戶能夠進行移除錯題和重新添加錯題管理。
3.6 信息展示與切換
主界面切換到消息時,向服務(wù)器請求信息列表,服務(wù)器返回信息列表,并以JSON的數(shù)據(jù)模式返回,客戶端接收返回的數(shù)據(jù),并將JSON對象解析成信息對象列表,然后用ListtView控件在Fragment上顯示出來。
用戶根據(jù)需要點擊相應(yīng)的選項卡,界面的Fragment就會替換成目標(biāo)Fragment,呈現(xiàn)給用戶。選擇切換考試,可以更改用戶的考試科目,程序自動會將選擇好的科目ID更改成當(dāng)前選擇的科目,更改完成之后,用戶可以到在線練習(xí)模塊練習(xí)該科目的試題,鞏固相關(guān)知識。
4 小結(jié)
本文提供了基于Android的學(xué)習(xí)助手App的設(shè)計框架。基于智能手機的學(xué)習(xí)作為一種新型的學(xué)習(xí)方式,滿足了信息化時代知識更新快、學(xué)習(xí)隨時隨地進行的需求,使其將成為一種更人性化的學(xué)習(xí)方式。它將傳統(tǒng)的學(xué)習(xí)過程大大簡化,因其具有的科學(xué)性、高效性、公正性、及時性等優(yōu)點,都是傳統(tǒng)學(xué)習(xí)無法比擬的。
參考文獻:
[1] 佟穎,路敦強. 手機APP在信息化實驗教學(xué)中的應(yīng)用研究[J]. 天津師范大學(xué)學(xué)報:自然科學(xué)版,2015,35(4):37-40.
[2] 鐘鍵. 試析Android異步通信機制[J]. 電腦編程技巧與維護,2016(10):46-47.
[3] 曾健生.App后臺開發(fā)運維和架構(gòu)實踐[M].北京:電子工業(yè)出版社,2016.
[4] 章蓬陽,邵帥. Android異步框架的研究與設(shè)計[J].軟件,2016,37(2):150-154.
[5] 郭奇志,陳光,任卓君,等. 基于Android智能手機的實驗管理系統(tǒng)[J]. 計算機與現(xiàn)代化,2015(10):73-76.