999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺課堂點名系統的設計與實現

2014-01-21 00:53:02弋改珍袁嵐清
電子設計工程 2014年22期
關鍵詞:界面數據庫信息

弋改珍,江 蕭,袁嵐清

(咸陽師范學院 信息工程學院,陜西 咸陽 712000)

近年來,隨著移動通信,特別是基于Android平臺移動終端的飛速發展,無線網絡高速接入Internet已成為現實,移動用戶可以方便快捷地享受到Internet提供的服務,使得移動終端成為互聯網的終端,同時也使得基于Android平臺的移動終端應用越來越廣泛。

文中基于軟件工程的思想,采用Eclipse作為開發平臺,以SQLite為數據庫管理系統,在Android平臺上設計開發了課堂點名系統,該系統提供錄入學生信息、查詢、點名、統計等功能,可以方便教師進行課堂點名,提高課堂考勤的效率。

1 Android應用的構成和工作機制

Android 應用程序是由 Activity、Intent Receiver、Service、ContentProvider4部分組成,但并不是每一個Android應用程序都必須由這4部分組成。在應用程序中使用時,需要在配置文件Android應用程序中所必需的,用于定義應用程序的組件、組件的功能以及必要條件等[1]。Android應用的構成和工作流程圖如圖1所示。

圖1 Android的構成和工作機制Fig.1 Structure and work principle of Android

在Android中,每個界面使用一個由基類Activity派生的Activity子類實現,每個Activity子類都是獨立的。Activity類可以顯示View控件組成的用戶接口,并對事件做出響應。Android在實現多界面顯示時,將歷史顯示屏幕存儲在堆棧數據結構中,返回時可以逐級返回[2]。

多界面之間的切換調用Android的專有類Intent,Intent數據結構中最重要的部分是Action和Action對應的數據。典型的Action有:MAIN、VIEW、PICK、EDIT等,對應的數據以URI形式表示[3]。使用Intent Filter描述如何處理Action、如何表示Action 的 URI。 Intent Filter定義在 AndroidManifest.xml中[4]。

從一個界面切換到另一個界面調用startActivity()方法。通過解析各種Intent,就可以簡單地從一個屏幕切換到另一個屏幕。向前導航時,活動將會調用startActivity()方法,然后系統會在所有安裝的應用程序定義的Intent Filter中查找,找到最匹配的Intent對應的Activity。新的Activity接收到Intent的通知后,立即開始運行。

Broadcast Receiver[5]使應用程序對外部事件做出響應。Broadcast Receiver只能通過 Notification Manager來通知用戶。它既可以在AndroidManifest.xml中注冊,也可以在代碼中使用Context.registerReceiver()進行注冊。各種應用通過調用Context.sendBroadcast()方法將它們自己的Intent receiver廣播給其他應用程序。

Service[5]類似于Windows系統中的Windows服務,是一種沒有界面的應用程序,具有較長的生命周期。通過調用Context.bindService()方法,連接到一個服務上,當連接到一個服務之后,還可以通過服務提供的接口與它進行通信;通過調用Context.startservive()來啟動一個服務,從而使該服務可以在后臺運行。

Content Provider[6]是對外提供的數據接口,類似于普通的Web應用的一個Web Service接口,按照標準開放出一個接口,供其他應用獲取數據。Content Provider類實現了一組標準的方法,從而使得其他的應用程序能夠保存或讀取此Content Provider的各種數據類型。

2 點名系統功能模塊圖

點名系統主要用于教師在課堂中進行學生考勤管理、考勤數據存儲、學生信息考勤查詢等。使用該系統可以提高教師課堂考勤的效率。具體實現功能如下:

1)系統主界面:提供圖形化的菜單功能。

2)學生信息管理:包括學生編號、學生姓名、學生性別、學生性別能屬性,提供學生信息的添加、修改、刪除功能。

3)學生點名管理:包括點名時間、學生信息、考勤情況等。

4)數據查詢:提供按時間段和按照學生姓名查詢學生的考勤信息。

系統功能結構圖如圖2所示。

圖2 系統功能結構圖Fig.2 The system function structure diagram

3 數據庫設計

點名系統的數據使用SQLite進行數據庫管理[7]。SQLite是開源的、嵌入式數據庫管理系統。SQLite可以完成數據庫管理所需要的創建數據庫、創建表、向表中添加數據、從表中刪除數據、修改表中的數據以及查詢表中的數據。也可以使用SQLite提供的SQL特征,完成簡單的數據統計分析功能。

