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

基于WebService技術(shù)的教務(wù)管理系統(tǒng)Android版設(shè)計(jì)

2015-05-30 10:48:04張志東王玉清
軟件工程 2015年6期

張志東 王玉清

摘 要:本文通過(guò)設(shè)計(jì)Android版的教務(wù)系統(tǒng)客戶(hù)端,詳細(xì)描述了通過(guò)創(chuàng)建Web Service平臺(tái)連接oracle數(shù)據(jù)庫(kù)的方法,android客戶(hù)端通過(guò)ksoap2-android類(lèi)訪(fǎng)問(wèn)Web Service平臺(tái)的方法,最后實(shí)現(xiàn)Android客戶(hù)端訪(fǎng)問(wèn)oracle數(shù)據(jù)庫(kù)。并介紹了其中關(guān)鍵技術(shù),最后給出了開(kāi)發(fā)android系統(tǒng)時(shí)操作大型數(shù)據(jù)庫(kù)的方法。

關(guān)鍵詞:android;web service;oracle數(shù)據(jù)庫(kù)

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A

1 引言(Introduction)

現(xiàn)在大多數(shù)高校都有了自己的教務(wù)管理系統(tǒng),學(xué)生、教師需通過(guò)網(wǎng)絡(luò)查看自己的課表、成績(jī)、選報(bào)課程等。電腦與網(wǎng)絡(luò)逐漸成了廣大師生學(xué)習(xí)與工作中必不可少的工具。但是電腦的學(xué)生的普及率并不高,而且攜帶不方便。由于系統(tǒng)是針對(duì)電腦開(kāi)發(fā)的,許多系統(tǒng)功能是通過(guò)手機(jī)無(wú)法實(shí)現(xiàn)的,并且流量費(fèi)用也制約手機(jī)用戶(hù)。因此開(kāi)發(fā)手機(jī)版的管理系統(tǒng)勢(shì)在必行。

目前手機(jī)用戶(hù)大多數(shù)采用Android系統(tǒng),它采用關(guān)系型數(shù)據(jù)庫(kù)是SQLite,一個(gè)支持SQL的輕量級(jí)嵌入式數(shù)據(jù)庫(kù)[1]。Android系統(tǒng)不能夠直接訪(fǎng)問(wèn)其他大型數(shù)據(jù)庫(kù),如oracle、sql、db2等。大多數(shù)Android系統(tǒng)開(kāi)發(fā)時(shí)又必須創(chuàng)建獨(dú)立的大型數(shù)據(jù)庫(kù),這就需要?jiǎng)?chuàng)建Web Service平臺(tái),該平臺(tái)能夠操作數(shù)據(jù)庫(kù),而且還能提供相應(yīng)的接口。然后Android系統(tǒng)開(kāi)發(fā)時(shí)通過(guò)ksoap2-android類(lèi)訪(fǎng)問(wèn)Web Service平臺(tái)[2]。這樣就可以實(shí)現(xiàn)Android程序操作大型數(shù)據(jù)庫(kù)的目的。

2 Android系統(tǒng)(Android system)

Android系統(tǒng)基于Linux的自由及開(kāi)放源代碼,主要使用于智能手機(jī)和平板電腦,目前逐漸擴(kuò)展到其他領(lǐng)域,如電視、游戲機(jī)、數(shù)碼相機(jī)等[3]。Android系統(tǒng)采用了分層的架構(gòu),從高到低分別是應(yīng)用程序?qū)印?yīng)用程序框架層、系統(tǒng)運(yùn)行庫(kù)層和內(nèi)核層。采用分層模式的好處就是使用下層提供的服務(wù)和為上一層提供統(tǒng)一的服務(wù),當(dāng)下層發(fā)生變化時(shí)對(duì)上層是沒(méi)有影響的。其特點(diǎn)就是高內(nèi)聚、低耦合[4]。

3 Web Service技術(shù)(Web service technology)

Web Service即Web服務(wù),它是一個(gè)跨平臺(tái)、低耦合的Web應(yīng)用程序,它能夠使不用系統(tǒng)、不同機(jī)器上的應(yīng)用程序無(wú)須借助第三方軟件和硬件,就可以實(shí)現(xiàn)數(shù)據(jù)的相互交換。它采用soap協(xié)議(簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議),數(shù)據(jù)傳輸格式是XML語(yǔ)言[5]。

目前現(xiàn)在許多應(yīng)用程序都采用Oracle、SQL等數(shù)據(jù)庫(kù),根據(jù)業(yè)務(wù)需求要開(kāi)發(fā)Android版的應(yīng)用程序。但是Android平臺(tái)是無(wú)法直接訪(fǎng)問(wèn)這些大型數(shù)據(jù)庫(kù)的。因此Android程序需要借助Web Service平臺(tái)來(lái)訪(fǎng)問(wèn)這些數(shù)據(jù)庫(kù)。

如圖1所示為Android客戶(hù)端借助Web Service接口實(shí)現(xiàn)對(duì)oracle數(shù)據(jù)庫(kù)的操作。

圖1 Android客戶(hù)端操作oracle數(shù)據(jù)庫(kù)

