基于Android的学生信息管理大作业
本課題客戶端采用JAVA語言,通過Android studio作為開發工具,服務端采用JAVA語言,通過Eclipse作為開發工具進行開發,數據庫選用SQLServer 2008。
本應用的后臺搭載在服務端,具體的數據表為學生用戶信息表。
如下表所示為學生用戶信息數據表:
學生用戶信息表
屬性 數據類型 說明 備注
id Int 用戶id 主鍵,不允許空
stu_id String 學號 不允許為空
name String 姓名
sex String 性別
phone String 電話
depart_address String 宿舍地址
home_address String 家庭地址
parent_name String 監護人姓名
parent_phone String 監護人電話
各功能模塊詳細說明:
導航頁面:作為系統的首頁面,該界面按功能展示新增學生信息按鈕和展示學生列表按鈕,用于導航進入不同的功能界面;
新增學生信息頁面:點擊新增學生信息按鈕,可進入學生信息新增編輯界面,通過在不同的編輯欄中輸入不同的信息,再點擊保存可以實現學生信息的新增和編輯功能;
學生信息列表頁面:點擊學生信息列表按鈕,可進入學生信息列表界面,該界面以列表形式展示出所有學生信息,通過點擊對應條目可以進入該學生信息的詳情界面;
學生信息詳情頁面:進入學生詳情界面后,按照學生信息的對應條目展示出該學生的所有基本信息,可通過點擊刪除,編輯實現學生信息的變更;
2.實現過程
導航頁面:
導航頁面
導航頁面通過線性布局實現兩個Button縱向排布,監聽Button的點擊,分別實現不同頁面的跳轉
學生列表信息界面:
通過ListView實現列表,進入頁面后,向服務器發送請求,通過Socket實現網絡連接請求,服務端和客戶端連通后,接收到服務端的查詢請求,將查詢請求解析,拼接成對應sql語句,實現對數據庫的查詢,將查詢結果拼接成字符串,通過Socket通信再返回給客戶端,客戶端接收到結果后,解析結果,添加到學生信息列表中, 更新adapter刷新界面,展示學生信息列表數據。
ListView通過監聽單個Item的點擊事件,跳轉到學生信息詳情頁面,將學生信息放入Intent中一同傳入詳情界面。
學生信息詳情界面:
通過解析Intent中對應的參數,獲取到傳入的學生信息詳情,將對應的屬性賦予對應的TextView中予以顯示出來,同時設置刪除,修改按鈕的監聽,點擊刪除按鈕向服務器發送刪除請求,傳入對應學生的ID,服務器接收到請求后,通過sql語句對該學生ID的數據信息進行刪除,刪除完成返回客戶端刪除結果,客戶端刷新界面。
點擊修改按鈕,拉起學生信息的編輯界面,將學生信息通過Intent傳入編輯界面。
新增/編輯界面:
界面加載的時候通過判斷Intent中是否含有學生信息來判斷是否為編輯還是新增,如果Intent中含有學生信息,則為編輯模式,將學生信息的不同屬性賦予對應的EditText,顯示出來。編輯后,點擊保存,將EditText中對應的屬性拼接成字符串,向服務端發送請求,服務端接受請求后,執行update操作,解析學生信息,執行sql語句,將對應ID的學生信息更新。
如果是新增界面,EditText全部不設置字符顯示,點擊保存后,向服務端發送插入請求,服務端接收到請求后解析學生信息,執行sql語句,實現插入操作。
3.測試過程
本課題的測試通過各個功能模塊的測試,就能基本達到測試的目的。故采用黑盒測試方法。
導航頁面點擊列表按鈕可以拉起列表并能正確展示出所有學生的信息。
點擊列表中的列表項可以正常進入列表詳情界面,列表詳情界面的學生信息可以和列表項中的對應,信息展示正確。
點擊刪除可以刪除數據庫中的學生信息,返回列表可以正常刷新獲取最新的列表數據。
點擊編輯可以正常進入學生信息的編輯界面,學生信息展示正確,點擊保存按鈕,可以更新學生信息,并且在列表中可以刷新獲取最新的列表數據。
點擊新增學生信息可以正常進入新增界面,界面展示無異常,填寫對應數據后,點擊保存按鈕,可以插入學生信息,返回列表界面后,可以刷新獲取到最新的列表數據。
a)
學習心得
通過此課題的實現,使自己學習掌握了Android Studio開發工具的使用,熟悉了安卓系統的UI顯示框架,能夠熟練編寫界面布局文件,實現按鈕的監聽,界面的跳轉。
了解了C/S架構中,客戶端與服務端的通信過程,Socket鏈接的數據傳輸過程,以及服務端對數據庫的數據操作方式和方法。掌握了網絡請求耗時操作應該置于工作線程,通過handler實現UI線程的更新原理。
使自己充分認識到了自己的不足和缺點,也針對自己在學習過程中的不足制定了新的學習計劃,幫助自己在今后安卓的學習
日子里迎頭趕上。
總結
以上是生活随笔為你收集整理的基于Android的学生信息管理大作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2022-03-23】JS逆向之爱奇艺
- 下一篇: vs2017 开发工具颜色_2017年排