Android應用程序訪問數據庫的接口是SQLiteOpen-Helper類,使用這個類可以完成對數據庫的操作。在設計過程中,從SQLiteOpenHelper派生自己的子類DBHelper。創建數據庫時使用SQLiteOpenHelper的onCreate()方法,升級數據庫時使用onOpgrade()方法。

點名系統中DBHelper.java(數據庫操作類)的實現過程:

1)創建數據庫是實例化SQLiteDatabase的一個對象:

privateSQLiteDatabasedb;

2)創建數據庫及其表:

public void onCreate(SQLiteDatabasedb){

this.db=db;

db.execSQL(CREATE_TBL1);

db.execSQL(CREATE_TBL2);

}

3)給數據庫表中插入數據:首先調用getWritableDatabase()方法將數據庫設置可寫,然后調用數據庫的內部方法insert將Activity中輸入的值添加到數據庫表中。

public void insert1(ContentValues values){

SQLiteDatabasedb=getWritableDatabase();

db.insert(TBL_NAME1,null,values);

db.close();

}

4)調用數據庫內部的rawQuery()方法,使用SQLite中的Cursor從指定的表或者按照條件創建查詢:

public Cursor query3(String name){

SQLiteDatabasedb=getWritableDatabase();

Cursor c=db.rawQuery("Select rid as_id,name,date,statue from records where name='"+name+"'",null);

return c;

}

5)刪除數據調用 SQLiteDatabase中內部方法delete(),修改表中的數據時調用update()方法。

4 詳細設計與實現

4.1 界面設計

點名系統中的界面包括:

AddStudentActivity.java:添加學生界面,用來添加學生信息

AlterRecordActivity.java:更改記錄界面,用來更改記錄信息

AlterStudentActivity.java:更改學生信息界面,用來更改學生信息

CallActivity.java:學生點名界面,用來在線點名

RollCallActivity.java:程序主運行界面

QueryActivity.java:數據查詢界面,用來進行數據查詢

StudentInfoActivity:學生信息管理主界面

Android開發采用MVC模式,使用Android中的Activity進行界面開發,主界面的布局信息存放在/layout/main.xml文件中。實現主界面時,從Activity類中派生RollCallActivity子類,使用setContentView(R.layout.main);將布局文件加載到主界面并顯示其內容,使用map0.put("ItemImage",R.drawable.a1);給主界面上添加圖標,map0.put("ItemText","學生信息理");添加文字。

為界面上的圖標和文字創建Activity轉換是的監聽器設置:

1)創建一個 intent類

Intent intent=new Intent();

2)設置Activity跳轉的關聯:

intent.setClass(RollCallActivity.this,StudentInfoActivity.class);

主界面設計流程如圖3所示。

圖3 界面設計流程圖Fig.3 Flow diagram of interface design

4.2 學生信息的錄入

1)學生信息中“性別”字段值的錄入

為了便于“性別”字段的錄入,實例化一個ArrayAdapter對象,調用setDropDownViewResource()方法產生一個下拉列表,調用ArrayAdapter的add()方法輸入下拉列表的值,最后調用setAdapter()方法將輸入的值添加到下拉列表中。

2)將輸入的字段值保存到數據庫表中

實例化一個名為btnSave的按鈕,當一條記錄錄入結束后,單擊該按鈕將錄入的記錄保存在數據庫表中。在學生信息錄入過程中,如果某個字段的值為空,則使用Android中的消息機制,調用Setmessage()方法提示重新輸入。如果字段值不為空,則實例化一個ContentValues對象,然后調用put()方法,讓ContentValue存儲鍵值對,最后調用數據庫的insert()方法將錄入的信息存入數據庫中。設計過程如圖4所示。

圖4 錄入學生信息流程Fig.4 Flow diagram of inputting student information

4.3 點名模塊

系統自動生成點名的時間,通過選擇學生列表,并設置出席狀態為:出席、遲到、曠課、病假、事假等類別,保存學生的出勤情況,供日后查詢。

在點名界面CallActivity中,使用Date()獲取系統時間,設置點名的時間;點名時,將學生到課情況設置為“出席”、“遲到”、“曠課”、“病假”、“事假”5 種狀態。 用 ArrayAdapter對象實現,狀態信息使用下拉列表顯示。這樣,點名時,教師在提供的下拉列表中選擇學生的當前狀態,實現過程與錄入學生信息中的“性別”字段值的方法類似。

將學生的ID、姓名、點名時間、狀態信息保存在數據庫表中。

4.4 數據查詢模塊

調用SQLite數據庫的 getReadableDatabase()方法,設置數據庫為讀方式,用下面的語句實現按照日期進行查詢:

