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

14
Shop Shop Navigator Navigator 9142005 9142005 李李李 李李李 9142021 9142021 李李李 李李李 9142034 9142034 李李李李李李李李李李李李李 李李李李李
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    235
  • download

    3

Transcript of Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授...

Page 1: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

Shop Shop NavigatorNavigator

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

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

Page 2: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

Shop Navigator ?Shop Navigator ?

?

Page 3: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

系統架構系統架構

Information.jsp

管理者介面

使用者介面

ShopMIDlet

Agent

Sender

Map

ClientServer

Page 4: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

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

登入

修改自己的商店訊息

使用者註冊

審核

是否為系統會員

開發環境: Tomcat JSP Mysql

Page 5: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

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

使用者啟動程式

透過GPS獲得位置座標

向伺服器傳送要求

商店優惠訊息

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

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

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

電子地圖資料

Page 6: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

程式架構程式架構public class ShopMIDlet

extends MIDlet implements CommandListener

private class Agentimplements Runnable

private class Senderextends Thread

private class Mapextends Canvas implements Runnable

Page 7: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

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

private int userXPosition = 100, userYPosition = 100;

Page 8: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

向伺服器傳送要求向伺服器傳送要求 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();

Page 9: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

接收並儲存優惠訊息接收並儲存優惠訊息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(…)

Page 10: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

接收並儲存地圖訊息接收並儲存地圖訊息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> (…)

Page 11: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

地圖地圖

Page 12: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

電子地圖電子地圖

Page 13: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.
Page 14: Shop Navigator 9142005 李世詠 9142021 陳冠宏 9142034 尹 川 指導老師: 黃三益教授 黃三益教授.

Q&A