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

        ?

        基于Android平臺的手機查詢系統(tǒng)的設(shè)計與實現(xiàn)

        2015-04-27 14:20:35楊芳萍等
        物聯(lián)網(wǎng)技術(shù) 2015年4期

        楊芳萍等

        摘 要:在Windows環(huán)境下搭建的Android平臺上,以Eclipse 為開發(fā)工具,應(yīng)用Android網(wǎng)絡(luò)組件包模擬瀏覽器的行為,向我校的教務(wù)管理系統(tǒng)服務(wù)器提交一個請求,服務(wù)器接到該請求后進行處理并返回一個HTML頁面,然后利用Jsoup解析這個HTML頁面,從中獲得用戶想要的數(shù)據(jù)并顯示到App中,從而實現(xiàn)直接使用手機App方便快捷查詢的功能。

        關(guān)鍵詞:Android ;SDK ;Jsoup ;Eclipse ;便捷查詢

        中圖分類號:TP212 文獻標識碼:A 文章編號:2095-1302(2015)04-00-03

        0 引 言

        在21世紀的今天,互聯(lián)網(wǎng)已深入到世界的各個角落,而WAP技術(shù)的發(fā)展和無線業(yè)務(wù)的成熟,為人們獲取各種信息提供了除Internet之外的另一種便捷的途徑??忌煽兊牟樵兎绞浇?jīng)歷了傳統(tǒng)書信通知、電話查詢、網(wǎng)上查詢和手機短信查詢階段,其中以網(wǎng)上查詢方式最為經(jīng)濟。當前,雖然Internet達到了前所未有的普及,但其終究受到“有線入戶”的限制,在廣大的農(nóng)村、不發(fā)達地區(qū)以及學校學生宿舍還不能很方便的實現(xiàn)上網(wǎng),而目前的無線通信網(wǎng)絡(luò)幾乎覆蓋了全國每個角落,,只要有一部具有WAP功能的手機,就可以不受時間、地域和設(shè)備的限制,輕松獲取到學生的考試成績。

        Android是一個開放的手機平臺,從Android的發(fā)布到其推廣,以驚人的速度在短短的時間內(nèi),占據(jù)了大量的智能手機市場,而且將繼續(xù)擴大其用戶量。因此,開發(fā)基于Android的成績查詢系統(tǒng)有其深遠的意義。

        1 系統(tǒng)主要功能模塊設(shè)計與實現(xiàn)

        1.1 成績查詢模塊

        先進行第一次連接服務(wù)器,拿到服務(wù)器返回的__VIEWSTATE字段的值,然后使用這個字段的值再進行成績查詢操作。

        publicclass QueryScore {

        public File queryScore(String uid , String name , HashMap cookies ){

        String score_info = null;

        File file = new File(“查詢成績完成.html");

        String url = “http://jwgl.ldxy.edu.cn/xscj_gc.aspx?xh=”+uid+”&;xm=”+name+”&;gnmkdm=N121605”;

        //System.out.println(url);

        Connection conn = Jsoup.connect(url);

        //conn1:第一次連接

        conn.timeout(30000);

        conn.data(“Button1”, “按學期查詢");

        conn.header(“Connection”, “keep-alive”);

        conn.header(“Host”, “jwgl.ldxy.edu.cn”);

        conn.data(“Accept”, “image/png,image/*;q=0.8,*/*;q=0.5”);

        conn.data(“gnmkdm”,”N121605”);

        conn.data(“ddlXN”, “”);

        conn.data(“ddlXQ”, “”);

        conn.referrer(“http://jwgl.ldxy.edu.cn/xs_main.aspx?xh=”+uid);

        conn.cookies(cookies);

        String __VIEWSTATE = “”;

        try {

        Document doc1 = conn.post();

        score_info = doc1.toString();

        File temp_file = new File(“查詢成績開始.html");

        FileOutputStream fos = new FileOutputStream(temp_file);

        fos.write(doc1.toString().getBytes());

        fos.close();

        __VIEWSTATE = ParserHTML.analysis__VIEWSTATE(temp_file);

        } catch (IOException e) {

        //e.printStackTrace();

        System.out.println(“錯誤:IOException e1");

        returnnull;

        }

        conn.data(“__VIEWSTATE”, __VIEWSTATE);

        try {

        Document doc = conn.post();

        score_info = doc.toString();

        FileOutputStream fos = new FileOutputStream(file);

        fos.write(doc.toString().getBytes());

        fos.close();

        } catch (IOException e) {

        //e.printStackTrace();

        System.out.println(“錯誤:IOException e2");

        returnnull;

        }

        return file;

        }}

        1.2 查看/選擇選修課模塊

        使用cookies和__VIEWSTATE直接獲取所有可選選修課列表,并呈獻給用戶瀏覽。

        publicclass EnrollOptionalCourse {

        private String __VIEWSTATE;

        public List gainlOptionalCourse(HashMap cookies , String uid , String name){

        ArrayList oclist = null;

        Connection c = Jsoup.connect(“http://jwgl.ldxy.edu.cn/xf_xsqxxxk.aspx?xh=”+uid+”&xm=”+name+”&gnmkdm=N121203”);

        c.timeout(30000);

        c.header(“Host”, “jwgl.ldxy.edu.cn”);

        c.referrer(“http://jwgl.ldxy.edu.cn/xf_xsqxxxk.aspx”);

        c.data(“__EVENTARGUMENT”, “”);

        c.data(“__EVENTTARGET”, “dpkcmcGrid:txtPageSize”);

        c.data(“__VIEWSTATE”, “”);//過長,不再給出

        c.data(“Button1”, “提交");

        c.data(“ddl_kcgs”, “”);

        c.data(“ddl_kcxz”, “”);

        c.data(“ddl_sksj”, “”);

        c.data(“ddl_xqbs”, “2”);

        c.data(“ddl_ywyl”, “有");//有無余量

        c.data(“dpkcmcGrid:txtChoosePage”, “1”); //跳轉(zhuǎn)到頁

        c.data(“dpkcmcGrid:txtPageSize”, “200”);//每頁顯示條

        c.data(“TextBox1”, “”); //根據(jù)課程名稱查詢

        c.cookies(cookies);

        Document doc;

        try {

        doc = c.post();

        System.out.println(“第一次得到的響應(yīng)內(nèi)容長度 "+doc.toString().length());

        File temp_file = new File(“C:\\查詢選修課開始.html");

        FileOutputStream fos = new FileOutputStream(temp_file);

        fos.write(doc.toString().getBytes());

        fos.close();

        __VIEWSTATE = ParserHTML.analysis__VIEWSTATE(new File(“C:\\查詢選修課開始.html"));

        Iterator it_tr = doc.getElementById(“kcmcGrid”).getElementsByTag(“table”).select(“tr”).iterator();

        oclist = new ArrayList();

        int course_count = 1 ; //用于記錄可選選修課的條數(shù) while(it_tr.hasNext()){

        Element e_tr = it_tr.next();

        Iterator it_td = e_tr.select(“td”).iterator();

        OptionalCourse oc = new OptionalCourse();

        oc.setKcmcGrid(course_count+++””);

        int i = 0 ;

        while(it_td.hasNext()){ Element e_td = it_td.next();

        String td_content = e_td.html();

        if((td_content.contains(“”))){

        int index = 0 ;

        index = td_content.indexOf(‘>);

        td_content = td_content.substring(index+1);

        td_content = td_content.replaceAll(“

        ”, “”);} if(((td_content.contains(“”)))){ int index = 0 ;

        index = td_content.indexOf(“/>”);

        td_content = td_content.substring(index+2); }

        if(“?;”.equals(td_content)){td_content = “” ;}

        if(td_content.contains(“{第..")){

        td_content = td_content.substring(0, td_content.indexOf(“{第.."));}

        switch (i++) {

        case 1: oc.setOcname(td_content) ;break; case 2: oc.setOcid(td_content) ;break; case 3: oc.setOcteacher(td_content) ;break; case 4: oc.setOctime(td_content) ;break;

        case 5: oc.setOcpace(td_content) ;break;

        case 6: oc.setOcredit(td_content) ;break;

        case 7: oc.setOcweektimes(td_content) ;break;

        case 8: oc.setOcweekstart(td_content) ;break;

        case 9: oc.setOcsize(td_content) ;break;

        case 10:oc.setOcallowance(td_content) ;break;

        case 11: oc.setOckcgs(td_content) ;break;

        case 12: oc.setOcproperty(td_content) ;break;

        case 13: oc.setOcschoolid(td_content) ;break;

        case 14: oc.setOckkxy(td_content) ;break;

        case 15: oc.setExamtime(td_content) ;break; }}

        oclist.add(oc);}

        } catch (IOException e) {e.printStackTrace();}

        // choiceOptionalCourse(cookies, uid, name);

        return oclist;}

        2 結(jié) 語

        我校的教務(wù)管理系統(tǒng)因為考慮到數(shù)據(jù)安全的問題,并沒有給用戶提供一個查詢接口,但是,因為該系統(tǒng)是接入Internet網(wǎng)絡(luò),所以,就可以利用教務(wù)系統(tǒng)使用Web瀏覽器查詢信息的原理,用戶登錄后選定自己所需的功能,然后向服務(wù)器提交一個表單,服務(wù)器經(jīng)過處理后再返回給用戶一個包含用戶所需信息的HTML頁面。那么,我們就可以應(yīng)用這一原理,模擬瀏覽器的行為,也像瀏覽器一樣,提交給服務(wù)器一個請求,服務(wù)器處理完返回一個HTML文件,然后我們再解析這個HTML文件,從中拿到我們想要的數(shù)據(jù)并顯示到App中,從而實現(xiàn)直接使用手機App查詢信息的功能。故開發(fā)基于Android平臺的手機查詢系統(tǒng)替代傳統(tǒng)教務(wù)管理系統(tǒng)的信息查詢是很有必要的,也是很有市場的。

        參考文獻

        [1]王向輝,張國印,沈潔. Android 應(yīng)用程序開發(fā)[M]. 北京: 清華大學出版社,2010.

        [2]李金霖,賴超,龍曦,等.基于Android平臺的手機日程管理系統(tǒng)[J].計算機與數(shù)字工程,2003,39(3):65-68,137.

        [3]楊豐盛. Android應(yīng)用開發(fā)揭秘[M].北京:機械工業(yè)出版社,2010.

        [4]姚立旻,劉衛(wèi)國. Android 的架構(gòu)與應(yīng)用開發(fā)研究[J]. 計算機系統(tǒng)應(yīng)用,2008(11):110-113.

        [5]耿東久,索岳,陳渝,等.基于Android手機的遠程訪問和控制系統(tǒng)[J].計算機應(yīng)用研究,2011,31(2):559-561.

        [6]張正政,林耀榮.基于Android系統(tǒng)的影音播放器開發(fā)[J].現(xiàn)代電子技術(shù),2011,34(2):5-8.

        [7]葉達峰. Eclipse編程技術(shù)與實例[M].北京:人民郵電出版社,2006.

        亚洲肥老太bbw中国熟女| 国产在线一区二区三区四区 | 欧美高清视频手机在在线| av人摸人人人澡人人超碰妓女| 精品人妻无码视频中文字幕一区二区三区| 免费无码毛片一区二区三区a片| 国产九色AV刺激露脸对白| 一区两区三区视频在线观看| 国产精品人成在线观看免费| 777亚洲精品乱码久久久久久| 国产精品视频流白浆免费视频| 精品久久日产国产一区| 日本午夜理论片在线观看| 少妇高潮喷水久久久影院| 最新亚洲人成网站在线| 亚洲国产黄色在线观看| 色哟哟亚洲色精一区二区| 麻豆国产原创视频在线播放| 亚洲tv精品一区二区三区| 亚洲av综合色区久久精品| 区一区二区三免费观看视频| 亚洲理论电影在线观看| 天天操夜夜操| av黄片免费在线观看| 亚洲男人av天堂久久资源| 国产成熟人妻换╳╳╳╳| 美女一级毛片免费观看97| 中文字幕亚洲永久精品| 国产av一区二区三区无码野战| 精品无码国产自产野外拍在线| 国产极品视觉盛宴在线观看| 野花视频在线观看免费| 亚洲成在人线在线播放无码| 欧美一级视频精品观看| 亚洲一区二区三区精品久久| 亚洲中文字幕无码av永久| 天天躁日日躁狠狠躁人妻| 日韩av在线不卡一区二区三区| 色熟妇人妻久久中文字幕| 亚洲av成人无码网站大全| 国产成人无精品久久久|