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

        ?

        基于android的教務(wù)管理系統(tǒng)

        2017-11-01 06:35:48蘭州理工大學(xué)毛東航馬思明毛姝然
        電子世界 2017年19期
        關(guān)鍵詞:課表教務(wù)代碼

        蘭州理工大學(xué) 毛東航 馬思明 毛姝然

        甘肅政法學(xué)院 張金霞

        基于android的教務(wù)管理系統(tǒng)

        蘭州理工大學(xué) 毛東航 馬思明 毛姝然

        甘肅政法學(xué)院 張金霞

        隨著計(jì)算機(jī)技術(shù)的進(jìn)步,各高校已經(jīng)陸續(xù)的開(kāi)始利用教務(wù)管理系統(tǒng)進(jìn)行學(xué)校的日常管理,為滿足實(shí)際需要,基于B/S 架構(gòu)并支持移動(dòng)智能端的教務(wù)管理與校園信息系統(tǒng)的研發(fā)與應(yīng)用已成為研究熱點(diǎn)。本設(shè)計(jì)將用網(wǎng)絡(luò)請(qǐng)求框架OkHttp、抓包工具h(yuǎn)ttpwatch、Jsoup庫(kù)解析HTML、正則表達(dá)式等知識(shí)實(shí)現(xiàn) Android 端訪問(wèn)教務(wù)管理系統(tǒng),比如進(jìn)行課表查詢、學(xué)生選課、成績(jī)查詢以及教學(xué)評(píng)價(jià)等功能。Android 教務(wù)系統(tǒng)的開(kāi)發(fā)與實(shí)現(xiàn)很好地實(shí)踐了我校智慧校園的建設(shè)。

        Jsoup;正則表達(dá)式;HttpWatch;OKHttp

        1.概述

        通過(guò)開(kāi)發(fā)一款 Android 手機(jī)軟件,實(shí)現(xiàn)手機(jī)端訪問(wèn)教務(wù)管理系統(tǒng),比如進(jìn)行 課表查詢、學(xué)生選課、成績(jī)查詢以及教學(xué)評(píng)價(jià)等。目前很多高校教務(wù)系統(tǒng)采用的是正方教務(wù)系統(tǒng),但是教務(wù)相關(guān)的數(shù)據(jù)庫(kù)是不會(huì)對(duì)外開(kāi)放的,我們想要查到成績(jī)等一系列教務(wù)操作就得自己抓包得到我們想要的數(shù)據(jù)。我們需要掌握的知識(shí)有網(wǎng)絡(luò)請(qǐng)求框架、抓包工具、解析HTML、正則表達(dá)式。本設(shè)計(jì)用okhttp流程是首先使用OkHttp網(wǎng)絡(luò)請(qǐng)求框架來(lái)模擬登錄教務(wù)系統(tǒng),然后利用Jsoup庫(kù)來(lái)解析獲取到的html代碼,最后只要處理下數(shù)據(jù)將其顯示到界面上就可以了,android界面布局及設(shè)計(jì)采用2014年谷歌推出的界面設(shè)計(jì)語(yǔ)言-Material Design。

        2.Httpwach使用

        抓包工具有很多,F(xiàn)iddler這個(gè)工具很強(qiáng)大,還有谷歌瀏覽器內(nèi)置的開(kāi)發(fā)者工具等等。但是對(duì)于本次設(shè)計(jì),我們采用較簡(jiǎn)單的httpwatch,首先下載好破解版的httpwatch,然后訪問(wèn)教務(wù)系統(tǒng)登錄頁(yè)面,在IE瀏覽器工具欄中打開(kāi)httpwatch,點(diǎn)擊Record按鈕就開(kāi)始抓包。

        2.1 使用http協(xié)議訪問(wèn)網(wǎng)絡(luò)

        http協(xié)議是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。HTTP請(qǐng)求格式主要有四部分組成,分別是:請(qǐng)求行、請(qǐng)求頭、空行、消息體,每部分內(nèi)容占一行。服務(wù)器接收處理完請(qǐng)求后返回一個(gè)HTTP相應(yīng)消息給客戶端,HTTP響應(yīng)消息的格式包括:狀態(tài)行、響應(yīng)頭、空行、消息體,每部分內(nèi)容占一行。我們用到的請(qǐng)求方法是get和post,它的工作原理是客戶端向服務(wù)器發(fā)出一條http請(qǐng)求,服務(wù)器收到請(qǐng)求后會(huì)返回一些數(shù)據(jù)給客戶端,然后客戶端再對(duì)這些數(shù)據(jù)進(jìn)行解析和處理就可以了。

        2.2 獲取驗(yàn)證碼

        我們先來(lái)看看驗(yàn)證碼的請(qǐng)求地址吧,確保點(diǎn)擊了Record按鈕后,點(diǎn)擊登錄界面上的看不清換一張,從HttpWatch記錄的信息可以知道發(fā)送了GET請(qǐng)求,這里我們最需要關(guān)心的是獲取驗(yàn)證碼的請(qǐng)求地址。我們?cè)贠verview可以看到請(qǐng)求地址,請(qǐng)求返回狀態(tài)為200,訪問(wèn)成功(如圖1所示)。

        圖1 獲取驗(yàn)證碼抓包數(shù)據(jù)

        2.3 登陸教務(wù)系統(tǒng)

        填好用戶名,密碼及驗(yàn)證碼后點(diǎn)擊登錄按鈕,登錄成功后,發(fā)現(xiàn)發(fā)送了POST請(qǐng)求,與GET請(qǐng)求不同的是我們不僅僅要關(guān)注請(qǐng)求的地址,還要關(guān)心請(qǐng)求Header以及Post的數(shù)據(jù),而這三項(xiàng)可以分別在Http-Watch中的Overview, Header和POST Data這三個(gè)選項(xiàng)卡中查看。這里我們看到登錄成功后,狀態(tài)碼是302,而不是200,說(shuō)明這里進(jìn)行了重定向,我們能發(fā)現(xiàn)302請(qǐng)求下面那個(gè)GET請(qǐng)求的URL和你瀏覽器地址欄的網(wǎng)址是一樣的,也就是我們點(diǎn)擊登錄后,數(shù)據(jù)是發(fā)送給302那個(gè)地址的,最后才重定向到這個(gè)200的地址來(lái)(如圖2所示)。所以我們后面設(shè)置登錄的Header時(shí),Referer的值就直接設(shè)置這個(gè)狀態(tài)碼為200的地址就可以了,數(shù)據(jù)驗(yàn)證成功后直接跳轉(zhuǎn)到這兒。對(duì)于POST data中的每一項(xiàng)都要傳,沒(méi)有值的傳空字符串,亂碼的查看源代碼就能獲得值(如圖3所示)。查詢課表和查詢成績(jī)等也是類似的操作,均為GET請(qǐng)求,就不必再看POST data這一項(xiàng)數(shù)據(jù)。

        圖2 登錄post請(qǐng)求頭

        圖3 post請(qǐng)求登錄的數(shù)據(jù)

        3.OkHttp使用

        在過(guò)去,Android上發(fā)送HTTP請(qǐng)求一般有兩種方式:HttpURLConnection和HttpClient。由于HttpClient存在API數(shù)量過(guò)多、擴(kuò)展困難等缺點(diǎn),在Android6.0系統(tǒng)中,HttpClient的功能完全被移除,標(biāo)志著此功能正式被棄用,然而現(xiàn)在有許多出色的網(wǎng)絡(luò)通信庫(kù)都可以替代原生的HttpURLConnection,而其中OkHttp是最出色的一個(gè),現(xiàn)在已經(jīng)成了廣大Android開(kāi)發(fā)者首選的網(wǎng)絡(luò)通信庫(kù)。在使用OKHttp之前,我們需要先在項(xiàng)目中添加OKHttp庫(kù)的依賴,編輯app/build.gradle文件在dependencies閉包中添加:compile ‘com.squareup.okhttp3:okhttp:3.4.1’。

        4.jsoup使用

        Jsoup是用來(lái)提取和操作存儲(chǔ)在Html代碼中的數(shù)據(jù)的Java開(kāi)源庫(kù)。用法簡(jiǎn)單,功能強(qiáng)大,提供了一套十分完備的API,讓我們能夠輕松的解析Html代碼。它可以從URL,字符串或文件中解析Html,Jsoup本身就可以發(fā)送GET,POST等一系列請(qǐng)求,并解析Html代碼,但它也存在一些不足,如果頁(yè)面代碼是AJAX是動(dòng)態(tài)生成的,那么可能會(huì)發(fā)生抓取不到數(shù)據(jù)的情況,可能要自己模擬AJAX請(qǐng)求才行。我們項(xiàng)目里也只是用Jsoup來(lái)解析OkHttp請(qǐng)求成功后返回的字符串?dāng)?shù)據(jù)。使用Android Studio編寫代碼,需要在項(xiàng)目的build.gradle中添加依賴:compile 'org.jsoup:jsoup:1.9.2'。利用Jsoup來(lái)抽取數(shù)據(jù),重點(diǎn)是能找出所要查找元素的唯一特性,就能快速定位,最后利用抽取文本、屬性等方法就能得到我們想要的數(shù)據(jù)了。

        5.正則表達(dá)式

        正則表達(dá)式(regular expression)描述了一種字符串匹配的模式(pattern),可以用來(lái)檢查一個(gè)串是否含有某種子串、將匹配的子串替換或者從某個(gè)串中取出符合某個(gè)條件的子串等。構(gòu)造正則表達(dá)式的方法和創(chuàng)建數(shù)學(xué)表達(dá)式的方法一樣。也就是用多種元字符與運(yùn)算符可以將小的表達(dá)式結(jié)合在一起來(lái)創(chuàng)建更大的表達(dá)式。正則表達(dá)式的組件可以是單個(gè)的字符、字符集合、字符范圍、字符間的選擇或者所有這些組件的任意組合。登錄成功時(shí),查看部分HTML代碼。學(xué)生姓名位于id為”xhxm”的span標(biāo)簽中,由于這個(gè)id是唯一的,所以直接通過(guò)Element nameElement = document.getElementById("xhxm"); 查找元素,在利用Element的html()方法取得內(nèi)容,最后使用正則表達(dá)式取得學(xué)生姓名。Pattern p = Pattern.compile("(.+)[^同學(xué)]");

        6.設(shè)置驗(yàn)證碼

        當(dāng)OkHttp成功獲取驗(yàn)證碼后,會(huì)返回的byte[]數(shù)據(jù)。我們可以通過(guò)BitmapFactory提供的decodeByteArray()方法將字節(jié)數(shù)組轉(zhuǎn)化為Bitmap,但是如果直接將Bitmap設(shè)置為ImageView的background,驗(yàn)證碼圖片會(huì)特別小,所以再利用Matrix按比例縮放我們的Bitmap,最后就可以使用setBackground()方法設(shè)置ImageView的背景圖片了。

        [1]孫振興.大學(xué)校園移動(dòng)信息化平臺(tái)的研究[D] .大慶:東北石油大學(xué),2011.

        [2]李童浩.基于Android的校園信息交互平臺(tái)的設(shè)計(jì)與開(kāi)發(fā)[D].蘭州:蘭州大學(xué),2012.

        [3]劉宗平.淺析數(shù)字化校園建設(shè)中的移動(dòng)校園平臺(tái)建設(shè)[J].科技創(chuàng)新與應(yīng)用,2013(14):83.

        猜你喜歡
        課表教務(wù)代碼
        學(xué)生出招解決”日課牌“問(wèn)題
        如果我是校長(zhǎng)
        教務(wù)排課對(duì)高等院校教學(xué)運(yùn)行的作用分析
        大學(xué)(2021年2期)2021-06-11 01:13:16
        淺析高校教務(wù)管理存在的問(wèn)題及對(duì)策
        傳播力研究(2019年8期)2019-03-20 10:58:14
        運(yùn)用VBA自動(dòng)生成子課程表
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        淺談新形勢(shì)下高校教務(wù)管理人員的素質(zhì)與培養(yǎng)
        av网址大全在线播放| 吸咬奶头狂揉60分钟视频| 国产亚洲日韩欧美一区二区三区| 亚洲午夜看片无码| 中文字幕人妻被公喝醉在线| 老熟妇乱子伦牲交视频| 香蕉人人超人人超碰超国产| 福利网址在线观看| а中文在线天堂| 久久AⅤ天堂Av无码AV| 日本一区二区三区熟女俱乐部| 精品久久久bbbb人妻| 女人夜夜春高潮爽a∨片传媒 | 日韩人妻系列在线视频| 亚洲天堂av福利在线| 中文无码一区二区三区在线观看| 黄色成人网站免费无码av| 亚洲成a人片在线观看高清| 国产亚洲一二三区精品| 狠狠人妻久久久久久综合蜜桃| 久久99精品久久久久久| 亚洲中文字幕黄色小视频| 中文字幕精品一区二区三区| 99国产精品99久久久久久| 免费观看黄网站| 91免费国产| 性色国产成人久久久精品二区三区| 高清午夜福利电影在线| 女人色毛片女人色毛片18| 久久精品国产亚洲AV高清y w| 最新在线观看免费的a站国产| 国产狂喷潮在线观看| 久久久久亚洲精品天堂| 高跟丝袜一区二区三区| 中文字幕亚洲综合久久综合| 人人爽人人澡人人人妻| 五月婷婷影视| 日本一区二三区在线中文| 色婷婷一区二区三区四区成人网 | 午夜av福利亚洲写真集| 人妻制服丝袜中文字幕|