`
mmdev
  • 浏览: 13245963 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

J2ME基础

 
阅读更多

1.j2me的技术框架是由配置,简表和厂商可选可构成的一个完整的运行环境
1.1配置:是指针对某一类设备的最小的java平台,它包括满足该类设备的虚拟机运行的最小子集和针对该设备的核心类库的最小子集主要有两种:CDC(Connected Device Configuration连接设备配置)和CLDC(connected Limited Device Configuration连接有限设置配置)
1.2简表:是架构在配置之上的规范,因此每种简表都会声明它根植于的配置种类。SUN推出两种简表:基础简表(主要配置CDC使用基础简表的可以访问完整的J2SE的特性集)和MIDP(主要配置CDLC,支持有限的J2SE类库的有限子集)。
1.3厂商可选包:指的是由厂商提供类库开发出具有特定功能的应用程序。

2.CLDC
2.1包含的功能:1)java核心语言与JAVA虚拟机的特性 2)核心java类库 3)输入/输出 4)对网络的支持 5)对安全和国际化的支持
不包含的功能:对应用程序生命周期的管理,用户界面,事件处理,高级应用程序模式(用户与程序的交互)
2.2安全模型
1)底层安全机制:主要是类验证
2)应用级别安全机制:java应用只能访问某些设备环境允许访问的类库、系统资源和其他组件
2.3类预审核机制:是在编译时进行的,主要包括:1)所有本地变量在使用前必须初始化、2)在构造对象时,其构造函数必须在该对象被使用前调用、3)每个对象的构造方法都必须调用父类的构造(要求最先调用java.lang.object的构造方法、4)本地变量、实例和静态成员在声明时指明的对象类型必须与实际赋值的类型一致
2.4CLDC的类库
1.java.long
1)jvav.long.object类没有finalize方法也没有接口CLonealbe,因此没有默认的clone方法
2)数据类型只有boolena,byte,char,integer,long,short,string
2.java.util
1)集合类只有hashtable,stack,vector,enumeration而且是直接从java.lang.object直接继承
2)date类,多个日期比较只能用equals
3.java.io
4.javax.microedition.io:定义了GCF中的类和接口,最关键的是Connector类和Connection接口,Connector类中定义了静态的方法生成特定类型的Connection接口,利用这个接口可以访问网络和各种其他设备

3.MIDP(移动信息设备简表)
MIDP的范围,提供的API有应用程序模型,用户界面支持,网络支持,持久化存储支持,声音,2D游戏,通过HTTPS和安全套接字的端对端的安全性,Midlet签名模型提供的附加安全性,应用程序的递送和安装,其他类如定时器类的异常类
移动信息设备上的应用程序在类型
MIDP型:MDIP应用程序或称为Midlet,是只使用MIDP和CLDC定义的API的应用程序。这种应用程序是针对MIDP规范开发的,是移动信息设备上使用最广泛的应用程序。
DEM特殊类型:OEM专用应用程序,依赖于一些不属于MIDP规范的类。这些应用程序不可移值。
本地型:本在类型应用程序不是用java开发的(一般是用C开发的本地系统软件程序),但运行在移动信息设备和本地操作系统上
4.搭建移动应用开发环境
4.1EclipseME提供了:多无线开发包的支持,利用向导建建J2ME Midlet Suite工程,利用应用向导创建Midlet,启动仿真器,支持Midlet的调试,OTA仿真,自动Midlet签名
4.2开发环境:JDK+Eclipse+EclipseME+Sun WTK(或Nokia/Sony...)
1).安装EclipseME插件:help->Software Update->FInd Update->Install/Update,然后选择[Search for new features to install]->[New Archived Site]选择下载的me插件文档更新即可
2).配置EclipseME组件:[windows]->[Preference]->[java]->[Build Path]->[Folders]
[Debug]->取消[Suspend Execution on uncaught Exceptions]和[Suspend Exection on compilation Errors],并装[Debut timeout]设置为15000
[J2ME]->[New Midlet Suite]选中
3).将sun wtk和EclipseME插件整合:在[j2me]->[platform]/[j2me]-[wtk Root]
5.Midlet编程基础
5.1什么是Midlet:Midlet是支持在MIDP规范的移动信息设备上运行的应用程序。他不是一个单独的文件,而是一个文件的集合,它除了必须包含一个继承自javax.microedition.midlet.Midlet的类之外,还包括此类执行时所需的其他类的资源文件。而且Midlet必须运行在MIDP实现的特定的环境中。
与Midlet有关的还有一个重要的软件--应用程序管理器,它是一个使用本地代码(c)编写的程序,负责将Midlet Suite安装到机器上执行,经及管理Midlet的生命周期。
5.2Midlet程序
1)Midlet应用程序必须继承javax.microedition.midlet.Midlet类.
2)三个抽象方法:startApp(),pauseApp(),destroyApp(),应用程序管理器通过这三个抽象方法来控制Midlet的生命周期,因此必须实现 他们
5.3Midlet的生命周期包括三个状态:暂停,激活和销毁。这三种状态是应用程序管理器通过调用Midlet的三个回调函数来实现的。当Midlet被执行时,应用管理器先调用其构造函数创建一个实例。然后在转换成激活状态。
只有应用程序管理器才能改变Midlet的状态。但是Midlet也可以间接的调用管理器来改变自己在状态。有三个函数:notifyPaused(转换到暂停),notifyDestoried(转换到销毁状态),resumeRequest(转换到激活状态)。
要注意的是由Midlet调用的状态转换函数与应用程序管理器调用的是有差别的。例:由Midle调用的nofifyPaused时不会调用pauseApp函数。所以在手动调用notifyPaused时最好先调用pauseApp()
5.4Midlet开发流程
先配置两个系统变量:
J2MEAPI=WTK_HOME/LIB
可分为:编码,编译,预审核,测试,打包,混淆,发布,下载,运行
预审核
preverify -classpath 审核类文件路径 -d 源class文件目录 输出class文件目录
打包
jar -cvf outname.jar *.class
发布到服务器上:
1).建一个.wml文件,并把这个文件和*.jad和*.jar文件考到Web服务应用目录中
<? xml version="1.0"?>
<! DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Welcome " id="main">
<p>SoftWare center:</p>
<p alige="left">
<a href="HelloJ2me.jad">
HelloJ2ME</a></p>
</card>
</wml>
2).在jad描述文件添加MIDlet-Permissions: javax.microedition.io.Connector.http
用WTK来发布应用程序
1)[New Project]在[MIDlet Class Name]中输入的与源.java文件名相同,这时把.java文件拷到工程的[src]目录中然后Build
2)将Midlet需要访问的许可添加到JAD文件中[Setting]-[Permissions]-[Midlet Permission]-[Add]-[http]
3)[Package]-[Create Package]进行打包
4)签名处理[Project]-[Sign]创建一个新的数字证书,然后[Sign Midlet Suite]
5)用OTA运行到仿真器上[Projcet]-[Run via OTA]
5.5获取应用属性信息
jar描述文件或清单文件mainifest.mf中可以包含一些与具体应用相关的属性信息,可以通过Midlet.getAppProperty()
取得,也可以取自定义的属性信息
5.6获取系统平台信息:System.getProperty()
microedition.platform:主机平台或设备的名称
microedition.encoding:默认编码格式
microedition.configuration:所支持的配置版本
microedition.profiles:所支持的简表名称
microedition.local:设备的当前地区
5.7获取内存容量
Runntime runtime=Runntime.getRunntime();
runtime.totalMemory():虚拟机的总存储存量
runtime.freeMemory()剩余存储容量

6.MIDP高级界面(LCDUI)
为了在设备上显示信息,需要取得设备的显示屏幕。Display对象代表的是移动设备显示屏幕,第个Midlet都有且仅有一个Display对象。可以通过静态方法Display.getDisplay(Midlet midlet)得到。使用高级界面时由Screen对象,低级屏幕由canvas对象。通过Display.setCurrent()方法将抽象屏幕对象绑定到当前设备屏幕上
6.1LCDUI的体系结构
[Display]
|
[Displayable]
/ /
[Ticker] -- [Screen] [Canvas]
/ / / /
[TextBox] [List] [Alert] [Form]
|
[Item]
/ / | / /
[choiceGroup][DateField] | [ImageItem][StringItem]
/ | / /
[TextField][Gauge][Spacer][CustomItem]
6.2高级用户界面编程基础
6.2.1Dispaly对象:进行用户界面的管理,负责与应用程序管理进行交互。
常用方法:
1)void callSerially(Runnable r)用来序列化事件流,使Runnable对象R的run方法在重车周期完成后马上运行
2)Displayable getCurrent()获得Midlet的当前Displayable对象
3)static getDisplay(Midlet m)获得Midlet唯一的Display对象
4)Boolean isColor()获得设备所支持的色彩信息
5)int numColors()获得设备表示的彩色数或灰度级
6)void setCurrent(Alert a Displayable d)请求设置alert对象为当前显示对象
7)void setCurrent(Displayable d)请求将Displayable对象设置为当前显示对象
8)public boolean flashBacklight(int duration)控制屏幕背景灯闪烁
9)public boolean vibrate(int duration)控制手机震动
6.2.2Displsyable对象:是在显示屏设备上显示的用户界面对象,同一时刻的应用程序只能有一个Displayable对象
1).void setCurrent(Displayable b)将Display对象绑定到显示设备上
6.2.3Ticker对象:实现了屏幕上连续滚动的滚动条或小段文本
创建Ticker对象后可以用setTicker来设置屏幕上的Ticker对象
Form.setTicker(new Ticker("测试..."));
6.3Command处理机制:Command对象就类似于普通GUI编程的按钮
Command的8种类型:BACK、EXIT、CANCEL、HELP、ITEM、OK、SCREEN、STOP
如果要响应Command命令要实现CommandListener接口的commandAction方法。并用Dispalyable对象的setCommandListener()方法来注册Command和Listener
用Command实现用户命令响应的步骤
1)创建一个Command对象; Command OK=new Command("确定",Command.OK,1)
2)将Command对象添加到From、TextBox、List、Canvas上; Displayable.addCommand(OK)
3)创建一个Command监听器,实现CommandListener接口的commandAction方法
4)调用setCommandListener来注册监听器; Displayable.setCommandListener(CommandListener lisener);
5)调用commandAction方法来对命令事件进行响应
public void commandAction(Command c,Displayable s)
{
String cmd=c.getLabel();
if(cmd.equals("确定"))
.....
else if(cmd.equals("取消"))
.....
}

6.4Screen对象:是所有高级用户界面组件都基于Screen类。在实际开发中,一般不直接用Screen对象,而是使用Screen的4个类:TextBox 、List、Alert、From。其中TextBox、List、Alert代表一个完整的抽象屏幕,不能有父容器,必须独占屏幕
6.5List组件
6.5.1Choice接口:javax.microedition.lcdui.choice接口
Choice接口的主要字段:
1)static int EXCLUSIVE:代表一次只有一个元素被选择的Choice类型
2)static int IMPLICIT :类似命令菜单或按钮的Choice类型,当某个元素被选中的时候自动触发Command事件
3)static int MULTIPLE :代表一次可以有任意个元素被选择的Choice类型

Choice接口的主要方法
1)int append(String s,Image m):追加一个元素到Choice中
2)void delete(int index):删除由index所指定的元素
3)void insert(int indxe,String s,Image m):在索引为indxe的元素后插入一个元素
4)void set(int index,String s,Image m):设置索引index元素的内容
5)int getSelectedFlags(Boolean[] r):以boolean数组的形式返回所有元素的状态
6)void setSelectedFlags(Boolean[] r):设置Choice中所有元素的状态
7)boolean isSelected(int index):返回索引为indxe元素是否被选中
8)void setSelectedIndex(int indxe,boolean selected):设置索引为indxe的元素的选中状态
9)int size():获得Choice接口的元素数目
10)Image getImage(int index):获得索引为index的元素的图像部份
11)String getString(int index)获取索引为index的元素的字符串内容

6.5.2List对象使用
List list=new List("标题",Choice.EXCLUSIVE);
list.append("内容1",null);
如果添加图像:
Image image=Image.createImage("/image.jpg");
list.app("内容1",image);
如果List对象是多选,必须循环查看选择状态用isSelect(int index)或用getSelectedFlags();

6.6 TextBox组件:用于生成一个允许用户输入和编辑文本的屏幕。
public TextBox(String title,String text,int maxSize,int constraints)
标题 初始文本 文本框最大尺寸 限制用户的输入:由TextField和TextBox类共享使用
内容限制类型:
TextField.ANY: 允许输入任何字符
.EMAILADDR: 必须输入E-Mail地址
.NUMBER: 整数
.decimal: 可以用Double.valueOF()来转换
.PHONENUMBER: 电话号码
.URL URL地址

系统属性限制类型:
TextField.PASSWD:文本以*蒙盖
.UNEDITABLE:只读不可编辑
.SENSITIVE:禁止系统通过自动完成功能存储信息
.NON_PREDICTIVE:屏蔽设备输入法的预测功能
.INITIAL_CAPS_WORD:自动将每个单词的首字母转换为大写
.INITIAL_CAPS_SENTENCE:自动将每个句子的首字母转换为大写

TextBox的主要方法
1)int getConstraints():
2)void setConstraints(int c):
3)int getMaxSize():
4)void setMaxSize(int size):
5)String getString():
6)void setString(String str):
7)int size():
8)void delete(int offset,int length):
9)void insert(char[] data,int offset,int length,int position):
10)void insert(String src,int position):
11)void setChars(cahr[] data,int offset,int length):

6.7 Alert组件:是一个显示文本和图像的普通屏幕。它通知用户出错及另外一些异常信息。一个Alert可以是模式的也可以是定时的
Alert的主要方法
1)int getDefaultTimeout():获得Alert默认的显示时间的长度
2)int getTimeout():获得Alert的显示时间长度
3)void setTimeout(int t):设置Alert的显示时间长度
4)Image getImage():获得Alert所使用的图像
5)String getString():获得Alert的文本字符串
6)AlertType getType():获得Alert的类型
7)void setImage(Image image):设置Alert所使用的图像
8)void setString(Stirng s):设置Alert所使用的字符串
9)void setType(AlertType type):设置Alert的类型
10)void setTimeout(int t)设置Alert显示的时间

AlertType类型:ALARM,CONFIRMATION,ERROR,INFO,WARNING
6.8 Form:是一个特殊的屏幕对象。本身不提供能够与用户直接交互的用户界面,而是作为一个容器容纳其他的可视组件,这些组件称为
表单元素,都是Item的了类。
Form的主要方法:
1)Form(String title):构建一个新的Form对象
2)Form(String title,Items[]):构建一个新的Form对象
3)int append(Image image / String s / Item item):为表单增加一个图像、字符串、Item对象
4)void delete(int itemnum):删除由索引itemnum指定的元素
5)item get(int itemnum):获得由索引itemnum指定的元素
6)void insert(int itemnum,Item item):插入一个元素到表单指定元素之前
7)void Set(int itemnum,Item item):用Item对象替换指定索引位置的元素
8)void setItemStateListener(ItemStateListener i):为表单设置事件监听器
9)int size():获取表单中元素的个数

6.8.1 StringItem组件:以不同的外观类型在屏幕上显示一串文字信息
StringImage(String label,String text,int appearanceMode)
标签 内容 外观:Item.PLAN(普通)/BUTTION(按钮)/HYPERLINK(超链接)
6.8.2 Item组件的命令处理机制,要实现接口ItemCommandListener的commandAction(Command c,Item i)方法
1)一个Command数组它包含关联到此Item对象上所有的Command命令,可以通过addCommand/removeCommand来添加或删除
2)一个defaultCommand变量,它指向Command数组中的一个Command命令。可以通过setDefaultCommand来设置
3)一个ItemCommandListener的引用,代表注册到此Item对象的命令监听
例:
StringItem str1=new StringItem("人事部:","负责人事管理",Item.PLAIN);
StringItem str2=new StringItem("市场部:","负责市场管理",Item.BUTTON);
StringItem str3=new StringItem("财务部:","负责财务管理",Item.HYPERLINK);

str1.addCommand(new Command("进入",Command.OK,1));
str1.addCommand(new Command("退出",Command.BACK,2));
str1.setItemCommandListener(this);

str2.addCommand(new Command("市场",Command.OK,1));
str2.addCommand(new Command("取消",Command.CANCEL,2));
str2.setItemCommandListener(this);

str3.addCommand(new Command("借款",Command.ITEM,1));
str3.addCommand(new Command("还款",Command.ITEM,2));
str3.setItemCommandListener(this);

6.8.3 ImageItem组件:MIDP中有两个类用于处理图像:Image和ImageItem。Item用于创建一个图像对象并包含高和宽以及图像是否可变等信息描述
ImageItem定义了如何显示一个图像,即图像是对中,靠左,上方等。
ImageItem(String label,Image img,int layout,String altText,int appearanceMode)
标签 图片 布局类型 图形无法显示时显示的文字 外观
外观与StringItem一样,布局类型:ImageItem.LAYOUT_LEFT、ImageItem.LAYOUT_CENTER、ImageItem.LAYOUT_DEFAULT

6.8.4 TextField组件:用来接收文本输入,与TextBox很类似,但是TextBox是多行的,TextField是单行的
更重要的是TextBox是一个完整的屏幕对象,而TextField是一个Item组件,只能被容器Form包含

6.8.5 ChoiceGroup组件:使用户可以从预先定义的一组条目中选择。与List类似。有多选和单选两种类型
ChoiceGroup(String label,int choiceType,String[] stringElem,Image[] imageElem)
标签 列表类型 标签字符数组 选项前的图标数组
例:
String[] item={"狮子头","红烧肉","宫保鸡丁"};
Image[] image={"image1","image2","image3"};
ChoiceGroup chice=new ChoiceGroup("选出你的午餐:",ChoiceGroup.MULTIPLE,item,image);
Form.append(chice);

6.8.6 Spacer组件:是一个不可见的组件,用于帮助在Form中定位其他项目的位置。只要指定每一个Spacer的宽和高,就可以用它提供
组件之间垂直和水平的间隔空间

6.8.7 DateField组件:提供了可视化地操纵在java.util.Date中定义的Date对象的方法
DateField(String label,int mode,TimeZone timezone)
标签 模式
模式:DateField.DATE_TIME(调整时间和日期)、DateField.DATE(调整日期)、DateField.TIME(调整时间)

6.8.8 Gauge组件:显示一个进度条:有两种类型交互式和非交互式
Gauge(String label,boolean interactive,int maxValue,int initialValue)
标签 类型 最大值 初始值
在MIDP2.0中添加了一个特性就是在Alert上添加Gauge组件。但要求1)必须是非交互的,2)不能同时在其他容器中,3)Gauge
的label必须为null,4)Gauge不能与Command和CommandListener关联
例:
Gauge gauge=new Gauge(null,false,max,initial)
Alert a=new Alert("label");
a.setIndicator(gauge) 把Alert和Gauge关联
Gauge gauge=a.getIndicator() 得到Gauge组件

6.8.9 获取Item组件状态:通过实现ItemStateListener接口中的itemStateChanged(Item item)方法
用setItemStateListener来注册状态变化监听

7低级用户界面
7.1 概述:两个关键类:Canvas和Graphics类。Canvas是一个抽象类,代表要绘制的抽象屏幕。为使用低层API建立用户界面必须建立Ganvas的一个子类,并实现paint方法。Graphics类的实例是作为参数传递给paint方法,它提供了设备绘图能力的入口
因此低级用户界面编程的核心任务在于:在Canvas类的paint方法中如何利用Graphics对象进行绘图操作

protected void paint(Graphics g)
{
g.setColor();
d.drawString();
}
此方法永远不会自选调用。新建一个Canvas对象时会自动调用这个方法。

7.2 Graphics绘图
void setColor():设置颜色,通过getBlue/Green/RedComponent分别得到RGB的值。或getGrayScale得到灰度值
绘图:
drawArc,Char,chars,Image....来绘制弧型,字符,字符数组,图像....

7.3 底层事件处理
7.3.1 检测支持特性
底层事件分为三类:Press Events(按键事件),Action Keys(动作事件),PointerEvents(触控事件)
键盘事件 支持 keyPressed(int keyCode)/keyReleased(int keyCode)
键盘连发 Canvas.hasRepeatedEvent
屏幕事件 支持 showNotify()
重绘事件 支持 paint(Graphics g)
支持双缓存 Canvas.isDoubleBuffered
支持触控 Canvas.hasPointerEvents
触控屏幕拖拽 Canvas.hasPointerMotionEvents

7.3.2 按键事件的处理
用来监控用户对于设备键盘的操作,方法有keyPressed,keyReleased,keyRepeated三个方法。当按键按下时会触发keyPressed方法;当松开时触发keyReleased方法;长时间按住时触发keyRepeated方法键值属性值:KEY_NUM0-9代表按键0-9,数值是48-57。KEY_STAR代表*号键数值是42,KEY_POUND代表#号键数值是35

7.3.3 触控事件的处理
触控事件处理(手写设备)的方法有pointerPressed(单击),pointerReleased(释放),pointerDragged()三个方法

7.4 屏幕事件处理
低级屏幕显示或隐藏时,将会自动触发屏幕显示或隐藏事件,并调用相应的回调方法。在Canvas显示前,MIDP会调用showNotify方法,用来在它被显示之前执行一些任务。当Canvas删除时,MIDP会调用hideNotify方法,用来执行对象删除后的工作。对于某些突发事件(比如来电)使屏幕被系统画面所覆盖的时候会调用hideNotify方法,当恢复的时候就会调用showNotify方法
Canvas有两种状态:普通状态;全屏状态(Title,Ticker,Command不会显示)。可以用setFullScreenMode来设定状态。在调用这个方法后都会调用sizeChanged这个方法。并将屏幕的高和宽作为参数传入

分享到:
评论

相关推荐

    J2ME开发大全、J2ME基础、J2ME环境搭建

    ### 三、J2ME基础 1. **MIDlet**: J2ME应用程序的核心是MIDlet,它是一个Java类,实现了生命周期管理方法。MIDlet是运行在J2ME平台上的可执行单元,类似于Java中的主类。 2. **用户界面**: J2ME提供两种UI框架:...

    J2ME 基础课件 ppt

    **J2ME基础课件PPT概述** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专门设计用于资源有限的设备,如移动电话、智能手表、数字电视等嵌入式系统。J2ME为开发这些设备上的应用程序提供了框架和API,使得...

    j2me基础讲解及代码

    本资料包“j2me基础讲解及代码”提供了对J2ME技术的全面介绍和实战示例,帮助初学者快速理解和掌握J2ME编程。 J2ME由配置(Configurations)和 profiles(Profile)组成,其中配置定义了设备的最低硬件要求,而...

    j2me基础教程PPT

    **J2ME基础教程PPT知识点详解** J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,专为资源有限的嵌入式设备和移动设备设计。本教程主要关注的是J2ME中的典型实例,如俄罗斯方块游戏和视频播放器的开发,...

    j2me基础知识及框架

    j2me 基础框架 及基础知识可以帮助入门

    j2me基础教程开发大全

    **J2ME基础教程开发大全** Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,专门设计用于在嵌入式设备、移动电话和智能家电等资源有限的环境中运行应用程序。本教程旨在为初学者提供全面的J2ME学习资源...

    J2ME基础知识及源代码

    **J2ME基础知识及源代码** Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,专门设计用于资源有限的嵌入式设备和移动设备,如手机、智能手表和家用电器。J2ME提供了在这些设备上运行Java应用程序的能力...

    J2ME基础 WTK JDK 等等

    【J2ME基础】 Java 2 Micro Edition(J2ME)是SUN公司(现已被Oracle收购)为嵌入式设备和消费电子设备开发的一个轻量级平台,它是Java技术三大分支之一,与J2SE(Java 2 Standard Edition)和J2EE(Java 2 ...

    j2me 编程 (这一本适用于没有j2me基础的人学习)

    对于没有J2ME基础的人来说,理解和掌握J2ME编程是非常重要的,因为这将为开发手机应用程序打开一扇门。 J2ME的架构基于“Connected Limited Device Configuration”(CLDC)和“Mobile Information Device Profile”...

    j2me基础知识测试题

    ### J2ME基础知识测试题解析 #### 题目1:线程模型的理解 - **题目**:关于Java线程模型的描述正确的是? - A. Java线程模型包括Runnable接口 - B. Java线程模型涉及权限管理 - C. Java线程模型在实现Runnable...

    j2me基础知识之HTTP协议

    **J2ME基础知识之HTTP协议详解** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的移动设备如手机、PDA等设计。在J2ME应用中,HTTP(HyperText Transfer Protocol)协议是实现设备间通信的重要...

    J2ME基础知识之初识蓝牙

    本文将深入探讨J2ME基础知识中的蓝牙技术,教你如何在手机上实现简单的蓝牙应用。 首先,我们需要了解J2ME中的蓝牙API,主要涉及两个包:javax.microedition.io和javax.bluetooth。`javax.microedition.io`提供了...

    j2me 基础知识总结

    j2me 的 基础知识的总结 j2me中各种基础类的介绍

    j2me基础词汇

    【J2ME基础词汇】是关于Java Micro Edition(J2ME)的学习指南,它涵盖了学习J2ME所需的基础Java知识,以及J2ME特有的限制和挑战。以下是对这些知识点的详细解释: 一、J2ME中的Java基础知识 1. Java语法基础:包括...

    J2me 基础学习 rpg游戏开发学习

    通过《J2ME RPG边学边做》和《J2ME+RPG边学边做》这两份资料,你将逐步学习并实践这些知识点,从基础到进阶,逐步掌握 J2ME 上的 RPG 游戏开发技巧。对于初学者而言,理论学习与实践相结合是最好的学习方式,不断...

    j2me 基础组件介绍

    J2ME的基础知识包括: 1. **J2ME概述**:J2ME提供了在各种小型设备上运行Java应用程序的能力。它由多个配置(Configurations)和框架(Profiles)组成,适应不同设备的需求。 2. **建立J2ME开发环境**:开发J2ME...

    J2ME基础知识

    J2ME基础知识: (1)J2ME概述 (2)建立开发环境 (3)应用程序设计

    j2me基础(简单易懂,有代码讲解)

    总结来说,J2ME的基础学习包括理解其架构、核心概念、API使用、用户界面开发、网络通信以及应用的打包与签名。通过实际的代码编写和实践,你将能够掌握开发J2ME应用程序的技能。在提供的压缩包文件中,可能包含了...

    j2me 基础中文教程

    适合初学者,作者写的比较详细,打基础,非常适合.............

    j2ME手机移动开发

    "j2ME基础DEMO"可能包含了一些基础的示例项目,比如简单的计时器应用、数字猜谜游戏或者显示网络图片的MIDlet。通过这些Demo,初学者可以直观地了解j2ME开发的基本流程,学习如何组织代码、创建UI以及与设备硬件交互...

Global site tag (gtag.js) - Google Analytics