国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android手機(jī)的校園移動(dòng)平臺(tái)設(shè)計(jì)

2015-09-18 13:21:35曹雙雙
軟件導(dǎo)刊 2015年8期
關(guān)鍵詞:平臺(tái)設(shè)計(jì)

曹雙雙

摘要:教育信息化促使校園建設(shè)不斷完善,信息移動(dòng)化正逐漸走進(jìn)校園生活。為了提高高校信息化水平,方便Android智能手機(jī)用戶查詢學(xué)校相關(guān)信息,在深入進(jìn)行需求分析基礎(chǔ)上,利用Android技術(shù)和SQLite數(shù)據(jù)庫(kù),以湖北師范學(xué)院為例,研究了校園移動(dòng)平臺(tái)客戶端的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程。該客戶端基于Java語(yǔ)言開(kāi)發(fā)完成,實(shí)現(xiàn)了校園新聞公告查詢、課程表查詢、空教室查詢和教務(wù)信息查詢等功能,并且已經(jīng)在Android5.0仿真設(shè)備上測(cè)試通過(guò)。

關(guān)鍵詞:Android;校園移動(dòng)平臺(tái);平臺(tái)設(shè)計(jì)

DOIDOI:10.11907/rjdk.151754

中圖分類號(hào):TP319

文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):16727800(2015)008017903

0 引言

隨著移動(dòng)終端的普及,移動(dòng)互聯(lián)網(wǎng)發(fā)展正日漸升溫,在無(wú)線通訊網(wǎng)絡(luò)技術(shù)發(fā)展成熟的大環(huán)境下,大學(xué)生這一特殊群體中Android智能機(jī)的使用率較高,且手機(jī)的智能化程度越來(lái)越高,手機(jī)的傳輸速度越來(lái)越快,手機(jī)也早已突破傳統(tǒng)的功能應(yīng)用。近年來(lái),隨著高校擴(kuò)招,學(xué)院師生數(shù)量急劇膨脹,加上信息社會(huì)的快速發(fā)展,校園的信息量也逐漸變得龐大。在高校日常工作中,利用智能手機(jī)操作教務(wù)系統(tǒng)實(shí)時(shí)發(fā)布學(xué)生信息、教務(wù)信息、放假信息等內(nèi)容,可以讓教學(xué)工作有序進(jìn)行,師生使用智能手機(jī)等移動(dòng)終端實(shí)現(xiàn)校園信息化管理具有深刻的現(xiàn)實(shí)意義與極高的應(yīng)用價(jià)值[1]。

1 相關(guān)技術(shù)

1.1 Java技術(shù)

Java是一種可以撰寫(xiě)跨平臺(tái)的、面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,擁有卓越的通用性、高效性、平臺(tái)移植性和安全性等優(yōu)良特性,在Android開(kāi)發(fā)中是主要開(kāi)發(fā)語(yǔ)言之一。

1.2 XML技術(shù)與MVC架構(gòu)

XML(eXtensible Markup Language)中文名為可擴(kuò)展標(biāo)記語(yǔ)言,是互聯(lián)網(wǎng)聯(lián)盟(W3C)于1998年制定的一種語(yǔ)言規(guī)范,是全新的描述結(jié)構(gòu)化數(shù)據(jù)的語(yǔ)言[2]。在Android開(kāi)發(fā)中,XML主要用于應(yīng)用權(quán)限配置、Activity注冊(cè)、布局文件編寫(xiě)、資源存儲(chǔ)與標(biāo)記等。

MVC是一種架構(gòu)型模式,用來(lái)指導(dǎo)開(kāi)發(fā)者改善應(yīng)用程序架構(gòu),使得開(kāi)發(fā)和維護(hù)效率更高。在MVC中,應(yīng)用程序被劃分為模型(Model)、視圖(View)、控制器(Controller)3部分。運(yùn)用MVC模式進(jìn)行開(kāi)發(fā),將有利于數(shù)據(jù)維護(hù)并提升開(kāi)發(fā)效率。

1.3 Android開(kāi)發(fā)技術(shù)

Android是一種基于Linux的開(kāi)放源碼系統(tǒng)。據(jù)CNET報(bào)道,調(diào)研機(jī)構(gòu)Strategy Analytics最新的第三季度報(bào)告中顯示,Android以83.6%的市場(chǎng)占有率穩(wěn)居移動(dòng)操作系統(tǒng)市場(chǎng)之首。因此,選用Android系統(tǒng)進(jìn)行開(kāi)發(fā)有利于用戶量的提升[4]。

