張湖森
摘 ?要:在智能手機(jī)迅速普及的時代,文章利用智能手機(jī),針對用戶的需求,設(shè)計(jì)了一款基于安卓平臺的選課系統(tǒng)。文章首先通過調(diào)查了解用戶對選課系統(tǒng)的實(shí)際需要,然后針對需求分析該選課系統(tǒng)應(yīng)該具有的功能,其次對選課系統(tǒng)進(jìn)行了總體設(shè)計(jì)與模塊介紹,接著進(jìn)行了詳細(xì)介紹與功能測試,最后對全文進(jìn)行總結(jié),并對未來的選課系統(tǒng)進(jìn)行展望。
關(guān)鍵詞:Android;選課系統(tǒng);數(shù)據(jù)庫;Java
中圖分類號:TP311.52 ? ? ?文獻(xiàn)標(biāo)志碼:A ? ? ? ? 文章編號:2095-2945(2019)35-0033-02
Abstract: In the era of rapid popularity of smartphones, this paper designs a course selection system based on Android platform by using smartphones to meet the needs of users. First of all, this paper understands the actual needs of users for the course selection system through investigation, and then analyzes the functions of the course selection system according to the needs. Secondly, the overall design and module of the course selection system are introduced. Then the paper carries on the detailed introduction and the function test, finally sums up the full text, and gives the prospect to the future course selection system.
Keywords: Android; course selection system; database; Java
1 概述
隨著智能時代的發(fā)展,移動通信技術(shù)日益成熟,Android移動設(shè)備得到了廣泛的使用。手機(jī)軟件登上智能時代的舞臺,成為當(dāng)下商業(yè)發(fā)展的新力量,每天都會有大量的手機(jī)軟件出現(xiàn),同一種功能不同的軟件都可以實(shí)現(xiàn),這樣就存在很大的競爭,商家需要設(shè)計(jì)有吸引力的軟件。在眾多手機(jī)軟件中越來越多的人希望有一款能夠?qū)ψ约旱墓ぷ骱蜕钣袔椭木哂袑?shí)際功能的軟件。基于此,本文利用Android平臺設(shè)計(jì)了一款學(xué)生選課系統(tǒng)。
2 Android系統(tǒng)介紹
Android是一款由內(nèi)核、中間部件、手機(jī)界面和軟件系統(tǒng)組成的基于Linux內(nèi)核的操作系統(tǒng)。它的架構(gòu)采用的是軟件堆層(SoftwareStack),軟件堆層又是由基底層、中間層和應(yīng)用層這三層組成。其中,基底層由C語言進(jìn)行開發(fā),并且以Linux為內(nèi)核系統(tǒng)來提供實(shí)際操作的基本功能;中間層是在基底層的基礎(chǔ)上,由C語言開發(fā)的函數(shù)庫層(Library)和虛擬機(jī)(Dalvik Virtual Machine)兩個構(gòu)成。應(yīng)用層主要由Java語言進(jìn)行開發(fā)的各種各樣的軟件組成,包括時間軟件、聊天軟件、購物軟件等。Android實(shí)質(zhì)上是一種操作系統(tǒng),它具備操作系統(tǒng)的五大功能:文件管理、用戶接口、設(shè)備管理、處理器管理、存儲管理[1]。
3 系統(tǒng)需求分析
3.1 可行性分析
本系統(tǒng)具有安裝簡單、快捷的特點(diǎn),它既可以在真實(shí)的手機(jī)環(huán)境中應(yīng)用,也可以在安卓模擬器上運(yùn)行,這樣的特點(diǎn)保證了系統(tǒng)的高性能,并有利于以后系統(tǒng)的修改和擴(kuò)展,讓系統(tǒng)具備了靈活性和高效性。另外安卓系統(tǒng)具備很好的兼容性,可以在大多數(shù)的安卓手機(jī)上運(yùn)行,不是只針對一個系統(tǒng),并且對系統(tǒng)的調(diào)試也非常簡單,有安卓專門的調(diào)試工具,正因如此,開發(fā)此選課系統(tǒng)在技術(shù)上具有可行性[2]。
3.2 系統(tǒng)功能性分析
本系統(tǒng)是利用安卓原生控件,實(shí)現(xiàn)一個在Android平臺上能夠?qū)崿F(xiàn)學(xué)生選課系統(tǒng)的客戶端。
(1)用戶登錄:用戶可以通過登錄頁登錄app。(2)信息維護(hù):管理員可以添加,刪除,修改學(xué)生老師和課程信息。(3)學(xué)生模塊:新增刪除,修改學(xué)生信息。(4)課程模塊:新增、刪除、修改課程信息。(5)老師模塊:新增、刪除、修改老師信息。(6)課程模塊:可以新增、刪除、修改課程信息。(7)選課:用戶可以進(jìn)行課程選擇。
3.3 系統(tǒng)非功能需求
本選課系統(tǒng)基于安卓平臺設(shè)計(jì)和實(shí)現(xiàn),其目標(biāo)是可以在真實(shí)的安卓手機(jī)上運(yùn)行,也可以是在模擬器中,它的系統(tǒng)是安卓2.2。
4 系統(tǒng)的總體設(shè)計(jì)
4.1 系統(tǒng)模塊設(shè)計(jì)
本系統(tǒng)采用模塊化的設(shè)計(jì)方法,將系統(tǒng)按功能分成幾個模塊,本系統(tǒng)主要包括以下五個部分:
4.1.1 用戶登錄
用戶在使用app時,需要進(jìn)行登錄,在登錄頁面輸入用戶名和密碼,可以進(jìn)行登錄。
4.1.2 學(xué)生管理
在這個模塊中,管理員可以進(jìn)行學(xué)生信息的錄入,包括姓名、性別、年齡、年級、學(xué)院、專業(yè)等信息,以及對學(xué)生信息進(jìn)行修改與刪除。
4.1.3 教師管理
在這個模塊中,管理員可以進(jìn)行教師信息的錄入,包括姓名、專業(yè)等信息,以及對教師信息進(jìn)行修改與刪除。
4.1.4 課程管理
在這個模塊中,管理員可以進(jìn)行課程信息的錄入,包括課程名、授課老師、學(xué)時等信息,以及對課程信息進(jìn)行修改與刪除。
4.1.5 選課管理
在這個模塊用戶可以查看可以選擇的課程,并且通過選擇按鈕對這些課程繼續(xù)選擇,選擇完成后可以查看到選擇課程的詳細(xì)信息等。
4.2 數(shù)據(jù)庫設(shè)計(jì)
由于本系統(tǒng)模塊功能之間的獨(dú)立性,不同模塊用到不同的數(shù)據(jù)庫。由理財小助手系統(tǒng)的功能需求入手進(jìn)行詳細(xì)分析,基于概念模型的設(shè)計(jì),確定本系統(tǒng)所需要的數(shù)據(jù)庫及數(shù)據(jù)庫中的表的設(shè)計(jì)[3]。
4.2.1 賬戶表
賬戶表命名為admin_account,用于管理系統(tǒng)各個用戶信息。_id為用戶的唯一標(biāo)識,為表的主鍵,也為其他表的_id相對應(yīng)。Username和pwd分別代表著用戶名和密碼。這兩個是用戶后期可以修改的。
4.2.2 老師表
賬戶表命名為teacher,用于管理老師信息。id為老師的輸入id。No為老師的編號,不同老師的信息存入數(shù)據(jù)庫的時候,都是以no=1為起始的,進(jìn)而往后遞增。
4.2.3 學(xué)生信息表
賬戶表命名為student,用于管理用戶的學(xué)生信息。id為學(xué)生的學(xué)生號。No為收入信息的編號,不同學(xué)生信息存入數(shù)據(jù)庫的時候,都是以no=1為起始的,進(jìn)而往后遞增。
4.2.4 課程信息表
賬戶表命名為course,用于管理課程信息。id為課程的id。No為課程信息的編號,不同課程信息存入數(shù)據(jù)庫的時候,都是以no=1為起始的,進(jìn)而往后遞增。
5 系統(tǒng)的詳細(xì)設(shè)計(jì)及測試
5.1 系統(tǒng)的流程結(jié)構(gòu)
5.1.1 系統(tǒng)登錄主界面
用戶在進(jìn)入系統(tǒng)前需要先進(jìn)行登錄。登錄界面是由一個AlertDialog對話框組成,中間有用戶名和密碼兩個EditText輸入控件,點(diǎn)擊“登錄”按鈕可以進(jìn)行登錄。
5.1.2 系統(tǒng)主界面
本系統(tǒng)的主界面可以將該選課系統(tǒng)所有的功能模塊顯示出來。主界面的布局采用安卓網(wǎng)格視圖,以網(wǎng)格的形式劃分整個手機(jī)屏幕,每個網(wǎng)格內(nèi)部又由文本和圖片搭配形成圖標(biāo)。用戶點(diǎn)擊其中的圖標(biāo)就可以進(jìn)入相應(yīng)的功能模塊中。
5.1.3 系統(tǒng)流程結(jié)構(gòu)的設(shè)計(jì)
該選課系統(tǒng)設(shè)置了事件監(jiān)聽器,由監(jiān)聽器處理系統(tǒng)的走向。當(dāng)點(diǎn)擊監(jiān)聽器,系統(tǒng)通過監(jiān)聽器來判斷事件發(fā)生的位置即position,來辨別用戶點(diǎn)擊的模塊,選擇相應(yīng)的功能,決定系統(tǒng)整體流程的走向。每個模塊都有獨(dú)立的界面,這里使用Intent意圖機(jī)制來實(shí)現(xiàn)界面的跳轉(zhuǎn)。通過switch-case語句編寫選擇語句,可以讓用戶點(diǎn)擊不同的圖標(biāo)跳到不同的模塊界面。
5.2 主要功能模塊
5.2.1 學(xué)生管理模塊
此模塊用來編輯用戶的支出。用戶登錄系統(tǒng)后進(jìn)入系統(tǒng)主界面,點(diǎn)擊信息維護(hù)按鈕即可進(jìn)入信息管理編輯界面。在此界面可以編輯學(xué)生詳細(xì)信息,點(diǎn)擊添加學(xué)生按鈕,可以進(jìn)入學(xué)生添加的界面,刪除學(xué)生可以進(jìn)入刪除學(xué)生界面,修改學(xué)生可以進(jìn)入修改學(xué)生界面,查詢學(xué)生可以進(jìn)入查詢學(xué)生頁面,其中查詢學(xué)生根據(jù)學(xué)生id進(jìn)行查詢,在進(jìn)行數(shù)據(jù)庫操作后,數(shù)據(jù)將通過DBOpenHelper輔助類將數(shù)據(jù)保存到系統(tǒng)創(chuàng)建的SQLite數(shù)據(jù)庫中,以便統(tǒng)一管理。
5.2.2 老師管理模塊
在信息管理界面可以編輯老師詳細(xì)信息,點(diǎn)擊添加老師按鈕,可以進(jìn)入老師添加的界面,刪除老師可以進(jìn)入刪除老師界面,修改老師可以進(jìn)入修改老師界面,查詢老師可以進(jìn)入查詢老師頁面,其中查詢老師根據(jù)老師id進(jìn)行查詢,在進(jìn)行數(shù)據(jù)庫操作后,數(shù)據(jù)將通過DBOpenHelper輔助類將數(shù)據(jù)保存到系統(tǒng)創(chuàng)建的SQLite數(shù)據(jù)庫中,以便統(tǒng)一管理。
5.2.3 課程管理模塊
在信息管理界面可以編輯課程詳細(xì)信息,點(diǎn)擊添加課程按鈕,可以進(jìn)入課程添加的界面,刪除課程可以進(jìn)入刪除課程界面,修改課程可以進(jìn)入修改課程界面,查詢課程可以進(jìn)入查詢課程頁面,其中查詢課程根據(jù)課程id進(jìn)行查詢,在進(jìn)行數(shù)據(jù)庫操作后,數(shù)據(jù)將通過DBOpenHelper輔助類將數(shù)據(jù)保存到系統(tǒng)創(chuàng)建的SQLite數(shù)據(jù)庫中,以便統(tǒng)一管理。
5.2.4 選課模塊
此模塊用來進(jìn)行選課,在點(diǎn)擊選課按鈕后可以看到所有可以選擇的課程,點(diǎn)擊某個具體的課程進(jìn)入界面后,可以點(diǎn)擊選擇按鈕進(jìn)行選擇,選擇完成后,可以點(diǎn)擊我的課程查看到具體的課程信息。在進(jìn)行數(shù)據(jù)庫操作后,數(shù)據(jù)將通過DBOpenHelper輔助類將數(shù)據(jù)保存到系統(tǒng)創(chuàng)建的SQLite數(shù)據(jù)庫中,以便統(tǒng)一管理。
6 結(jié)束語
本文主要介紹了基于安卓平臺的選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。首先介紹了安卓系統(tǒng)相關(guān)功能以及研究目的意義;其次說明了安卓的開發(fā)技術(shù)、開發(fā)工具以及開發(fā)環(huán)境;接著對該系統(tǒng)進(jìn)行總體設(shè)計(jì);最后重點(diǎn)介紹了系統(tǒng)的詳細(xì)設(shè)計(jì)以及系統(tǒng)測試。通過本選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)我們了解了一個基于安卓平臺的選課系統(tǒng)的整體設(shè)計(jì)過程,此系統(tǒng)為選課系統(tǒng)的設(shè)計(jì)提供了參考價值。
參考文獻(xiàn):
[1]黃瑋.基于Android手機(jī)選課系統(tǒng)的設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2018,36(05):179+181.
[2]曹丹陽,魏金強(qiáng),李晉宏,等.基于學(xué)分制選課系統(tǒng)的應(yīng)用研究[J].北方工業(yè)大學(xué)學(xué)報,2017(12):22-23.
[3]吳開軍,鄭衛(wèi)東.選課系統(tǒng)的開發(fā)及應(yīng)用[J].軟件,2016(Z1):85-89.