Fig.1 Operate the oracle database

base at the android client

4 基于.NET平臺(tái)設(shè)計(jì)Web Service訪(fǎng)問(wèn)接口(Design

web service access inte rface based on the .NET

platform)

.NET即Microsoft XML Web Services平臺(tái),是微軟公司最新推出的技術(shù)平臺(tái)。它允許應(yīng)用程序通過(guò)Internet相互訪(fǎng)問(wèn)和數(shù)據(jù)共享,不需要考慮用戶(hù)采用何種操作系統(tǒng)、設(shè)備等[6]。

本系統(tǒng)使用C#語(yǔ)言創(chuàng)建一個(gè)Web Service接口。其功能是根據(jù)用戶(hù)輸入的學(xué)號(hào),查詢(xún)學(xué)生的成績(jī)、當(dāng)前學(xué)期的課程安排以及最新公告通知等。具體函數(shù)及功能如表1所示。

表1 接口名稱(chēng)及其功能

Tab.1 The name and function of the interface

接口名稱(chēng) 接口功能

chaxuncj(string xh) 根據(jù)學(xué)號(hào)查詢(xún)?cè)撋乃谐煽?jī)

insertxkxxb(string kch,string kxh,string xh) 根據(jù)學(xué)號(hào)、課程號(hào)、課序號(hào)實(shí)現(xiàn)重修課程、任選課程的報(bào)名

chaxunkb(string xh) 根據(jù)學(xué)號(hào)查詢(xún)本學(xué)期個(gè)人的課表

Tongzhi() 查看管理員發(fā)送的新聞或通知

查詢(xún)學(xué)生成績(jī)和重修選課接口的部分代碼如下:

public Listchaxuncj(string xh)

{List

list.Add(sd [4].ToString());//課程成績(jī)

list.Add(sd [5].ToString());//課程類(lèi)型

}

reader.Close();

cmd.Dispose();

return list;

}

學(xué)生需要通過(guò)系統(tǒng)報(bào)任選課,將不及格的課程號(hào)、課序號(hào)填入,學(xué)生的個(gè)人信息才可以加入到成績(jī)庫(kù)中。關(guān)鍵代碼如下:

public bool insertxkxxb(string kch,string kxh,string xh)

{

string sql="insert into xkxxb(kch,kxh,xh) values('"+,kch+,"',"+kxh+",”+xh+”) where xueqi="+dqxq;

SqlCommand cmd=new SqlCommand(sql,sqlCon);

cmd.ExecuteNonQuery();

cmd.Dispose();

return true;

}

4.1 設(shè)計(jì)Android 客戶(hù)端訪(fǎng)問(wèn)Web Service接口

Android 客戶(hù)端主要功能是學(xué)生通過(guò)使用手機(jī)端輸入學(xué)號(hào)和密碼登錄系統(tǒng),學(xué)生能夠接收到最新的校園新聞和通知,可以查看本學(xué)期的個(gè)人課表,輸入不及格課程的課程號(hào)和課序號(hào)可以實(shí)現(xiàn)重修報(bào)名,查看所有成績(jī)信息(包含重修通過(guò)的課程)。具體內(nèi)容如圖2所示。

圖2 Android 客戶(hù)端功能模塊圖

Fig.2 Function block diagram of the android client

4.2 Android 客戶(hù)端向Web Service接口發(fā)送數(shù)據(jù)并接受

信息

學(xué)生在Android客戶(hù)端輸入學(xué)號(hào)和密碼,然后客戶(hù)端將數(shù)據(jù)傳輸?shù)絎eb Service接口,Web Service接口根據(jù)接收的數(shù)據(jù)和函數(shù)類(lèi)型對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,最后將操作結(jié)果反饋到Android 客戶(hù)端。

首先在Android客戶(hù)端創(chuàng)建線(xiàn)性布局文件res/layout/main.xml,在布局文件中創(chuàng)建兩個(gè)文本輸入框,分別用于輸入學(xué)號(hào)和密碼,一個(gè)Button提交按鈕。然后創(chuàng)建MainActivity,編寫(xiě)getxsinfo函數(shù)實(shí)現(xiàn)Android客戶(hù)端向Web Service接口傳輸數(shù)據(jù),并接收到的學(xué)生信息顯示到文本框內(nèi)。關(guān)鍵代碼如下:

public void getxsInfo(String xh) {

String name="http://211.82.48.36:8080/";

String method="getxsInfo";

String end="http://211.82.48.36:8080/ MobileCodeWS.asmx";

String search="http://211.82.48.36:8080/selectcj";

SoapObject rpc=new SoapObject(name,method);

rpc.addProperty("xh","");

SoapSerializationEnvelope soapenvelope=new SoapSerializationEnvelope(SoapEnvelope.VER10);

soapenvelope.bodyOut=rpc;

soapenvelope.dotNet=true;

soapenvelope.setOutputSoapObject(rpc);

HttpTransportSE transport=new HttpTransportSE(end);

transport.call(soapAction,esoapnvelope);

SoapObject object=(SoapObject) envelope.bodyIn;

String xinxi=object.getProperty(0).toString();

resultView.setText(xinxi);

}