1.4 SQLite數(shù)據(jù)庫(kù)

SQLite是Android系統(tǒng)自帶的輕量型、運(yùn)算速度極快的嵌入式關(guān)系型數(shù)據(jù)庫(kù),它不僅支持標(biāo)準(zhǔn)的SQL語(yǔ)法,還可以對(duì)Android封裝好的API進(jìn)行操作,讓存儲(chǔ)和讀取數(shù)據(jù)變得方便。使用SQLite可以方便地調(diào)用后臺(tái)數(shù)據(jù)庫(kù)。

2 系統(tǒng)分析與設(shè)計(jì)

2.1 需求分析

2.1.1 開(kāi)發(fā)平臺(tái)需求和運(yùn)行需求

本系統(tǒng)在win7操作系統(tǒng)上開(kāi)發(fā),開(kāi)發(fā)環(huán)境包括eclipse、JDK、android SDK、Android eclipse ADT。開(kāi)發(fā)后能在大部分Android手機(jī)上使用,支持Android最新系統(tǒng)版本。其安全性、可靠性和易用性等非功能性需求也可得到保障。

2.1.2 功能需求

系統(tǒng)將滿足用戶隨時(shí)隨地利用移動(dòng)設(shè)備訪問(wèn)校內(nèi)資源的需求,并可解決傳統(tǒng)移動(dòng)設(shè)備訪問(wèn)校園網(wǎng)絡(luò)的弊端與局限??蛻舳斯δ苄枨蟀ń虅?wù)信息查詢、校園新聞公告、圖書(shū)館信息查詢、內(nèi)置瀏覽器等。

2.2 功能模塊設(shè)計(jì)

2.2.1 模擬登錄

模擬登錄主要通過(guò)使用模擬登錄界面,獲取學(xué)號(hào)與密碼以及用戶類別,運(yùn)用HttpURLConnection、HttpClient訪問(wèn)教務(wù)系統(tǒng)。關(guān)鍵代碼如下:

//設(shè)置編碼方式

HttpEntity entity = new UrlEncodedFormEntity (params,HTTP.UTF_8); httpRequest.setEntity(entity);

//新建 HTTP 客戶端

HttpClient httpClient = new DefaultHttpClient();

//執(zhí)行請(qǐng)求得到響應(yīng)

HttpResponse httpResponse= httpClient.execute (httpRequest);

//判斷響應(yīng)的狀態(tài)是否成功

if (httpResponse.getStatusLine () .getStatusCode () == HttpStatus.SC_OK)

