伍敏君 張志



摘 ?要:針對目前大學生對課程表管理的需求,基于Android手機平臺,設計一款課程表管理系統,實現了課程表的管理功能。系統中設置了學期課表和周課表模式,添加了菜單功能,以適用不同的課表管理情況,采用SQLite數據庫進行本地數據存儲,對課程表詳細信息進行管理。經過模擬器和手機測試,系統各項功能運行穩定可靠,具有較強的方便性、實用性和可靠性,給大學生課程表的管理帶來方便。
關鍵詞:Android;課程表;SQLite數據庫;課程管理
中圖分類號:TP311 ? ? 文獻標識碼:A 文章編號:2096-4706(2020)04-0097-03
Abstract:According to the current needs of college students for curriculum management,based on Android mobile platform,a curriculum management system is designed to achieve the management function of curriculum. In the system,semester schedule and weekly schedule mode are set,and menu function is added to adapt to different schedule management situations. SQLite database is used to store local data and manage the detailed information of the schedule. Through the test of simulator and mobile phone,all functions of the system are stable and reliable,with strong convenience,practicability and reliability,which brings convenience to the management of college studentscurriculum.
Keywords:Android;curriculum;SQLite database;course management
0 ?引 ?言
目前,大部分高校的課堂教學都采用流動式的課室,即學生沒有固定的教室,在上課前,學生需要查詢課表,找到相應課程的上課時間(包括周次、節次等)、上課地點等。隨著互聯網技術和移動技術的快速發展,當前大學生的生活方式、學習習慣也發生了很大的變化,智能手機在現代大學生中普及度非常高,學生越來越喜歡通過手機處理日常生活學習中的一些事務[1]。用移動化的課程表來替換傳統的紙質化課程表,無疑可以給學生帶來方便,同時也節省紙質資源。因此,采用移動化的課程表管理是一種趨勢。
Android系統是目前主要手機應用程序開發平臺之一[2]。Android系統是一個開源手機操作系統,具有良好的用戶體驗,開放性強等特點,滿足了移動互聯網產業的發展需求。以Android技術開發的應用程序以Java語言為基礎,實用性好,擴展性強,應用前景非常廣闊[3]。
為了改變傳統的紙質化課程表,本文基于Android手機平臺,綜合考慮實際課程表的相關信息,設計了一款課程表管理系統,以適應新時代大學生對課程表使用的需求。
1 ?總體設計
在Eclipse平臺下,本文設計了一款基于Android平臺的課程表管理系統,用于大學生課程信息的存儲。在本系統下,學生可以根據自己的實際需要,按照周次和節次,增加、刪除或修改課程信息。每次增加、刪除或修改的課程信息,將同步到數據庫中,以實現數據的長期保存。
根據實際的課程表管理需求,本文設計的基于Android系統平臺課程表管理系統,按功能劃分為五個模塊:歡迎界面模塊、學期課表模塊、周課表模塊、菜單模塊、數據庫存儲模塊,系統結構框圖如圖1所示。
2 ?系統功能概述
本系統各模塊功能如下:歡迎界面模塊:通過文字和圖片大概介紹本系統的功能和操作等。學期課表模塊:顯示本學期內的所有課程信息。周課表模塊:顯示所選擇周次范圍內的所有課程信息。菜單模塊:切換學期/周課表,以及系統的設置。數據庫模塊:創建自定義類,采用SQLite數據庫對課程詳細信息進行讀/寫。
Android的數據存儲有三種方式:Shared Preferences、SQLite和Content Provider[4]。本文采用的是SQLite數據庫。SQLite數據庫是一款輕量級的開源內存數據庫軟件,具有高效性、可靠性、穩定性、安全性,支持大部分操作系統[5]。SQLite數據庫占用系統資源少,被廣泛應用于應用程序的數據存儲場景中。Android系統提供了數據庫相關的API,因此,應用程序可以方便地訪問數據庫,并實現數據查詢與修改等操作[6]。SQLite數據庫的操作主要有:創建數據庫、打開數據庫、創建表、添加表中數據、刪除表中數據、修改表中數據、關閉數據庫等。
本文設計的基于Android平臺課程表管理系統,其課程詳細信息將存儲在SQLite數據庫中,既可以查詢課程相關數據,也可以更新課程的數據。根據SQLite數據庫相關API,編寫自定義函數,以實現課程表數據的增加、刪除、修改等操作。
3 ?系統功能實施
在Eclipse開發環境下,本文設計和實現了一款基于Android平臺的課程表管理系統,分別在模擬器和真實手機上進行了各項功能的測試,都能實現預期的效果。本文采用的模擬器是Android 4.2,API Level為17,測試的手機系統為Android 5.0.2。本課程表管理系統顯示的課程信息,是以本校光電信息學院移動互聯應用技術專業為例,添加了“移動終端軟件高級開發”“Java程序設計”等課程信息。
3.1 ?學期課表
歡迎界面結束后,默認先進入學期課表頁面,如圖2所示,顯示的是本學期所有的課程信息。其中,第一行為星期,第一列為節次,是添加了自定義邊框的TextView組件,采用深淺顏色變化的底紋,以相間的形式布局,增加星期欄和周次欄的美觀性。
在學期課表模式下,其右下方區域采用TableLayout布局管理器,創建了一個5×5的二維數組矩陣,每個元素均為Button組件。每個Button組件采用自定義邊框,用于顯示該時間段的課程信息,主要包括課程名稱、授課教師、起始周次、上課地點等。此二位矩陣中的行和列序號共同組成課程ID。例如,周二的1-2節課,對應的Button組件在第1行第2列,在系統中記錄其課程ID為12;又如,周四的5-6節課,對應的Button組件在第3行第4列,在系統中記錄其課程ID為34。由此可得,每個Button組件對應的課程ID都是唯一的,使得各項數據在SQLite數據庫中的存儲不會發生混淆。
為了使得界面能適應不同移動設備的屏幕顯示,采用垂直和水平等比例劃分組件。在垂直方向上,TableLayout的布局采用等比例劃分表格行TableRow組件,使得每一個表格行的行高相同。在水平方向上,每一行等比例劃分列,添加五個列寬相同的Button組件。當課程表管理系統在不同設備環境下運行時,頁面的顯示都能按實際大小來分配表格的行高和列寬,使得頁面顯示更加美觀。
每條課程信息均保存在SQLite數據庫中,在數據庫的表中記錄課程的信息包括課程ID、課程名稱、授課教師、課程開始周次、課程結束周次、課程地點編號、課程地點屬性(機房/課室)等信息。每次訪問SQLite數據庫時,進行課程信息的增加、刪除、修改等,都先根據課程ID找到相應信息所在位置,再通過數據庫的寫和讀等函數來完成數據的增加、刪除、修改等操作。
3.2 ?周課表
通過菜單項選擇周課表后,即跳轉到周課表模式,如圖3所示。在學期課程模式下不需要選擇周次,因此,學期課程頁面中隱藏了Spinner組件。當跳轉到周課表頁面中,其右上方出現Spinner組件,通過該Spinner組件選擇相應的周次后,系統則查詢SQLite數據庫所有課程的開始周次和結束周次,進行篩選并顯示該周次內的所有課程信息,如果不在該周次內的課程信息,則隱藏。
3.3 ?編輯課程
在學期課表或周課表模式下,根據用戶點擊的星期和節次,可獲取到相應的Button組件,找到相應課程的ID,跳轉到編輯課程信息的頁面,在此頁面中,可以編輯單條課程信息的內容,如圖4所示。
在編輯課程頁面中,星期和節次已確定,可以填寫或刪除已有的課程信息,包括課程名稱、授課教師、課程開始周次、課程結束周次、課程地點等信息,點擊完成后,課程表管理系統則查找到相應ID的課程信息,進行學期課表和周課表模式下的數據更新,同時,SQLite數據庫的數據也同步更新。
4 ?結 ?論
本文基于目前大學生對課程表的管理需求,在Eclipse平臺下,設計并實現了一套基于Android平臺課程表管理系統的方案。經過模擬器和真實手機的測試,本系統運行穩定可靠,完成學期課程和周課表的管理,添加菜單功能,采用SQLite數據庫,對課程表的數據信息進行查詢與統計,功能強大、運行效率高,具有一定的實用性。
參考文獻:
[1] 任婷婷.基于Android系統的校園助手應用的設計與實現 [D].北京:北京交通大學,2014.
[2] 謝景明.Android移動開發教程(項目式) [M].北京:人民郵電出版社,2013.
[3] 張曉蕾.Android移動互聯應用開發 [M].北京:科學出版社,2016.
[4] 陳煜,周榮輝.基于Android系統的手機文件管理器的設計與實現 [J].鐵路計算機應用,2012,21(9):47-51.
[5] 徐明民,彭中華,王黎維.基于表分區和內存數據庫的族譜生成系統優化 [J].計算機與數字工程,2017,45(2):272-278.
[6] 李華忠,梁永生,劉濤.Android應用程序設計教程 [M].北京:人民郵電出版社,2013.
作者簡介:伍敏君(1986-),女,漢族,廣東中山人,講師,碩士,研究方向:計算機應用技術、移動應用開發;張志(1989-),男,漢族,安徽合肥人,講師,碩士,研究方向:計算機應用技術、移動應用開發。