5 結(jié)論(Conclusion)

本文著重介紹了在設(shè)計(jì)Android客戶(hù)端程序時(shí)如何操作大型數(shù)據(jù)庫(kù),結(jié)合教務(wù)系統(tǒng)Android客戶(hù)端的設(shè)計(jì),詳細(xì)介紹了使用C#語(yǔ)言設(shè)計(jì)Web Service接口并操作oracle數(shù)據(jù)庫(kù),將數(shù)據(jù)結(jié)果以XML格式輸出,Android客戶(hù)端調(diào)用Web Service接口,將接收到的數(shù)據(jù)顯示到文本框內(nèi),或者將數(shù)據(jù)傳輸?shù)絎eb Service接口,由Web Service接口來(lái)操作數(shù)據(jù)庫(kù)。最終通過(guò)設(shè)計(jì)Web Service接口實(shí)現(xiàn)數(shù)據(jù)庫(kù)跨平臺(tái)的操作。

參考文獻(xiàn)(References)

[1] 王冬霞.基于Android天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣 場(chǎng),2014,(1):57-61.

[2] 陳愛(ài)華.基于XML和Web Service的異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)交換研究 [J].軟件工程師,2011(5):56-58.

[3] 周樹(shù)明.基于Web Service技術(shù)的應(yīng)用實(shí)例的設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì) 算機(jī)應(yīng)用于軟件,2003(4):63-65.

[4] 郭定聰.基于Web服務(wù)器的Android手機(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí) 現(xiàn)[D].哈爾濱工業(yè)大學(xué),2013.

[5] 柏永斌.基于XML和Web Service的異構(gòu)數(shù)據(jù)整合技術(shù)應(yīng)用研 究[J].電腦知識(shí)與技術(shù),2009,(08):1796-1797.

[6] 岳俊梅.基于網(wǎng)絡(luò)環(huán)境的自主學(xué)習(xí)現(xiàn)狀及分析[J].軟件工程師, 2014,17(7):34-36.

作者簡(jiǎn)介:

張志東(1979-),男,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用.

王玉清(1965-),男,學(xué)士,教授.研究領(lǐng)域:應(yīng)用數(shù)學(xué).

主站蜘蛛池模板: 国产h视频免费观看| 久久精品国产亚洲麻豆| 亚洲首页在线观看| 欧美综合一区二区三区| 日韩毛片在线视频| 国产精品密蕾丝视频| 国模私拍一区二区| 欧美精品亚洲精品日韩专区va| 欧美日韩精品一区二区在线线| 中文无码伦av中文字幕| 国产丝袜一区二区三区视频免下载| 国产成人精品无码一区二| AV不卡国产在线观看| 四虎免费视频网站| 亚洲综合第一区| 日本AⅤ精品一区二区三区日| 天天综合网在线| 谁有在线观看日韩亚洲最新视频| 影音先锋亚洲无码| 久久精品国产在热久久2019| 亚洲天堂区| 国产成人久久综合一区| 久久不卡精品| 看国产一级毛片| 亚洲成人免费看| 亚洲欧州色色免费AV| 国产区在线观看视频| 日韩人妻无码制服丝袜视频| 55夜色66夜色国产精品视频| 国产精品一老牛影视频| 日韩成人免费网站| 亚洲无码91视频| 在线不卡免费视频| 无码粉嫩虎白一线天在线观看| 久久青青草原亚洲av无码| 无码高清专区| 免费无码一区二区| 欧美国产日韩在线播放| 国产成人精品2021欧美日韩| 国产免费a级片| 中文字幕丝袜一区二区| 国产网友愉拍精品视频| 欧美日韩成人| 国内精自线i品一区202| 国产人免费人成免费视频| 狠狠ⅴ日韩v欧美v天堂| 亚洲欧美在线综合一区二区三区 | 在线亚洲小视频| 狠狠做深爱婷婷综合一区| 亚洲国产91人成在线| 久久99精品久久久大学生| 国产在线精品网址你懂的| 国产成人高清精品免费5388| 99re免费视频| 欧美a在线看| 伊人久久久久久久| 久草网视频在线| 71pao成人国产永久免费视频| 久精品色妇丰满人妻| 欧美精品不卡| 天堂亚洲网| 少妇被粗大的猛烈进出免费视频| 一级毛片免费的| 国产亚洲精品在天天在线麻豆 | 久久99国产视频| 日本五区在线不卡精品| 亚洲色欲色欲www网| 五月婷婷伊人网| 亚洲欧美日韩中文字幕在线一区| 国产精品天干天干在线观看| 一级毛片无毒不卡直接观看| 国产微拍一区二区三区四区| 精品一区二区三区波多野结衣| 麻豆AV网站免费进入| 亚洲人成在线精品| 免费观看亚洲人成网站| 国产成熟女人性满足视频| 国产丝袜第一页| 精品国产黑色丝袜高跟鞋| 亚洲bt欧美bt精品| 福利视频一区| 小蝌蚪亚洲精品国产|