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é).

主站蜘蛛池模板: 日韩精品久久无码中文字幕色欲| 国产乱论视频| 99精品视频在线观看免费播放| 久久77777| 在线亚洲精品自拍| 国产在线专区| 久久永久视频| 伊人五月丁香综合AⅤ| 精品成人免费自拍视频| 欧美日韩中文字幕在线| 国产激爽爽爽大片在线观看| 福利在线一区| 亚洲午夜福利在线| 亚洲综合色吧| 亚洲国产无码有码| 国产a在视频线精品视频下载| 成人免费黄色小视频| 久久精品这里只有精99品| 色网站在线视频| 爽爽影院十八禁在线观看| 超碰91免费人妻| 日韩一级二级三级| 亚洲综合二区| 99久久99视频| 久久semm亚洲国产| 亚洲AⅤ波多系列中文字幕| 精品久久高清| 免费观看国产小粉嫩喷水 | 亚洲综合色在线| 亚洲天堂在线视频| 伦精品一区二区三区视频| 国产在线精品香蕉麻豆| 91av国产在线| 任我操在线视频| 久久综合结合久久狠狠狠97色| 2021国产精品自产拍在线| 999福利激情视频 | 亚洲国语自产一区第二页| 成年人免费国产视频| a毛片基地免费大全| 正在播放久久| 婷婷丁香在线观看| 婷婷六月激情综合一区| 日本91在线| 国产欧美日韩视频怡春院| 欧美国产综合视频| 国内精品自在欧美一区| 免费又黄又爽又猛大片午夜| 久久综合国产乱子免费| 午夜无码一区二区三区| 日韩一区二区三免费高清| www.日韩三级| 亚洲欧美一区二区三区麻豆| 最新国产午夜精品视频成人| 国产精品永久久久久| 亚洲91在线精品| 红杏AV在线无码| 国产麻豆精品久久一二三| 久久婷婷色综合老司机| 国产精品一区在线麻豆| 9啪在线视频| 高清欧美性猛交XXXX黑人猛交| 一本大道香蕉久中文在线播放| 亚洲天堂网在线视频| 亚洲国产成熟视频在线多多 | 亚洲欧美国产高清va在线播放| 国产一在线| 国语少妇高潮| 国产91久久久久久| 国产理论精品| 久久久久久久97| Aⅴ无码专区在线观看| 欧美成人精品一区二区| 欧美激情网址| 亚洲福利一区二区三区| av尤物免费在线观看| 国产美女免费| 国产亚洲欧美在线视频| 国产超碰在线观看| 午夜在线不卡| 国产导航在线| 真实国产乱子伦高清|