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

基于Android平臺的手機查詢系統的設計與實現

2015-04-27 14:20:35楊芳萍等
物聯網技術 2015年4期

楊芳萍等

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

關鍵詞:Android ;SDK ;Jsoup ;Eclipse ;便捷查詢

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

0 引 言

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

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

1 系統主要功能模塊設計與實現

1.1 成績查詢模塊

先進行第一次連接服務器,拿到服務器返回的__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”); //跳轉到頁

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

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

c.cookies(cookies);

Document doc;

try {

doc = c.post();

System.out.println(“第一次得到的響應內容長度 "+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 ; //用于記錄可選選修課的條數 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 結 語

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

參考文獻

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

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

[3]楊豐盛. Android應用開發揭秘[M].北京:機械工業出版社,2010.

[4]姚立旻,劉衛國. Android 的架構與應用開發研究[J]. 計算機系統應用,2008(11):110-113.

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

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

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

主站蜘蛛池模板: 亚洲综合二区| 特级毛片免费视频| 91美女视频在线观看| 日韩av无码精品专区| 亚洲91精品视频| 久久精品aⅴ无码中文字幕 | 波多野结衣二区| 三级国产在线观看| 国产精品成人不卡在线观看 | 国产理论最新国产精品视频| 无码中文AⅤ在线观看| 成年女人a毛片免费视频| 中文字幕色在线| 丁香六月综合网| 国产精品一区不卡| 欧美在线国产| 欧美在线一二区| a级毛片在线免费观看| 久久福利片| 国产区免费| 58av国产精品| 国产超碰一区二区三区| 亚洲视频欧美不卡| 欧美黄网站免费观看| 露脸一二三区国语对白| 91小视频版在线观看www| 精品少妇人妻无码久久| 色欲色欲久久综合网| 久热re国产手机在线观看| 国产精品一区二区久久精品无码| 波多野结衣视频一区二区| 久久久久久国产精品mv| 一本综合久久| 日本高清有码人妻| 人妻丝袜无码视频| 亚洲人成网18禁| 亚洲AV无码乱码在线观看裸奔 | 在线欧美国产| 国产成人免费手机在线观看视频| 亚洲精品老司机| 国产菊爆视频在线观看| 日韩一级毛一欧美一国产| 91精品啪在线观看国产60岁| 无码中文AⅤ在线观看| 尤物视频一区| 欧美亚洲激情| 国产精品一线天| 亚洲色偷偷偷鲁综合| 亚洲第一区精品日韩在线播放| 亚洲无线一二三四区男男| 国产网站免费| 一区二区三区四区在线| 亚洲欧美精品在线| 东京热av无码电影一区二区| 91久久青青草原精品国产| 亚洲狼网站狼狼鲁亚洲下载| 日韩小视频在线观看| 91福利免费视频| 国产成人一区免费观看 | 亚洲欧洲日产国码无码av喷潮| 国产精品主播| www.精品国产| 国产精品天干天干在线观看| 中日韩一区二区三区中文免费视频| av在线人妻熟妇| 国产男女XX00免费观看| 中文字幕丝袜一区二区| 国产精品不卡永久免费| 欧美精品在线看| 毛片a级毛片免费观看免下载| 久久国产高清视频| 国产成人夜色91| 欧美一区二区自偷自拍视频| 亚洲最大福利网站| 午夜高清国产拍精品| 欧美性猛交一区二区三区| 国产手机在线观看| 天堂网亚洲系列亚洲系列| 国产成人无码Av在线播放无广告| 91在线激情在线观看| a级毛片在线免费观看| 狠狠色丁婷婷综合久久|