shop navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授...

Post on 20-Dec-2015

235 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Shop Shop NavigatorNavigator

91420059142005 李世詠李世詠91420219142021 陳冠宏陳冠宏91420349142034 尹 川尹 川

指導老師:指導老師: 黃三益教授黃三益教授

Shop Navigator ?Shop Navigator ?

?

系統架構系統架構

Information.jsp

管理者介面

使用者介面

ShopMIDlet

Agent

Sender

Map

ClientServer

ServerServer 端端的系統流程的系統流程

登入

修改自己的商店訊息

使用者註冊

審核

是否為系統會員

開發環境: Tomcat JSP Mysql

行動裝置端行動裝置端的系統流程的系統流程

使用者啟動程式

透過GPS獲得位置座標

向伺服器傳送要求

商店優惠訊息

從資料庫中取得商店的優惠訊息與電子地圖資料

將電子地圖與優惠訊息呈現給使用者

GPS的部分省略直接給定位置座標

電子地圖資料

程式架構程式架構public class ShopMIDlet

extends MIDlet implements CommandListener

private class Agentimplements Runnable

private class Senderextends Thread

private class Mapextends Canvas implements Runnable

取得位置座標取得位置座標

private int userXPosition = 100, userYPosition = 100;

向伺服器傳送要求向伺服器傳送要求 sc = (SocketConnection) Connector.open("socket://140.117.

12.184:8080"); is = new InputStreamReader(sc.openInputStream(),"UTF8"); os = sc.openOutputStream(); sender = new Sender(os); sender.send("GET /oop/information.jsp? x="+userXPosition+"&y="+userYPosition+" HTTP/1.0\n");

XmlParser parser = new XmlParser(is); Document document = new Document(); document.parse(parser);

Element root = document.getRootElement();

接收並儲存優惠訊息接收並儲存優惠訊息Element root=document.getRootElement

( );

Element eleA = root.getElement( 1 ) ;for(int j=0 ; j<eleA.getChildCount() ; j++){

Element eleB = eleA.getElement( j ) ;Element sn = eleB.getElement( 0 ) ;Element si = eleB.getElement( 1 ) ;Element xp = eleB.getElement( 2 ) ;Element yp = eleB.getElement( 3 ) ;shopinfo[ j ] = new ShopInfo(

sn.getText(), si.getText(), Integer.parseInt( xp.getText( )),Integer.parseInt( yp.getText( ))(…)

<?xml version="1.0" ?> <ShopInformation><Source> <Name>NSYSU-MIS</Nam <IP>140.117.12.140</IP> </Source><Content>

<Item> <ShopName>22世紀 </ShopN <ShopInfo> 每星期三深夜免費 <ShopXPosition>100</ShopX <ShopYPosition>130</ShopY </Item><Item> <ShopName> 城市漢堡 </Shop(…)

接收並儲存地圖訊息接收並儲存地圖訊息Element root=document.getRootElement( );Element eleA = root.getElement( 2 ) ;for(int j=0 ; j<eleA.getChildCount() ; j++){

Element eleB = eleA.getElement( j ) ;Element rn = eleB.getElement( 0 ) ;Element sx = eleB.getElement( 1 ) ;Element sy = eleB.getElement( 2 ) ;Element ex = eleB.getElement( 3 ) ;Element ey = eleB.getElement( 4 ) ;road[ j ] = new Road(

rn.getText( ),Integer.parseInt( sx.getText( )),Integer.parseInt( sy.getText( )),Integer.parseInt( ex.getText( )),Integer.parseInt( ey.getText( ))(…)

<Road> <Item> <RoadName> 登山街 </RoadN

a <StartX>100</StartX> <StartY>10</StartY> <EndX>180</EndX> <EndY>60</EndY> </Item><Item> <RoadName> 濱海一路 </Road <StartX>10</StartX> <StartY>40</StartY> (…)

地圖地圖

電子地圖電子地圖

Q&A

top related