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

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

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

楊芳萍等

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

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

中圖分類號(hào):TP212 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2015)04-00-03

0 引 言

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

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

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

1.1 成績(jī)查詢模塊

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

publicclass QueryScore {

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

String score_info = null;

File file = new File(“查詢成績(jī)完成.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”, “按學(xué)期查詢");

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(“查詢成績(jī)開始.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(“錯(cuò)誤: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(“錯(cuò)誤:IOException e2");

returnnull;

}

return file;

}}

1.2 查看/選擇選修課模塊

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

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”, “”);//過長(zhǎng),不再給出

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

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

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

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

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

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

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

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

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

c.cookies(cookies);

Document doc;

try {

doc = c.post();

System.out.println(“第一次得到的響應(yīng)內(nèi)容長(zhǎng)度 "+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é) 語(yǔ)

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

參考文獻(xiàn)

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

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

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

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

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

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

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

主站蜘蛛池模板: 国产手机在线小视频免费观看| 日本人妻一区二区三区不卡影院 | 国产精品美乳| 又黄又爽视频好爽视频| 伊人91视频| 国产一区二区三区免费观看| 国产成人在线小视频| 欧美一区二区精品久久久| 久久亚洲日本不卡一区二区| 天天摸夜夜操| 久视频免费精品6| 亚洲日本中文字幕乱码中文 | 噜噜噜久久| 亚洲成人在线免费| 97一区二区在线播放| 欧美日韩在线亚洲国产人| 国产精品综合久久久| 四虎永久在线精品国产免费| 亚洲看片网| 精品国产免费观看| 一级爆乳无码av| 国产97视频在线观看| 亚洲妓女综合网995久久 | 日韩人妻精品一区| 久久国产高清视频| 国产成人AV综合久久| 亚洲成人精品在线| 秋霞一区二区三区| 欧美成人二区| 亚洲福利片无码最新在线播放| 亚洲精选高清无码| 日韩福利在线观看| 91久久偷偷做嫩草影院电| 午夜国产大片免费观看| 伊人久久福利中文字幕| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲天堂首页| 欧美综合区自拍亚洲综合绿色 | 国国产a国产片免费麻豆| 东京热av无码电影一区二区| 日韩中文精品亚洲第三区| 国产精品任我爽爆在线播放6080| 麻豆国产在线不卡一区二区| 香蕉eeww99国产精选播放| 国产全黄a一级毛片| 潮喷在线无码白浆| 欧美日韩在线观看一区二区三区| 午夜限制老子影院888| 在线中文字幕网| 成人国产小视频| 少妇精品久久久一区二区三区| 在线观看欧美国产| 综合色婷婷| 无码人妻免费| 亚洲精品欧美日韩在线| 国产最新无码专区在线| yjizz国产在线视频网| 国产欧美精品一区二区| 精品免费在线视频| 国产黄在线观看| 久久免费看片| 91丝袜美腿高跟国产极品老师| 午夜国产精品视频黄| 91麻豆久久久| 欧美亚洲国产精品第一页| 中文字幕第1页在线播| 国产女人18毛片水真多1| 国产欧美精品午夜在线播放| 亚洲一区波多野结衣二区三区| a毛片免费看| 91久久精品日日躁夜夜躁欧美| 欧美在线网| 国产欧美日韩视频怡春院| 亚洲va视频| 亚洲VA中文字幕| 国产精彩视频在线观看| 亚洲天堂网在线播放| 亚洲第一成网站| 国产精品污污在线观看网站| 国产精品美乳| 亚洲日韩久久综合中文字幕| 国产在线自乱拍播放|