Eclipse實(shí)驗(yàn)報(bào)告.doc_第1頁(yè)
Eclipse實(shí)驗(yàn)報(bào)告.doc_第2頁(yè)
Eclipse實(shí)驗(yàn)報(bào)告.doc_第3頁(yè)
Eclipse實(shí)驗(yàn)報(bào)告.doc_第4頁(yè)
Eclipse實(shí)驗(yàn)報(bào)告.doc_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

南 華 大 學(xué)實(shí)驗(yàn)報(bào)告(2010年到2011學(xué)年第一學(xué)期)課程名稱: J2ME程序設(shè)計(jì) 班級(jí): 本08計(jì)算1班 學(xué)號(hào): 20084440101 姓名: 袁 潔 教師: 汪鳳麟 2010年上學(xué)期實(shí)驗(yàn)名稱: 創(chuàng)建簡(jiǎn)單的JAVA ME應(yīng)用 時(shí)間: 2010/10/21 地點(diǎn): 8棟實(shí)驗(yàn)室 一、 實(shí)驗(yàn)設(shè)備:1計(jì)算機(jī)2Eclipse環(huán)境Eclipse是一種可擴(kuò)展的開放源代碼IDE。集成開發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺(tái)。Eclipse允許在同一IDE中集成來自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。任何Eclipse插件定義的擴(kuò)展點(diǎn)都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴(kuò)展點(diǎn)。除了解由擴(kuò)展點(diǎn)定義的接口外,插件不知道它們通過擴(kuò)展點(diǎn)提供的服務(wù)將如何被使用。利用Eclipse,我們可以將高級(jí)設(shè)計(jì)(也許是采用UML)與低級(jí)開發(fā)工具(如應(yīng)用調(diào)試器等)結(jié)合在一起。 Eclipse的最大特點(diǎn)是它能接受由Java開發(fā)者自己編寫的開放源代碼插件,這類似于微軟公司的Visual Studio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。缺點(diǎn)就是較復(fù)雜,對(duì)初學(xué)者來說,理解起來比較困難。二、 實(shí)驗(yàn)?zāi)康模?.創(chuàng)建MIDlet項(xiàng)目2.檢驗(yàn)Eclipse設(shè)置3.創(chuàng)建Java Me項(xiàng)目4.添加MIDlet到項(xiàng)目5.編輯Java Me元素6.運(yùn)行與調(diào)試7.向真機(jī)發(fā)布程序三、 實(shí)驗(yàn)內(nèi)容及方法:四、 實(shí)驗(yàn)過程:1.實(shí)驗(yàn)步驟在創(chuàng)建Java Me項(xiàng)目之前,先檢查一下Eclipse設(shè)置是否完整1. Eclipse ME插件的檢查首先,檢查一下是否已經(jīng)安裝好Eclipse ME插件,成功安裝好Eclipse ME插件時(shí),可以從3個(gè)地方看到。(1) 選擇FileNewProject菜單命令,彈出New Project對(duì)話框,如圖1-1所示。 圖1-1可以看到新建項(xiàng)目的對(duì)話框中有一個(gè)J2ME選項(xiàng),這表明插件已經(jīng)安裝成功。(2) 同樣,選擇Help菜單,可以看到多出一個(gè)幫助選項(xiàng)EclipseME,如圖1-2所示。 圖1-2(3)從菜單欄中選擇WindowPreferences命令,彈出“首選項(xiàng)”對(duì)話框,如圖1-3所示??梢詮闹锌吹絁2ME的配置首選項(xiàng)。 圖1-32Eclipse的J2ME環(huán)境配置檢查Eclipse中J2ME的環(huán)境在首選項(xiàng)中進(jìn)行配置,先檢查一下Antenna設(shè)置,這個(gè)設(shè)置主要是針對(duì)J2ME項(xiàng)目開發(fā)打包用的。這里的配置情況如圖1-4所示。配置好后,接下來最關(guān)鍵的是檢驗(yàn)是否導(dǎo)入J2ME的仿真器設(shè)備,選中J2MEDevice Management,如果導(dǎo)入了設(shè)備,則可以看到其設(shè)備的列表,如圖1-5所示。 圖1-53.創(chuàng)建Java Me項(xiàng)目經(jīng)過配置檢查后,在確保配置正確的條件下,可以開始進(jìn)行Java ME項(xiàng)目創(chuàng)建的工作。在Eclipse的菜單欄中選擇NewProject命令,彈出New Project對(duì)話框,如圖1-6所示。圖1-6選中J2MEJ2ME Midlet Suite,單擊Next按鈕,進(jìn)入New J2ME Project向?qū)?,如圖1-7所示。 圖1-7在圖1-7中輸入項(xiàng)目名稱MyJ2ME,然后單擊Next按鈕,進(jìn)入Midlet Suite設(shè)置頁(yè)面,如圖1-8所示。 圖1-8在圖1-8中對(duì)Device中的Group進(jìn)行選擇,選擇“Sun Java Wireless Toolkit2.3”,Device選擇“DefaultColorPhone”。如果這兩項(xiàng)信息都沒有,那么需要單擊Manage Devices按鈕,回到環(huán)境設(shè)置界面,重新進(jìn)行配置。Jad名以工程默認(rèn)的為準(zhǔn),設(shè)置好后,選擇Next按鈕,進(jìn)入Java設(shè)置界面,如圖1-9所示。 圖1-9在圖1-9中采用默認(rèn)設(shè)置即可,然后單擊Finish按鈕,Java ME項(xiàng)目便創(chuàng)建好了。4.添加MIDlet到項(xiàng)目 通過Eclipse新建向?qū)砑有碌腗IDlet,具體操作如下。(1)從菜單欄中選擇NewOther命令,將彈出新建向?qū)?duì)話框,如圖1-12所示。 圖1-12(2)在圖1-12中選擇J2MEJ2ME Midlet,再單擊Next按鈕,將進(jìn)入J2ME Midlet創(chuàng)建界面,如圖1-13所示。 圖1-13(3)在圖1-13中輸入MIDlet類名“MyMIDlet”,其他都按圖中所示輸入即可。單擊Finish按鈕,就完成了創(chuàng)建和添加MIDlet的操作。5.運(yùn)行與調(diào)試項(xiàng)目編輯完畢,需要運(yùn)行,有3種選擇運(yùn)行配置的方法: 菜單RunRun Configurations。 單擊工具欄上的工具按鈕,選擇Run Configurations。 在J2ME工程處右擊,從快捷菜單中選擇Run AsRun Configurations。以上三種選擇方法彈出的都是運(yùn)行界面,如圖1-14所示。 圖1-14在圖1-14中選擇Wireless Toolkit Emulator,雙擊或選擇快捷菜單中的New命令,將新建一個(gè)運(yùn)行配置,如圖1-15所示。在圖1-15的Name文本框中輸入運(yùn)行配置的名稱“MyJ2ME”,在Midlet文本框后面單擊Search按鈕,彈出可供選擇的MIDlet界面,如圖1-16所示。在圖1-16中選擇所需運(yùn)行的MIDlet,單擊OK按鈕即可。運(yùn)行所編輯的MIDlet,單擊圖1-15運(yùn)行配置界面中的Run按鈕,項(xiàng)目開始編譯及運(yùn)行,并彈出仿真器,仿真器中顯示了運(yùn)行結(jié)果,如圖1-17所示。 圖1-172. 流程圖:開始進(jìn)入標(biāo)題界面按退出結(jié)束3. 源程序:package com.myj2me;/把“退出”鍵改成Stop,把“This is my first J2ME”,把“Hello”改為“Hi”。import javax.microedition.lcdui.Command;import javax.microedition.lcdui.CommandListener;import javax.microedition.lcdui.Display;import javax.microedition.lcdui.Displayable;import javax.microedition.lcdui.Form;import javax.microedition.midlet.MIDlet;public class MyMIDlet extends MIDlet private Form form;private final Command cmdStop = new Command(Stop,Command.STOP,1);private char charArray = w,e,l,c,o,m,e;public MyMIDlet() / TODO Auto-generated constructor stubform = new Form(Hi MyJ2ME);StringBuffer strBuf = new StringBuffer();for(int i=0; icharArray.length; i+)strBuf.append(charArrayi);form.append(strBuf.toString();form.addCommand(cmdStop);form.setCommandListener(new CommandListener()public void commandAction(Command arg0, Displayable arg1) / TODO Auto-generated method stubif(cmdStop = arg0)notifyDestroyed();destroyApp(true););protected void startApp()/ TODO Auto-generated method stubDisplay.getDisplay(this).setCurrent(form);protected void pauseApp() / TODO Auto-generated method stubprotected void destroyApp(boolean arg0)/ TODO Auto-generated method stub實(shí)驗(yàn)名稱: 開發(fā)帶有圖形的Java ME應(yīng)用 時(shí)間: 2010/10/21 地點(diǎn): 8棟實(shí)驗(yàn)室 五、 實(shí)驗(yàn)設(shè)備:1計(jì)算機(jī)2Eclipse環(huán)境:Eclipse是一種可擴(kuò)展的開放源代碼IDE。集成開發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺(tái)。Eclipse允許在同一IDE中集成來自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。任何Eclipse插件定義的擴(kuò)展點(diǎn)都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴(kuò)展點(diǎn)。除了解由擴(kuò)展點(diǎn)定義的接口外,插件不知道它們通過擴(kuò)展點(diǎn)提供的服務(wù)將如何被使用。利用Eclipse,我們可以將高級(jí)設(shè)計(jì)(也許是采用UML)與低級(jí)開發(fā)工具(如應(yīng)用調(diào)試器等)結(jié)合在一起。 Eclipse的最大特點(diǎn)是它能接受由Java開發(fā)者自己編寫的開放源代碼插件,這類似于微軟公司的Visual Studio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。缺點(diǎn)就是較復(fù)雜,對(duì)初學(xué)者來說,理解起來比較困難。六、 實(shí)驗(yàn)?zāi)康模菏煜?shí)現(xiàn)用戶界面的類與組件熟悉高級(jí)界面的實(shí)現(xiàn)了解Form所包含的ImageItem類低級(jí)界面的繪制七、 實(shí)驗(yàn)內(nèi)容及方法:Form窗體是Screen的一個(gè)子類,可以包含圖片、只讀文本、可編輯文本、進(jìn)度條、選項(xiàng)組以及自定義項(xiàng)目,這些都是Item類的子類。也就是說,任何一個(gè)Item子類都可以顯示在Form窗體中。而Imageltem是Form的一個(gè)子類,主要用于顯示圖片對(duì)象。本實(shí)驗(yàn)就是在Form窗體中運(yùn)用ImageItem子類顯示圖片。八、 實(shí)驗(yàn)過程:1. 實(shí)驗(yàn)步驟(1)創(chuàng)建項(xiàng)目(2)添加MIDlet架構(gòu)類(3)編譯與運(yùn)行結(jié)果2. 流程圖:開始進(jìn)入標(biāo)題界面按退出結(jié)束3.源程序:/增加了退出按鈕,改變了圖像顯示的順序與位置package ch6;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.Display;import javax.microedition.lcdui.Form;import javax.microedition.lcdui.Image;import javax.microedition.lcdui.ImageItem;import javax.microedition.lcdui.Item;import javax.microedition.lcdui.ItemCommandListener;import javax.microedition.midlet.MIDlet;import javax.microedition.midlet.MIDletStateChangeException;public class ImageItemMIDlet extends MIDlet implements ItemCommandListenerprivate Form form; private Command cmdExit = new Command(退出,Command.EXIT,1);private Command cmdImgItem1 = new Command(PLAIN,Command.ITEM,1);private Command cmdImgItem2 = new Command(Button,Command.ITEM,1);private Command cmdImgItem3 = new Command(Hyperlink,Command.ITEM,1);public ImageItemMIDlet() / TODO Auto-generated constructor stubtryImage image1 = Image.createImage(/image2.png);ImageItem imageItem1 = new ImageItem(1左對(duì)齊顯示,image1,Item.LAYOUT_LEFT,null,Item.PLAIN);imageItem1.setItemCommandListener(this);imageItem1.addCommand(cmdImgItem1);Image image2 = Image.createImage(/image1.png);ImageItem imageItem2 = new ImageItem(2居中顯示,image2,Item.LAYOUT_CENTER,null,Item.BUTTON);imageItem2.setItemCommandListener(this);imageItem2.addCommand(cmdImgItem2);Image image3 = Image.createImage(/image3.png);ImageItem imageItem3 = new ImageItem(3右對(duì)齊顯示,image3,Item.LAYOUT_RIGHT,null,Item.HYPERLINK);imageItem3.setItemCommandListener(this);imageItem3.addCommand(cmdImgItem3);imageItem3.addCommand(cmdExit);imageItem2.addCommand(cmdExit);imageItem1.addCommand(cmdExit);form = new Form(ImageItem的顯示);form.append(imageItem2);form.append(imageItem3);form.append(imageItem1);catch(Exception e)e.printStackTrace();protected void destroyApp(boolean arg0) throws MIDletStateChangeException / TODO Auto-generated method stubprotected void pauseApp() / TODO Auto-generated method stubprotected void startApp() throws MIDletStateChangeException / TODO Auto-generated method stubDisplay.getDisplay(this).setCurrent(form);public void commandAction(Command command, Item item) / TODO Auto-generated method stubif(command = cmdImgItem1)System.out.println(ImageItem Plain);else if(command = cmdImgItem2)System.out.println(ImageItem Button);else if(command = cmdImgItem3)System.out.println(ImageItem Hyperlink);實(shí)驗(yàn)名稱: 利用Eclipse開發(fā)單機(jī)游戲示例 時(shí)間: 2010/10/21 地點(diǎn): 8棟實(shí)驗(yàn)室 九、 實(shí)驗(yàn)設(shè)備:1計(jì)算機(jī)2Eclipse環(huán)境Eclipse是一種可擴(kuò)展的開放源代碼IDE。集成開發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺(tái)。Eclipse允許在同一IDE中集成來自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。任何Eclipse插件定義的擴(kuò)展點(diǎn)都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴(kuò)展點(diǎn)。除了解由擴(kuò)展點(diǎn)定義的接口外,插件不知道它們通過擴(kuò)展點(diǎn)提供的服務(wù)將如何被使用。利用Eclipse,我們可以將高級(jí)設(shè)計(jì)(也許是采用UML)與低級(jí)開發(fā)工具(如應(yīng)用調(diào)試器等)結(jié)合在一起。 Eclipse的最大特點(diǎn)是它能接受由Java開發(fā)者自己編寫的開放源代碼插件,這類似于微軟公司的Visual Studio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。缺點(diǎn)就是較復(fù)雜,對(duì)初學(xué)者來說,理解起來比較困難。十、 實(shí)驗(yàn)?zāi)康模和瓿梢粋€(gè)小型貪吃蛇游戲開發(fā),簡(jiǎn)單實(shí)現(xiàn)功能1、項(xiàng)目功能及要求1) 游戲策劃,定義游戲規(guī)則。2) 游戲規(guī)則實(shí)現(xiàn);3) 界面清晰,功能完備。4) 能在模擬器上運(yùn)行。2、 項(xiàng)目?jī)?nèi)容和要求1) J2ME手機(jī)游戲開發(fā)MIDP程序編制;2) 綜合掌握調(diào)試手機(jī)游戲程序技巧;3) 手機(jī)程序代碼優(yōu)化;4) 高級(jí)用戶界面設(shè)計(jì);5) 低級(jí)用戶界面設(shè)計(jì);十一、 實(shí)驗(yàn)內(nèi)容及方法 貪吃蛇游戲是一個(gè)經(jīng)典小游戲,一條蛇在封閉圍墻里,圍墻里隨機(jī)出現(xiàn)一個(gè)食物,通過按四個(gè)光標(biāo)鍵控制蛇向上下左右四個(gè)方向移動(dòng),蛇頭撞倒食物,則食物被吃掉,蛇身體長(zhǎng)一節(jié),接著又隨機(jī)出現(xiàn)食物,等待蛇來吃,貪吃蛇碰到自身身體游戲不結(jié)束而是咬掉自己身體的一部分繼續(xù)游戲,如果蛇在移動(dòng)中撞到墻則游戲結(jié)束(判斷蛇是否撞倒墻則蛇死,false)。程序關(guān)鍵在于表示蛇的圖形及蛇的移動(dòng)。用一個(gè)小矩形快表示蛇的一節(jié)身體,身體每長(zhǎng)一節(jié),增加一個(gè)矩形塊,不按任意鍵,蛇自行在當(dāng)前方向上前移,但按下有效方向鍵后,蛇頭朝著該方向移動(dòng),一步移動(dòng)一節(jié)身體。十二、 實(shí)驗(yàn)過程:1.實(shí)驗(yàn)步驟(1)創(chuàng)建Snake項(xiàng)目(2)添加游戲架構(gòu)類(3)編譯與運(yùn)行結(jié)果更改了背景色 蛇咬了自己的身體 撞墻則游戲結(jié)束2.流程圖:開始進(jìn)入游戲界面是否撞墻是否碰自身結(jié)束3.源程序:/修改了游戲結(jié)束判斷標(biāo)準(zhǔn),貪吃蛇碰到自身身體游戲不結(jié)束而是咬掉自己身體的一部分,更改屏幕背景顏色import java.util.Random;import javax.microedition.lcdui.Canvas;import javax.microedition.lcdui.Graphics;public class SnakeCanvas extends Canvas implements Runnable /*食物的左上角X坐標(biāo)*/private int foodX;/*食物的左上角Y坐標(biāo)*/private int foodY;/*食物的顏色值*/private int foodC;/*貪吃蛇*/private int snake = new int200*3;/*貪吃蛇食物寬度*/private final int SNAKE_W = 4;/*貪吃蛇食物長(zhǎng)度*/private final int SNAKE_H = 4;/*貪吃蛇的身體長(zhǎng)度,即包含食物的個(gè)數(shù)*/private int snakeNum;/*方向變量*/ private int direction; /*方向上*/ private final int DIR_UP = 0; /*方向下*/ private final int DIR_DOWN = 1; /*方向左*/ private final int DIR_LEFT = 2; /*方向右*/ private final int DIR_RIGHT = 3; /*Random對(duì)象,控制食物的隨機(jī)出現(xiàn)*/ Random random = new Random(); /*可選顏色值*/ private final int COLOR = 0xff0000,0x00ff00,0x0000ff,0xffff00,0xff00ff,0x00ffff,0xff000f; /*線程對(duì)象*/ private Thread thread; /*線程控制變量*/ private boolean isShow = true; /*游戲是否退出控制變量*/ private boolean isExit = false; /*屏幕寬*/ private int SCREEN_W; /*屏幕高*/ private int SCREEN_H;public SnakeCanvas() / TODO Auto-generated constructor stub/*獲取屏幕寬度和高度*/ SCREEN_W = this.getWidth(); SCREEN_H = this.getHeight();/初始化貪吃蛇的長(zhǎng)度 snakeNum = 7; for(int i = 0;i snakeNum;i+) snakei*3+0 = 100 - SNAKE_W * i; snakei*3+1 = 40; snakei*3+2 = COLORi%7; /初始化貪吃蛇的移動(dòng)方向 direction = DIR_RIGHT; /初始化食物坐標(biāo) foodX = 100; foodY = 100; foodC = 0xff; /啟動(dòng)游戲線程 thread = new Thread(this); thread.start();public void run() / TODO Auto-generated method stub while(true) /游戲邏輯控制循環(huán)體 while(isShow) /獲取每一幀的開始時(shí)間點(diǎn) long st = System.currentTimeMillis(); /游戲主邏輯控制函數(shù) main(); /刷新屏幕 repaint(); serviceRepaints(); /獲取每一幀邏輯處理完后的時(shí)間點(diǎn)與開始時(shí)間點(diǎn)之間的時(shí)間差 int ct = (int)(System.currentTimeMillis() - st); /設(shè)置游戲幀的睡眠時(shí)間 if(ct 0; i-) snakei*3+0 = snake(i-1)*3+0; snakei*3+1 = snake(i-1)*3+1; snakei*3+2 = snake(i-1)*3+2; snake0*3+0 = foodX; snake0*3+1 = foodY; snake0*3+2 = foodC; /食物被吃掉后需要生成新的食物 makeFood(); /*判斷下一步是否超出屏幕而越界,游戲結(jié)束*/ if(isGameOver() isShow = false; isExit = true; return; /*蛇身移動(dòng)過程*/ for(int i = snakeNum - 1;i 0;i-) snakei*3+0 = snake(i-1)*3+0; snakei*3+1 = snake(i-1)*3+1; /第一個(gè)單元格移動(dòng) stepX = 0; stepY = 0; switch(direction) case DIR_UP: stepY = -SNAKE_H; break; case DIR_DOWN: stepY = SNAKE_H; break; case DIR_LEFT: stepX = -SNAKE_W; break; case DIR_RIGHT: stepX = SNAKE_W; break; snake0*3+0 += stepX; snake0*3+1 += stepY; private void makeFood() /食物坐標(biāo) foodX = Math.abs(random.nextInt() % (SCREEN_W - SNAKE_W + 1) / SNAKE_W * SNAKE_W; foodY = Math.abs(random.nextInt() % (SCREEN_H - SNAKE_H + 1) / SNAKE_H * SNAKE_H; /食物顏色 foodC = COLORMath.abs(random.nextInt()%COLOR.length); /* * 判斷游戲是否結(jié)束 * 結(jié)束條件 * 1、蛇頭超出邊界 * 蛇頭碰到自身 * 1.蛇頭碰到自身游戲不結(jié)束,咬掉碰到的那節(jié)身體 */ private boolean isGameOver() /邊界判別 if(snake0*3+0 (SCREEN_W - SNAKE_W) | snake0*3+1 (SCREEN_H - SNAKE_H) return true; /碰到自身,碰到自身后游戲不結(jié)束,咬掉碰到的那節(jié)身體 for(int i = 4;i snakeNum;i+) if(snake0*3+0 = snakei*3+0 & snake0*3+1 = snakei*3+1) snakeNum=i-1; return false; protected void paint(Graphics g) / TODO Auto-generated method stub/屏幕擦除g.setColor(0x0ff00); g.fillRect(0,0,SCREEN_W,SCREEN_H); /繪制貪吃蛇 for(int i=0; isnakeNum; i+) drawSnake(g,snakei*3+0,snakei*3+1,snakei*3+2); /繪制食物 drawSnake(g,foodX,foodY,foodC);/* * 繪制貪吃蛇和食物 * param g * param x * param y * param color */private void drawSnake(Graphics g,int x,int y,int color) g.setColor(0xffffff); g.fillRect(x,y,SNAKE_W,SNAKE_H); g.setColor(color); g.fillRect(x+1,y+1,SNAKE_W-1,SNAKE_H-1); public void keyPressed(int keyCode) int action = this.getGameAction(keyCode); /改變方向 switch(action) case UP: if(direction != DIR_DOWN) direction = DIR_UP; break; case DOWN: if(direction != DIR_UP) direction = DIR_DOWN; break; case LEFT: if(direction != DIR_RIGHT) direction = DIR_LEFT; break; case RIGHT: if(direction != DIR_LEFT) direction = DIR_RIGHT; break; case FIRE: /暫停和繼續(xù) isShow = !isShow; break; 實(shí)驗(yàn)名稱: Java ME的通訊開發(fā) 時(shí)間: 2010/10/21 地點(diǎn): 8棟實(shí)驗(yàn)室 十三、 實(shí)驗(yàn)設(shè)備:1計(jì)算機(jī)2Eclipse環(huán)境Eclipse是一種可擴(kuò)展的開放源代碼IDE。集成開發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺(tái)。Eclipse允許在同一IDE中集成來自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。任何Eclipse插件定義的擴(kuò)展點(diǎn)都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴(kuò)展點(diǎn)。除了解由擴(kuò)展點(diǎn)定義的接口外,插件不知道它們通過擴(kuò)展點(diǎn)提供的服務(wù)將如何被使用。利用Eclipse,我們可以將高級(jí)設(shè)計(jì)(也許是采用UML)與低級(jí)開發(fā)工具(如應(yīng)用調(diào)試器等)結(jié)合在一起。 Eclipse的最大特點(diǎn)是它能接受由Java開發(fā)者自己編寫的開放源代碼插件,這類似于微軟公司的Visual Studio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。缺點(diǎn)就是較復(fù)雜,對(duì)初學(xué)者來說,理解起來比較困難。十四、 實(shí)驗(yàn)?zāi)康模毫私釰ava ME通訊方式熟悉藍(lán)牙通訊十五、 實(shí)驗(yàn)內(nèi)容及方法:隨著手機(jī)應(yīng)用的發(fā)展,現(xiàn)在手機(jī)大多數(shù)都配備了藍(lán)牙設(shè)備,手機(jī)之間或者手機(jī)與其他藍(lán)牙設(shè)備之間的藍(lán)牙通訊業(yè)務(wù)日益頻繁?,F(xiàn)實(shí)生活中擁有藍(lán)牙服務(wù)的手機(jī)用戶也都往往用藍(lán)牙傳送圖像,本實(shí)驗(yàn)是一個(gè)關(guān)于用藍(lán)牙傳送圖片的例子。首先,進(jìn)入連接頁(yè)面,與要向其傳送圖片的客戶進(jìn)行連接,連接好后再選擇要傳送的圖片發(fā)送即可。這個(gè)例子由入口類(DemoMIDlet)、服務(wù)器端類(GUIImageServer和BTImageServer)、客戶端類(GUIImageClient和BTImageClient)組成。十六、 實(shí)驗(yàn)過程:1. 實(shí)驗(yàn)步驟(1)創(chuàng)建Bluetooth項(xiàng)目(2)添加MIDlet架構(gòu)類(3)編譯與運(yùn)行結(jié)果 2.流程圖: 開始 退出進(jìn)入取消顯示標(biāo)題界面顯示連接提示界面顯示圖片選擇界面確認(rèn)確認(rèn)返回結(jié)束顯示圖片返回3.源程序:/*在SERVER下連接過后的菜單中增加了ENTER按鈕,按ENTER會(huì)顯示相應(yīng)的圖片 * (#)GUIImageServer.java1.3 05/04/18 * * Copyright (c) 2000-2004 Sun Microsystems, Inc. All rights reserved. * PROPRIETARY/CONFIDENTIAL * Use is subject to license terms */package ch10;import javax.microedition.lcdui.Alert;impor

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論