亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android手機(jī)的課堂點名軟件設(shè)計與實現(xiàn)

        2017-06-05 16:16:38陳三清殷鵬
        電腦知識與技術(shù) 2017年7期

        陳三清 殷鵬

        摘要;隨著當(dāng)前移動互聯(lián)網(wǎng)技術(shù)的發(fā)展和手機(jī)的日趨普及,很多傳統(tǒng)的應(yīng)用被開發(fā)出來運用到手機(jī)上;該文針對傳統(tǒng)點名方式的不足設(shè)計出一款點名軟件,實現(xiàn)多途徑的手機(jī)點名,該文首先簡介了實現(xiàn)Android手機(jī)點名的藍(lán)牙技術(shù)和二維碼技術(shù),接著闡述了點名系統(tǒng)的總體架構(gòu)、APP功能設(shè)計及界面設(shè)計問題,最后重點討論了藍(lán)牙簽到和掃碼簽到的程序編程實現(xiàn)。

        關(guān)鍵詞:Android;藍(lán)牙;二維碼;手機(jī)點名;簽到

        中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)07-0095-04

        點名作為一種考勤方法,常用于高校課程教學(xué)過程中,用來考查學(xué)生到課情況,掌控課程紀(jì)律,促進(jìn)學(xué)生主動積極到課學(xué)習(xí)。點名的方式有傳統(tǒng)紙質(zhì)點名的,也有使用指紋技術(shù)實現(xiàn)的、多媒體投影技術(shù)實現(xiàn)的等多種方式,這些方法各有優(yōu)點,也有明顯的缺點,都很難同時滿足資金、效率、易用性等多方面的要求。隨著移動互聯(lián)網(wǎng)技術(shù)的發(fā)展和手機(jī)的日趨普及,當(dāng)前很多傳統(tǒng)的應(yīng)用被開發(fā)出來運用到手機(jī)上,手機(jī)上的各種應(yīng)用也是層出不窮,基于藍(lán)牙技術(shù)或二維碼技術(shù)的手機(jī)應(yīng)用也逐漸多了起來,也出現(xiàn)了基于Android手機(jī)的點名軟件;由于藍(lán)牙和二維碼掃碼幾乎是當(dāng)前所有智能手機(jī)必備的基本功能,而藍(lán)牙的使用和二維碼的掃描都非常簡單,結(jié)合這兩者的技術(shù)優(yōu)勢,使用Java應(yīng)用開發(fā)技術(shù),本文設(shè)計并實現(xiàn)了一款綜合功能軟件,提供多途徑點名方式,力圖解決傳統(tǒng)點名方法中存在的問題,實現(xiàn)簡單快捷的點名,提高課堂教學(xué)效率。

        1關(guān)鍵技術(shù)簡介

        1.1藍(lán)牙技術(shù)

        藍(lán)牙(Bluetooth)是一種支持設(shè)備短距離(一般10m內(nèi))通信的無線電技術(shù),能在包括移動電話、PDA、無線耳機(jī)、筆記本電腦、相關(guān)外設(shè)等眾多設(shè)備之間進(jìn)行無線信息交換。藍(lán)牙采用分散式網(wǎng)絡(luò)結(jié)構(gòu)以及快跳頻和短包技術(shù),支持點對點及一點對多點通信,工作在全球通用的2.4GHz ISM(即工業(yè)、科學(xué)、醫(yī)學(xué))頻段,其數(shù)據(jù)速率為1Mbps。藍(lán)牙采用時分雙工傳輸方案實現(xiàn)全雙工傳輸。自從愛立信公司2001年8月推出第一款內(nèi)置藍(lán)牙手機(jī)索尼愛立信T39mc以后,藍(lán)牙功能幾乎是所有智能手機(jī)標(biāo)準(zhǔn)配置之一。

        藍(lán)牙適配器就是各種數(shù)碼產(chǎn)品能適用藍(lán)牙設(shè)備的接口轉(zhuǎn)換器,它采用了全球通用的短距離無線連接技術(shù)。利用藍(lán)牙技術(shù),能夠有效的簡化移動通信終端設(shè)備之間的通信,也能夠成功地簡化設(shè)備與因特網(wǎng)之間的通信,從而數(shù)據(jù)傳輸變得更加迅速高效,為無效通信擴(kuò)寬道路。

        利用藍(lán)牙技術(shù)進(jìn)行應(yīng)用開發(fā)時用到的Java包主要是an-droi&bluetooth,它提供主要類包括藍(lán)牙適配器類BluetoothA-dapter、藍(lán)牙裝置類BluetoothDevice、藍(lán)牙管理類Bluetooth-Manager、藍(lán)牙服務(wù)器端類BluetoothServerSocket、藍(lán)牙客戶端類BluetoothSocket等,通過調(diào)用這些類包中的方法可以快速設(shè)計基于藍(lán)牙技術(shù)的各種應(yīng)用。

        要在Android應(yīng)用程序中使用藍(lán)牙特性,必須聲明兩個藍(lán)牙權(quán)限;

        1.2二維碼技術(shù)

        二維條形碼最早發(fā)明于日本,它是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號信息的,在代碼編制上巧妙地利用構(gòu)成計算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個與二進(jìn)制相對應(yīng)的幾何形體來表示文字?jǐn)?shù)值信息,通過圖像輸入設(shè)備或光電掃描設(shè)備自動識讀以實現(xiàn)信息自動處理。它具有條碼技術(shù)的一些共性:每種碼制有其特定的字符集;每個字符占有一定的寬度;具有一定的校驗功能等。同時還具有對不同行的信息自動識別功能、及處理圖形旋轉(zhuǎn)變化等特點。

        二維碼的名稱是相對于一維碼來說的,比如以前的條形碼就是一個“一維碼”,它的優(yōu)點有:二維碼存儲的數(shù)據(jù)量更大;可以包含數(shù)字、字符,及中文文本等混合內(nèi)容;有一定的容錯性(在部分損壞以后可以正常讀?。?;空間利用率高等。

        QR(Quick-Response)code是被廣泛使用的一種二維碼,解碼速度快。ZXing是Google提供的一個開源Java類庫用于解析多種格式的條形1D/2D條形碼,能夠?qū)R、DataMatrix二維碼以及條形碼進(jìn)行解碼。由于二維碼生成和解碼過程實際是一個非常復(fù)雜過程,如果每一個開發(fā)者都要自己編寫所有的過程的話,將十分費時和花費精力,因此目前基于二維碼的應(yīng)用開發(fā)一般都會用到Zxing類庫,ZXing類庫包含了應(yīng)用開發(fā)所需編碼、解碼的模塊和函數(shù),在開發(fā)程序時可以借助ZX-ing提供的類庫,調(diào)用這些模塊或函數(shù),可以大大降低開發(fā)過程的復(fù)雜性,快速的開發(fā)出屬于自己特定應(yīng)用的二維碼解碼軟件。

        2點名軟件總體設(shè)計

        2.1總體設(shè)計概述

        本系統(tǒng)基于客戶端—服務(wù)器架構(gòu)設(shè)計(如圖1),分為服務(wù)端和客戶端程序,分別采用不同的技術(shù)實現(xiàn),客戶端程序通過網(wǎng)絡(luò)與服務(wù)器進(jìn)行交互和數(shù)據(jù)通信。

        服務(wù)器端:主要用來存儲學(xué)生信息、班級信息、課程信息等,以及完成與客戶端的數(shù)據(jù)交互,包括登錄驗證、數(shù)據(jù)請求、數(shù)據(jù)傳送及數(shù)據(jù)保存;服務(wù)器端采用PHP+MySQL+Tomcat方式實現(xiàn),PHP作為后臺開發(fā)語言,MySQL用來存儲數(shù)據(jù),Tomcat服務(wù)器用來響應(yīng)客戶端的服務(wù)請求及返回客戶端所需的數(shù)據(jù)。

        Android客戶端:是設(shè)計的重心,用來實現(xiàn)系統(tǒng)的各項功能,采用Android Studio+Java的方式開發(fā),Android Studio是Google公司力推的開發(fā)環(huán)境,具有智能化、集成度高、使用簡單高效的特點,使用Android Studio代替eclipse開發(fā)環(huán)境是An-droid應(yīng)用開發(fā)的必然發(fā)展趨勢。

        2.2APP端功能模塊設(shè)計

        根據(jù)實際使用需要和設(shè)計要求,App端總體功能模塊劃分如下:

        APP端可以兩種類型的賬號登錄,教師賬號和學(xué)生賬號,不同賬號顯示不同的界面。以教師帳號登錄系統(tǒng),如下圖3所示,系統(tǒng)主要包括四種功能;

        1)常規(guī)點名:將傳統(tǒng)的紙質(zhì)點名方式通過Android的控件模擬,實現(xiàn)通常的“正常”、“遲到”、“曠課”、“請假”等情況;

        2)藍(lán)牙點名;開啟藍(lán)牙設(shè)備,掃描;周圍的手機(jī)設(shè)備,將掃描到的設(shè)備記錄下來,記錄到服務(wù)器,完成快速點名。

        3)掃描點名:教師帳號登錄成功后生成課程的二維碼,學(xué)生帳號登錄程序后掃描二維碼,就可以自動簽到。

        4)簽到統(tǒng)計:可以按不同的學(xué)期,統(tǒng)計某一門課程所有學(xué)生的出勤情況。

        以學(xué)生帳號登錄系統(tǒng),如下圖4所示,系統(tǒng)主要包括兩種功能;

        1)掃碼簽到:掃描教師端課程二維碼,自動完成簽到。

        2)簽到統(tǒng)計:可以按課程查詢自己的出勤情況,包括曠課、遲到、請假等次數(shù)情況。

        3系統(tǒng)實現(xiàn)

        3.1藍(lán)牙簽到實現(xiàn)

        用戶以教師帳號登錄系統(tǒng),進(jìn)入主界面(圖3)后,點擊“藍(lán)牙簽到”進(jìn)入藍(lán)牙簽到的主界面(圖5)。

        然后就可以開始點名,使用流程如下;

        1)通過“設(shè)置”按鈕開啟藍(lán)牙功能,并使手機(jī)對附近所有的藍(lán)牙設(shè)備可見;

        2)點擊“開始搜索”按鈕開啟藍(lán)牙掃描,掃描附件藍(lán)牙設(shè)備;

        3)掃描結(jié)束后,通過“簽到”按鈕,選擇課程(如圖6),經(jīng)過與數(shù)據(jù)庫中的記錄比對成功后,將名單寫入數(shù)據(jù)庫,一次性完成點名操作。

        具體實現(xiàn)時,需首先獲取藍(lán)牙設(shè)置適配器,

        BluetoothAdapter bluetoothAdapter—BluetoothAdapter.getDe{aultAdapter();

        接著使用以下語句調(diào)用系統(tǒng)設(shè)置界面,開啟藍(lán)牙,使手機(jī)對附近所有的藍(lán)牙設(shè)備可見:

        startActivity{new Intent(Settings.ACTION_BLUE-TOOTH_SETTINGS)};

        然后設(shè)置搜索按鈕的監(jiān)聽事件,開啟藍(lán)牙掃描,搜索附件的設(shè)備:

        由于搜索的藍(lán)牙設(shè)備不斷出現(xiàn),設(shè)備列表需要不斷更新,故需要設(shè)置廣播監(jiān)聽,當(dāng)有設(shè)備出現(xiàn)時,將設(shè)備添加到設(shè)備列表中:

        要實現(xiàn)此功能,需在Activity中的onStart()方法中,注冊廣播接收器:

        如圖所示,當(dāng)點擊“簽到”按鈕時,可以根據(jù)當(dāng)前課程,將當(dāng)前設(shè)備名稱與班級名單匹配后,再寫入到服務(wù)器中,完整自動點名,實現(xiàn)如下:

        3.2二維碼簽到實現(xiàn)

        二維碼掃碼簽到需首先以教師帳號登錄,進(jìn)入用戶主界面后,點擊“二維碼生成”,可選擇不同課程(圖7),生成不同的二維碼(如圖8):

        要實現(xiàn)生成二維碼,首先需在項目工程中導(dǎo)入二維碼架包Zxing,然后調(diào)用架包中的方法生成二維碼,使用非常簡單;

        其中,QRUtils.eneodeToQRWidth()方法使用指定寬度生成一張Bitmap類型的圖片,也即是二維碼。

        第二步,學(xué)生以學(xué)生帳號登錄,點擊圖中的“掃描簽到”,對準(zhǔn)第一步中二維碼圖片開始掃碼,就可以很快完成簽到(如圖9),如下:

        此ScanBasicActivity是一個實現(xiàn)掃碼的基本功能框架,handlescanData()是抽象方法,可以根據(jù)實際應(yīng)用需要,再實現(xiàn)其具體方法。

        第二步,需要實現(xiàn)CameraBarcodeScan類的Camerascan-CallBack回調(diào)方法,初始化CameraBarcoclescan對象,使其隨Activity生命周期狀態(tài)的變化而變化。ScanActivity繼承Scan-BasicActivity并重寫getCameraScanData()方法。

        ScanActivity.java是實現(xiàn)掃描的主要過程,需重寫Activi-ty的生命周期中的函數(shù),在其中實現(xiàn)CameraBarcodeScan對象使用狀態(tài)變化。getCameraScanData(String data)是回調(diào)方法,data是返回給用戶處理的字符串,在這里就是掃碼后獲得的二維碼結(jié)果。

        最后一步是handleScanData()方法的實現(xiàn)問題,因為生成的二維碼是"id:"+"課程ID"的形式,因而掃碼的結(jié)果是獲得了一個指定形式的字符串,如;“id:01”,由于課程編號是唯一的,通過查詢課程編號可以獲取班級學(xué)生名單;再在學(xué)生名單中查詢指定帳號,如果存在與指定登錄號匹配的帳號,就可在相應(yīng)的課程記錄上標(biāo)記簽到成功。

        4結(jié)束語

        課堂點名是高校教學(xué)中一個必不可少的環(huán)節(jié),簡化傳統(tǒng)點名過程,凸顯教學(xué)主體地位,本文根據(jù)實際情況設(shè)計了一款集常規(guī)點名、藍(lán)牙點名和掃描簽到三種點名方式于一體的手機(jī)軟件,可在Android手機(jī)上利用藍(lán)牙技術(shù)、二維碼技術(shù)實現(xiàn)簡單快捷的點名簽到,在手機(jī)日益普及的當(dāng)今,這給高校教師提供了一種全新的點名方式,也將極大的提高點名效率,同時師生也可及時地了解課程簽到信息。由于藍(lán)牙技術(shù)和二維碼技術(shù)是當(dāng)前移動應(yīng)用開發(fā)中比較前沿的技術(shù),而本項目研究應(yīng)用了這一最新技術(shù),因而本項目具有一定的創(chuàng)新性,在高校中具有潛在的應(yīng)用前景。

        久久老熟女一区二区三区福利| 亚洲狠狠婷婷综合久久久久图片 | 国产a级毛片久久久精品毛片| 国产免费一区二区三区免费视频| 亚洲国产日韩综合天堂| 狼人伊人影院在线观看国产| 又嫩又硬又黄又爽的视频| 色吊丝中文字幕| 欧美另类在线视频| 秋霞国产av一区二区三区| 精品国产一区二区三区av麻 | 蓝蓝的天空,白白的云| 国产高清精品一区二区| 亚洲中文久久精品字幕| 国语自产偷拍在线观看| 欧美成人精品一区二区综合| 日本加勒比东京热日韩| 丝袜美腿亚洲综合一区| 最新国产毛2卡3卡4卡| 少妇下蹲露大唇无遮挡| 国产成人啪精品午夜网站| 在线免费午夜视频一区二区| 偷拍一区二区视频播放器| 99国内精品久久久久久久| 国产成人精品日本亚洲专区6| 亚洲欧美日韩国产一区二区精品| 成年毛片18成年毛片| 日本一区二区三区四区高清不卡 | 国产乱人伦AV在线麻豆A| av在线网站一区二区| 日本护士xxxxhd少妇| 欧美freesex黑人又粗又大| 久国产精品久久精品国产四虎| 风流少妇一区二区三区91| 狠狠色噜噜狠狠狠8888米奇| 亚洲av无码第一区二区三区 | 一区在线播放| 国产视频激情在线观看| a级毛片无码久久精品免费| 美国黄色片一区二区三区| 少妇久久一区二区三区|