游戲之道
文不在多 有用就行
posts - 5, comments - 14, trackbacks - 0, articles - 1
BlogJava
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
從“傻X”到牛X——基礎篇(一)準備工作
Posted on 2009-04-26 16:16
Silver Wong
閱讀(498)
評論(0)
編輯
收藏
所屬分類:
J2ME游戲開發
一、什么是J2ME
J2ME
:Java 2 Micro Edition。JAVA的微型版,用其編寫的程序可用于安裝有KVM的小型設備上。
KVM
:Java平臺上最小的虛擬機,用于CLDC配置的虛擬機。
CLDC
:Connected Limited Device Configuration,有限連接設備配置。它是JAVA定義的一種規范。CLDC定義的硬件參數是,512KB以下的內存,有限能源供應(一般指電池),有限網絡連接,簡單用戶界面,16或32位處理器。CLDC就是用于滿足上述條件的設備上。
我們現在的手機一般都遠遠超過了上述設備條件。(別拿2000年前的產品和山寨機說事兒。)
所以,很多手機上都配備了
CDC
(Connected Device Configuration 連接設備配置),CDC又是怎么會事呢?它同CLDC一樣,是一種規范,只不過在硬件上的參數條件都高級CLDC。
CDC的參數為,2MB以上內存,具有網絡連接能力,32位或64位處理機。這樣配備的手機顯然可以運行的游戲,要比CLDC上的強得多。
MIDP
:它基于CLDC,為我們開發移動設備應用程序提供了一些必要的API。
MIDlet套件
:由MIDP提供,我們要開發手機游戲,都要基于它。等下用到就知道了。
上面有一堆概念,怕麻煩的同學只需要記住一點,
我們開發J2ME應用程序時,主類都要繼承MIDlet類
就行了。我們今天的目標是
寫一個能在手機上運行的HelloWorld
。
二、開發環境的搭建
在
掃盲篇(一)
里,我們已經下載安裝了WTK和Eclipse,現在我們要做的就是整合他們,并構建一個基于Eclipse的開發環境。
1.下載
EclipseMe
插件。我認為EclipseMe是目前在Eclipse平臺上開發J2ME最好插件。目前最新版本是eclipseme.feature_1.7.9。點擊
eclipseme.feature_1.7.9_site.zip
進行下載。
2.打開Eclipse,選擇Help——Software Updates
出現一個標題欄為Software Updates Add-ons的對話框。點擊右邊的Add Site按鈕。
再點Archive按鈕
選擇剛才下載的
eclipseme.feature_1.7.9_site.zip
,再點OK。
這時,剛才的Software Updates Add-ons對話框中會多出來一項
(上面的圖中,由于我已經安過EclipseMe,所以先截圖時就已經有這一項了。)
選中EclipseMe這一項,點右上角的Install開始安裝。安裝完后會要求重啟Eclipse。
重啟后,我們按Ctrl+N新建,會多出J2ME這一項。
別慌,配置還沒完,先取消掉。我們還要把WTK整合進來。Window——Preferences。
選中左邊的J2ME,再填寫WTK的安裝路徑。
再設置Device Management,點Import。
查找目錄填WTK安裝路徑下的bin目錄,點擊Refresh。會出現如下圖的四種虛擬手機設備,最后Finish。
到此,我們的J2ME開發環境就搭建好了。現在開始正式進入J2ME HelloWorld的編寫。
三、HelloWorld
1.Ctrl+N 新建一個J2ME MIDlet Suite,看清楚,是MIDlet Suite。
2.填入工程名稱。
3.選擇設備,這里我們選默認的彩屏手機。
4.Finish。
這樣,我們一個J2ME的工程就建好了。
現在新建一個J2ME MIDlet。(這次是MIDlet了)
去掉TODO標簽,默認代碼如下:
Java代碼
import
javax.microedition.midlet.MIDlet;
import
javax.microedition.midlet.MIDletStateChangeException;
public
class
Hello
extends
MIDlet {
public
Hello() {
}
protected
void
destroyApp(
boolean
arg0)
throws
MIDletStateChangeException {
}
protected
void
pauseApp() {
}
protected
void
startApp()
throws
MIDletStateChangeException {
}
}
我們可以看出,這就是一個普通的類, 只不過繼承父類MIDlet。
destroyApp(),pauseApp(),startApp()是由MIDlet給我們提供的三個抽象方法。
說到這里,我們有必要先了解一下J2ME程序運行的三種狀態。
暫停狀態(Paused),運行狀態(Actived)和終止狀態(Destoryed)。
程序運行,首先進入startApp()方法里,此時程序是運行狀態。
當有電話來了或人為將游戲暫停時,程序進入pauseApp(),此時程序是暫停狀態。
當退出程序時,程序會調用destroyApp(),然后中止。
值得一提的是,程序開始運行時,第一個狀態并不是運行狀態,而是暫停狀態,不過只暫停了很短暫的時間,程序就開始調用startApp(),進入運行狀態。
我們現在來寫一段HelloWorld的代碼。
Java代碼
/**
* javax.microedition.lcdui包 中包含了液晶顯示屏用戶界面的一些類。
* UI操作少不了它。
*/
import
javax.microedition.lcdui.Display;
import
javax.microedition.lcdui.Form;
import
javax.microedition.midlet.MIDlet;
import
javax.microedition.midlet.MIDletStateChangeException;
/**
* 繼承了MIDlet的類將成為J2ME應用程序的入口類,
* 入口方法也不在是以前J2SE的main()方法。
*/
public
class
Hello
extends
MIDlet {
Form f;
//聲明一個窗體
Display d;
//聲明一個顯示對象,也可以稱為屏幕控制對象吧。
/**
* J2ME程序一定要在構造函數中初始化數據。
* 不要寫在startApp()里,因為從暫停狀態回到運行狀態時會調用startApp()方法
*/
public
Hello() {
f =
new
Form(
"Hello"
);
//新建一個標題為Hello的窗體對象
f.append(
"Hello World"
);
//在窗體中增加一個"Hello World"字符串
d = Display.getDisplay(
this
);
//獲得顯示對象
}
protected
void
startApp()
throws
MIDletStateChangeException {
/**
* 程序開始運行時,用顯示對象的setCurrent()方法,來確定顯示哪一個窗體。
* J2ME應用程序不像我們PC上的應用程序可以顯示多個窗體,
* J2ME一次只能顯示一個窗體。
*/
d.setCurrent(f);
}
protected
void
destroyApp(
boolean
arg0)
throws
MIDletStateChangeException {
System.out.println(
"Bye bye!!"
);
//程序退出時,控制臺輸出"Bye bye!!"
}
protected
void
pauseApp() {
}
}
我們現在點擊運行按鈕的下箭頭,選擇運行設置
再選中左邊的Wireless Tookit Emulator,點擊"新建"按鈕,此時,會多出一個"New configuration"的設置。
選中"New configuration",開始設置,運行。
運行效果如下:
細心的同學可能發現了,退出程序后,控制臺怎么沒輸出"Bye bye!!"啊?
再好好看看手機模擬器上那個退出按鈕,對,那根本就不是正常退出,而是關機鍵……
那自然是沒有觸發destroyApp()方法。關于怎樣觸發,我們下次再講。不過今天的內容還沒完,我們的最終目標是
讓它能在正真的手機上運行
,那么,還差什么?當然是能在手機上安裝的 .jar 文件。
反鍵點工程名——J2ME——Create Package.
在工程根目錄的deployed目錄下就會生成一個J2ME01.jar 有興趣的同學拿到手機上去試驗一下吧。嘿嘿,可是不能正常退出哦。
本文出自Silver Wong的博客:http://www.tkk7.com/conanwsz
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
博客現在已經搬家到http://www.neegou.com
從“傻X”到牛X——基礎篇(一)準備工作
從“傻X”到牛X——掃盲篇(二)JAVA的基本語法(一)
從“傻X”到牛X——掃盲篇(一)JAVA的基本概念
從“傻X”到牛X——寫在最前面的話
Powered by:
BlogJava
Copyright © Silver Wong
日歷
<
2009年4月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
公告
本BLOG以J2ME游戲開發為主,歡迎大家一起討論。
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
J2ME游戲開發(5)
隨筆檔案
2011年4月 (1)
2009年4月 (5)
文章分類
J2ME游戲開發
搜索
最新評論
1.?re: 從“傻X”到牛X——掃盲篇(二)JAVA的基本語法(二)
終于出來了。。
--Stan
2.?re: 從“傻X”到牛X——掃盲篇(一)JAVA的基本概念
評論內容較長,點擊標題查看
--Silver Wong
3.?re: 從“傻X”到牛X——掃盲篇(一)JAVA的基本概念
評論內容較長,點擊標題查看
--Silver Wong
4.?re: 從“傻X”到牛X——掃盲篇(一)JAVA的基本概念
哥哥啊,你給的jdk和wkt的下載路徑都不對啊,我最后是上了sun和java的官方網站才下到的,一個15mb,一個69mb。
--liudongtnt@163.com
5.?re: 從“傻X”到牛X——掃盲篇(一)JAVA的基本概念
評論內容較長,點擊標題查看
--liudongtnt@163.com
閱讀排行榜
1.?從“傻X”到牛X——掃盲篇(一)JAVA的基本概念(648)
2.?從“傻X”到牛X——基礎篇(一)準備工作(498)
3.?從“傻X”到牛X——掃盲篇(三)JAVA的基本語法(二)(395)
4.?從“傻X”到牛X——掃盲篇(二)JAVA的基本語法(一)(316)
5.?從“傻X”到牛X——寫在最前面的話(256)
評論排行榜
1.?從“傻X”到牛X——掃盲篇(一)JAVA的基本概念(6)
2.?從“傻X”到牛X——寫在最前面的話(4)
3.?從“傻X”到牛X——掃盲篇(二)JAVA的基本語法(一)(3)
4.?從“傻X”到牛X——掃盲篇(三)JAVA的基本語法(二)(1)
5.?博客現在已經搬家到http://www.neegou.com(0)
主站蜘蛛池模板:
免费在线观看的网站
|
久久免费福利视频
|
毛片a级毛片免费观看品善网
|
国产aa免费视频
|
亚洲日韩AV无码一区二区三区人
|
免费看片在线观看
|
亚洲人和日本人jizz
|
一二三四免费观看在线电影
|
在线观看片免费人成视频无码
|
久久精品国产亚洲5555
|
XXX2高清在线观看免费视频
|
亚洲欧洲日本在线
|
精品国产免费一区二区三区香蕉
|
亚洲精品色在线网站
|
日本v片免费一区二区三区
|
校园亚洲春色另类小说合集
|
亚洲国产综合无码一区二区二三区
|
亚洲制服丝袜第一页
|
国产视频精品免费
|
特级做a爰片毛片免费看
|
亚洲一区精品无码
|
少妇无码一区二区三区免费
|
亚洲乱码中文论理电影
|
在线观看永久免费视频网站
|
成人特级毛片69免费观看
|
国产亚洲精久久久久久无码
|
足恋玩丝袜脚视频免费网站
|
国产精品久久亚洲不卡动漫
|
国产91久久久久久久免费
|
好久久免费视频高清
|
亚洲AV无码乱码麻豆精品国产
|
永久久久免费浮力影院
|
国产亚洲精品免费视频播放
|
67pao强力打造67194在线午夜亚洲
|
无码永久免费AV网站
|
一级毛片aa高清免费观看
|
亚洲明星合成图综合区在线
|
免费一级毛片免费播放
|
先锋影音资源片午夜在线观看视频免费播放
|
亚洲人成综合在线播放
|
亚洲国产激情一区二区三区
|