db.rawQuery ("Select rid as_id,name,date,statue from records where date between'"+d1+"'and'"+d2+"'",null);

按照姓名進行查詢:

db.rawQuery ("Select rid as_id,name,date,statue from records where name='"+name+"'",null);

5 結論

本文以Eclipse為開發平臺,利用Android嵌入的SQLite數據庫管理系統,設計開發了課堂點名系統。該系統實現了系統主界面、學生信息管理(包括信息的錄入、增加、刪除、修改)、點名(包括設置學生到課狀態)和按照條件查詢功能。本系統實現的功能具備了教師在課堂使用的特點,操作方便、簡潔。點名系統存在的問題是沒有考慮到教師隨機抽查點名的情況。這也是該系統需要進一步完善的功能。

[1]XXX.基于Android的課堂簽到系統[D].南京:中南大學,2013.

[2]施金蘭.基于Android平臺的網絡共享研究與實現 [D].上海:華東師范大學,2011.

[3]Android應用開發幫助文檔[EB/OL].[2013-06-15]http://wenku.baidu.com/linkurlXwz4bMjStWGzGPLBoWqTHKSo2BvfM iDaoToXxz1zbtmMYpXOpGo9-3WAa4IMusk7Z4q.

[4]張巖龍.基于嵌入式系統的802.11b無線網絡安全研究及應用[D].成都:電子科技大學,2005.

[5]Android developers[EB/OL].[2013:05-15].http://developer.android.com/guide/components/fundamentals.html.

[6]Android project[EB/OL].[2013-05-20].http://source.android.com/.

[7]周藝環,任偉,張旭,等.電子式互感器異常報文數據庫設計[J].陜西電力,2014(5):65-68.ZHOU Yi-huan,REN Wei,ZHANG Xu,et al.Electronic transformer exception message database design[J].Shaanxi Electric Power,2014(5):65-68.

猜你喜歡
界面數據庫信息
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
人機交互界面發展趨勢研究
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 国产亚洲欧美日韩在线一区| 久久激情影院| 综合色区亚洲熟妇在线| 黑人巨大精品欧美一区二区区| 亚洲国产精品VA在线看黑人| 美女啪啪无遮挡| 1024你懂的国产精品| 久久国产精品麻豆系列| 国产麻豆va精品视频| 精品欧美视频| 亚洲AV无码一二区三区在线播放| 天堂va亚洲va欧美va国产| a级毛片一区二区免费视频| 国产高清毛片| 色综合久久88| 色吊丝av中文字幕| 精品国产Av电影无码久久久| 91色在线观看| 国产精品第| 农村乱人伦一区二区| 精品少妇三级亚洲| 国产高清国内精品福利| 亚洲精品第一在线观看视频| 99性视频| 亚洲国产91人成在线| 女同国产精品一区二区| 久久精品国产精品青草app| 99热线精品大全在线观看| 久久精品人妻中文视频| 国产在线视频欧美亚综合| 亚洲三级网站| 日本a级免费| 在线五月婷婷| 国产精品网址在线观看你懂的| 午夜无码一区二区三区| 国产亚洲高清视频| 国产成人亚洲毛片| 91啪在线| 国产欧美日韩综合在线第一| 人妻丰满熟妇av五码区| 国产全黄a一级毛片| 国产久操视频| 91在线精品免费免费播放| 久操中文在线| 都市激情亚洲综合久久| 免费大黄网站在线观看| 国产精欧美一区二区三区| 九九免费观看全部免费视频| 日韩国产精品无码一区二区三区| 亚洲黄网在线| 久久亚洲国产最新网站| 最新日韩AV网址在线观看| 国产清纯在线一区二区WWW| 亚洲丝袜中文字幕| 国产一区二区人大臿蕉香蕉| 欧美高清三区| 制服丝袜亚洲| 欧美成人h精品网站| 亚洲AⅤ永久无码精品毛片| 色综合婷婷| 亚洲国产无码有码| 久久美女精品| 中国一级毛片免费观看| 操美女免费网站| 亚洲日韩在线满18点击进入| 青草精品视频| 亚洲第一成年网| 欧美亚洲一区二区三区导航| 国产精品尤物铁牛tv| 中文毛片无遮挡播放免费| 国产第八页| 精品国产一区二区三区在线观看 | 一区二区三区国产精品视频| 91精品网站| 国产一区二区三区精品久久呦| 欧美日韩精品一区二区在线线| 亚洲动漫h| 九色在线观看视频| 久久免费视频6| 久久精品电影| 久久精品亚洲中文字幕乱码| 在线观看国产黄色|