{

//得到結(jié)果字符串

String result = EntityUtils.toString ( httpResponse.getEntity(),"gb2312");

String s1 = " alert ("" ;

if ( result.indexOf (s1) != result.lastIndexOf (s1) && result.indexOf (" expandingWindow (" http:") ==-1)

{ int b1 = result.lastIndexOf ( s1) +s1. length () ;

int b2 = result.lastIndexOf (" ") ;") ;

String outstr = result.substring (b1, b2) ;

txtsearchResult.setText(outstr);

} else {

Header h []= httpResponse.getAllHeaders ();

String sitecookie = "" ;

String c ="" ;

for (int i = 0; i < h.length; i++)

{ c = h [i].getName () ;

if (c.trim () .equals (" Set-Cookie"))

{ sitecookie=h[i].getValue(); } }

2.2.2 教務(wù)信息查詢模塊

通過(guò)教務(wù)系統(tǒng)的模擬登錄可以查詢開(kāi)設(shè)課程、選課,并查看課程表、課程信息和成績(jī)。每個(gè)模塊涉及的類不同,如包含了課程基本屬性及其屬性的get()、set()方法來(lái)獲取、存入和刪除課程信息的類Mcourse,通過(guò)新建HTTP客戶端,獲取網(wǎng)頁(yè)信息,運(yùn)用正則表達(dá)式獲取其中的課程信息,再通過(guò)調(diào)用各類View的setText()方法使課程信息呈現(xiàn)在屏幕控件上。而其它類如MScore包含了成績(jī)基本信息及其屬性的get()、set()方法,以及獲取、存入和刪除課程成績(jī)的數(shù)據(jù)庫(kù)操作;ActivityPickCourse完成查看搜索結(jié)果的界面,取出由ActivitySearchCourse存入數(shù)據(jù)庫(kù)的數(shù)據(jù);ActivityMyScore完成課程表的界面,實(shí)現(xiàn)了在ProtocolMyCourse文件中定義的ProtocolMyCourseDelegate接口等。

該模塊最有特色的一個(gè)地方就是在原有教務(wù)信息查詢系統(tǒng)基礎(chǔ)上增加了空教室查詢功能。由于課程安排與學(xué)生活動(dòng)等原因,無(wú)法通過(guò)計(jì)算來(lái)獲取空教室,因而只能通過(guò)教務(wù)處發(fā)布的自習(xí)教室表格導(dǎo)入數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)空教室的查詢。關(guān)鍵代碼如下:

--如果接受數(shù)據(jù)導(dǎo)入的表已經(jīng)存在

insert into 自習(xí)教室表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,

'Excel 5.0; HDR=YES;DATABASE=c:test.xls',sheet1$)

--如果導(dǎo)入數(shù)據(jù)并生成表

select * into 自習(xí)教室表 from

OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,

'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)

此時(shí)使用的數(shù)據(jù)庫(kù)是Android自帶的SQLite輕量級(jí)的嵌入式關(guān)系型數(shù)據(jù)庫(kù),可以大大提高效率。而傳統(tǒng)的JDBC需要消耗大量資源,對(duì)移動(dòng)設(shè)備并不適用,可以使用Android自帶的SQLiteOpenHelpr類對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。

2.2.3 校園新聞公告模塊

通過(guò)ListView控件對(duì)新聞和公告進(jìn)行控制,在完成ListView中各子項(xiàng)的布局后將其填充至Listview控件中;然后創(chuàng)建適配器類AltColorAdapter,讓其繼承SimpleAdapter基類,重寫(xiě)其getView()方法,完成列表中隔行換色顯示效果;接著調(diào)用ListView控件的setAdapter()方法與AltColorAdapter類對(duì)象進(jìn)行綁定;最后調(diào)用ListView控件的setOnItemClickListener()方法來(lái)設(shè)置列表中子項(xiàng)的點(diǎn)擊操作,實(shí)時(shí)獲取學(xué)校官網(wǎng)的新聞與通知公告,運(yùn)用XML存儲(chǔ)新聞標(biāo)題、內(nèi)容、時(shí)間。關(guān)鍵代碼如下:

//使用SimpleAdapter綁定數(shù)據(jù)

private void bindData1()

{

List list=tService.findSplitPage(0, 20, "");

List> data = new ArrayList>();

for(testTable t: list)

{

HashMap h=new HashMap();

h.put("name", t.getName());

h.put("memo", t.getMemo());

h.put("id", t.getId());

data.add(h);

}

SimpleAdapter adapter=new SimpleAdapter(this, data, R.layout.item,

new String[]{"name","memo"},new int[]{R.id.testname,R.id.testmemo});

listView.setAdapter(adapter);

}

2.2.4 圖書(shū)館信息查詢模塊

圖書(shū)館模塊完成了圖書(shū)搜索、預(yù)約、借閱歷史查看、續(xù)借、已借未還記錄查看5個(gè)功能。根據(jù)手機(jī)界面易用性的非功能性需求,圖書(shū)館模塊分為登錄主界面和兩個(gè)功能模塊,即圖書(shū)搜索(包括搜索和預(yù)約)、圖書(shū)管理(包括查看借閱歷史、查看未還記錄和續(xù)借)。主界面用來(lái)處理普通用戶和管理員登錄的請(qǐng)求。主要代碼如下:

if(user.getPassword().equalsIgnoreCase(password))

{

flag=true;

}else{

flag=false;

}

圖書(shū)搜索主要用于查詢用戶需要的圖書(shū)信息,包括查看是否被預(yù)約。部分代碼如下:

try {

bookList=dao.findBook (bookName);

{

setAtribute(“bookList”,bookList) ;

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

管理圖書(shū)模塊主要幫助用戶查詢自己的借閱信息,包括書(shū)籍名稱、借閱歷史、未還記錄和續(xù)借等功能。部分代碼如下:

int number=Integer.parseInt(number);

if(number>0)

{

while(i

{

Book book1=new Book();

i++;

…………

try {

LibraryDao.save(book1);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

2.2.5 內(nèi)置瀏覽器

使用WebView控件可以輕松置入瀏覽器,通過(guò)對(duì)常用網(wǎng)站的設(shè)置,可以方便師生進(jìn)入教務(wù)處、OA辦公系統(tǒng)、教務(wù)系統(tǒng)、以及學(xué)校網(wǎng)站等,極大減少了輸入地址以及尋找超鏈接的時(shí)間。不用單獨(dú)打開(kāi)瀏覽器應(yīng)用,節(jié)約了時(shí)間,減少了內(nèi)存消耗。

2.3 系統(tǒng)框架

系統(tǒng)采用C/S結(jié)構(gòu),有利于降低服務(wù)器的負(fù)擔(dān)。由于后臺(tái)數(shù)據(jù)庫(kù)和服務(wù)器的集中處理,也降低了客戶端的運(yùn)行復(fù)雜程度,減少了對(duì)手機(jī)資源的需求和占用。

2.4 系統(tǒng)維護(hù)

數(shù)據(jù)庫(kù)的維護(hù)和更新需要有專人及時(shí)處理,即將過(guò)時(shí)的信息難以滿足用戶需求。網(wǎng)絡(luò)數(shù)據(jù)的傳輸安全也非常重要,服務(wù)器中存在著大量的個(gè)人信息,如因安全性問(wèn)題導(dǎo)致信息泄漏后果將不堪設(shè)想。這需要在服務(wù)器建設(shè)與維護(hù)中更加注意安全性問(wèn)題,以保證系統(tǒng)的正常運(yùn)行。

3 結(jié)語(yǔ)

隨著“互聯(lián)網(wǎng)+”概念的推出和智能手機(jī)的普及,基于Android手機(jī)的校園應(yīng)用系統(tǒng)得到了廣泛應(yīng)用。本文結(jié)合校園實(shí)際需求,進(jìn)行了基于Android手機(jī)的校園移動(dòng)平臺(tái)設(shè)計(jì),該平臺(tái)能為師生提供便捷的信息查詢等功能,具有一定的應(yīng)用價(jià)值。同時(shí)其可移植性強(qiáng),幾乎所有校園平臺(tái)都可以此為藍(lán)本進(jìn)行二次開(kāi)發(fā),并且對(duì)地方門(mén)戶新聞的應(yīng)用開(kāi)發(fā)也具有一定的參考價(jià)值。

參考文獻(xiàn):

[1] 熊健.基于Android平臺(tái)的企業(yè)移動(dòng)應(yīng)用開(kāi)發(fā)框架的分析與設(shè)計(jì)[J].軟件,2012,33(11):4446.

[2] 李巖.基于XML的電子政務(wù)架構(gòu)XML_GOV[D].北京:清華大學(xué),2004.

[3] 陳臣,王斌,孫琳,等.研磨Struts2[M].北京:清華大學(xué)出版社,2011.

[4] 郭霖.第一行代碼Android[M].北京:人民郵電出版社,2014.

[5] 趙英,王飛.手持移動(dòng)設(shè)備在校園信息系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(12):195197.

[6] 王述聰.基于Android手機(jī)應(yīng)用的在線課程表查詢[J].電腦編程技巧與維護(hù),2013(22):5254.

(責(zé)任編輯:孫 娟)

猜你喜歡
平臺(tái)設(shè)計(jì)
中小型眼鏡行業(yè)綜合O2O電子商務(wù)平臺(tái)的設(shè)計(jì)
小型風(fēng)力發(fā)電實(shí)驗(yàn)裝置的設(shè)計(jì)與制作
基于空間的高職院校畢業(yè)設(shè)計(jì)過(guò)程管理與監(jiān)控平臺(tái)的設(shè)計(jì)
廣電網(wǎng)絡(luò)前端業(yè)務(wù)融合云服務(wù)平臺(tái)設(shè)計(jì)
基于工作流的水運(yùn)應(yīng)急信息管理平臺(tái)設(shè)計(jì) 
MOOC時(shí)代創(chuàng)新區(qū)域教師培訓(xùn)課程建設(shè)研究
阳山县| 冀州市| 宁陵县| 益阳市| 郓城县| 云阳县| 龙海市| 弥渡县| 达拉特旗| 龙州县| 常山县| 贞丰县| 灵璧县| 海丰县| 商南县| 桦甸市| 哈尔滨市| 桓台县| 公安县| 六枝特区| 甘孜县| 定安县| 连平县| 济南市| 浙江省| 和静县| 江孜县| 岱山县| 关岭| 德州市| 伊金霍洛旗| 喀喇沁旗| 田东县| 峨边| 游戏| 晋中市| 泰兴市| 新竹县| 武义县| 溧阳市| 房产|