J2ME程序开发全方位基础汇总

合集下载

《J2ME程序设计》课程教学大纲

《J2ME程序设计》课程教学大纲

《J2ME程序设计》课程教学大纲一、课程基本情况开课单位:计算机与信息工程系课程编码:适用专业:软件修课方式:必须总学时:68学时考核方式:考试教材:《J2ME移动应用开发》郝玉龙北方交通大学出版社 2006.9教学参考书:《精通J2ME无线编程》,林胜利,中国铁道出版社,2004年二、课程的性质、任务和目的本课程是计算机软件专业的一门专业基础课程,重在培养学生的移动设备实践开发能力,适应软件企业的工作环境和业界标准,并和国际先进的软件开发理念保持同步。

通过本课程学习,学生应该了解并掌握J2ME技术基础,CLDC与MIDP基本概念,熟练应用J2ME技术开发基于移动设备的应用系统或游戏系统,并了解移动增值业务系统的开发基础。

学习本课程学生应达到如下要求或能力:1、掌握J2ME技术基础以及CLDC与MIDP的基本概念2、熟练应用J2ME技术编写简单应用软件系统3、熟练应用J2ME技术编写简单游戏4、了解无线增值业务(如SMS)应用系统的开发三、课程的主要内容和学时分配(一) 主要内容第1章 J2ME概述 2学时1.1 J2ME简介1.2 J2ME架构1.3 技术规范第2章 Hello World 2+2学时2.1 第一个实例2.2 J2ME程序开发流程2.3 代码解释2.4 JBuilder 9的配置2.5 使用JBuilder 9开发Hello World第3章 MIDlet和MIDlet Suite 4+2学时3.1 MIDlet概述3.2 MIDlet的打包3.3 MIDlet的生命周期3.4 MIDlet的安全管理第4章 MIDP用户界面——高级API 6+2学时4.1 MIDP用户界面概述4.2 高级API详述4.3 开发实用程序第5章 MIDP用户界面库——底层API 8+4学时5.1 Canvas类概述5.2 设备及屏幕属性5.3 基本作图属性设置5.4 基本图形操作5.5 剪切区操作5.6 输入处理5.7 多线程5.8 定制Item5.9 开发实用程序第6章 MIDP游戏编程 6+4学时 6.1 游戏API概述6.2 GameCanvas类6.3 LayerManager和Layer6.4 Sprite6.5 TiledLayer6.6 游戏设计第7章 MIDP网络编程 8+4学时 7.1 通用连接框架7.2 输入输出流7.3 HTTP协议7.4 使用HttpConnection编程7.5 Socket编程7.6 无线消息传递7.7 PushRegistry7.8 网络安全和MIDlet的签名认证第8章永久存储 4+2学时 8.1 永久存储概述8.2 RMS基础8.3 账务管理程序附录A J2ME开发基本环境设置 2+2学时 A.1 获取软件包A.2 软件包安装与配置A.3 J2ME网络资源附录B CLDC概述 2+2学时 B.1 CLDC的目标和功能B.2 CLDC 1.1与CLDC 1.0的区别B.3 CLDC的安全要求B.4 CLDC中虚拟机的变化B.5 CLDC中的类库附录C MIDP概述 2+2学时 C.1 MIDP的范围和软硬件要求C.2 MIDP的包概述C.3 MIDP的部署-Over-The-Air (OTA)C.4 MIDP程序的效率Borland认证课程介绍(二) 学时分配四、课程教学基本要求及重点1.J2ME概述了解J2ME的基本概念,开发架构以及采用的规范,掌握J2ME开发所需基本条件以及开发环境所需软件基础。

J2me的基本概念

J2me的基本概念
│J2ME核心API │ configuration层
├───────┤ CLDC
│ KVM │
├───────┤┈┄┄┄┄┄┄
│特定的硬件 │
└───────┘
图1 J2ME的CLDC&MIDP架构
4。深入理解CLDC
本节的部分内容译自J2ME White Paper,比较枯燥,但请记住,毕竟,正确的观念重于一切。CLDC的目的
不支持类实例(class instance)的终结(finalization),即不存Object.finalize ()方法。(注:finalization指的是java中提供的有别与garbage collection的另外的一种对象清理方法。具体可参看侯捷老师译的Bruce Eckel的《Thinking in Java 第二版》,可以在中下载)
CLDC的范围
·Java语言与虚拟机的特性
·核心Java类库(如ng.*, java.util.*)
·输入/输出
·对网络的支持
·对安全性的支持
·对国际化的支持
CLDC不包括的范围(即由MIDP解决的)
·对应用程序life-cycle的管理(就是指一个应用程序是如何安装,运行,删除的)
系统类
From ng:
Object, Class, Runtime, System, Thread, Runnable,
String, StringBuffer, Throwable
数据类型类
From ng:
Boolean, Byte, Short, Integer, Long, Character
DataInputStream, DataOutputStream, Reader, Writer,

J2EE基础知识

J2EE基础知识
7ቤተ መጻሕፍቲ ባይዱ
J2EE发展简史
• 1990,Green项目组创建Oak语言,这就是Java语 言的前身 • 1996年1月,Sun发布Java 1.0 • 1998年夏末又推出了Java 2.0 • 1999年,为了将Java 2的应用拓展到各个领域中, Sun推出了三个版本的Java 2平台,这就是J2ME、 J2SE和J2EE,J2EE由此诞生了
30
体系结构
J2EE .NET
数据层
JDBC、实体Bean
ODBC、
COM+ B/S模式:
业务层 会话Bean、JavaBean 表述层 B/S模式:JSP/Servlet
客户层 C/S模式:Java Swing C/S模式: Windows Forms
31
.NET的体系结构
2
课程安排
Day1: J2EE基础(XML、JAXP、RMI、JNDI) Day2: Java数据库连接(JDBC) Day3: EJB基础 Day4: 会话Bean(JTA、JTS) Day5: 实体Bean Day6: 消息Bean(JMS) Day7: Servlet Day8: JSP Day9: EJB+JSP的使用 Day10: Struts应用开发
15


• 平台供应商:提供J2EE平台,包括组件容器、平台APIs等 等; • 组件供应商:提供应用程序组件,包括HTML页面设计人 员、JSP程序员、EJB开发人员等等; • 组件装配人员:组装由组件供应商提供的组件,最后形成 EAR(Enterprise Archive)文件 • 部署人员:将装配好的组件部署到容器上; • 系统管理员:管理和配置部署好的系统; • 工具供应商:提供开发组件所使用的工具; • 系统组件供应商:提供系统组件;

第2章-J2ME开发环境的安装及配置

第2章-J2ME开发环境的安装及配置

图2-21 选择全部安装
2.4.3 配置Eclipse J2ME的环境 1.设置文件存放的路径
图2-22 填写构建路径
2.设置字符集
图2-23 设置Editors
3.添加WTK
图2-24 选择WTK
图2-25 选择WTK路径
图2-26 安装成功界面
2.4.4 Eclipse调试环境的配置
2.1 2.2 2.3 2.4 2.5
安装JDK 设置环境变量 安装Sun WTK Eclipse下开发环境的搭建 手机游戏开发平台介绍
2.1 安装JDK
JDK是Java开发工具包(Java Development Kit) 的英文缩写。它是一种用于构建在Java平台上发 布的应用程序、Applet和组件的开发环境。 JDK是一切Java应用程序的基础,所有的Java应 用程序是构建在这个之上的。它是一组API,也 可以说是一些Java Class。注意在Java 1.2之后, 这通常被称为J2SDK,即Java2 SDK。可以到 Java的官方网站/下载。
J2ME WTK初始默认的模拟器是Default Color Phone,这是一种虚拟的彩色屏幕手 机设备。
图2-12 选择模拟器
J2ME WTK提供了基本的开发库以及工具。
2.4 Eclipse下开发环境的搭建
Eclipse是一个非常著名的集成开发工具, 其自身功能强大而易用。
Eclipse的另一个非常重要的特点是其提供 了非常灵活的扩展能力。
Microsoft Smartphone用户可能会通过使 用其设备来访问公司数据或处理其他保密 事务,如基本Internet的采购。
Microsoft Smartphone将电话的特性和 PDA的典型功能融合在一起,并将它们结 合为移动电话的形式。

《手持移动设备J2ME应用开发》第4章

《手持移动设备J2ME应用开发》第4章
<MTSE1.0>
4.1.1Display类的常用函数
Displayable中MIDP1.0就定义的函数有: boolean isShown() void addCommand(Command cmd) void removeCommand(Command cmd) void setCommandListener(CommandListener l) Displayable中MIDP2.0新添加的函数有: String getTitle() public void setTitle(String s) Ticker getTicker() public void setTicker(Ticker ticker) public int getWidth() public int getHeight() protected void sizeChanged(int w,int h)
处理高级别事件
所谓的高级别事件,就是指在处理高级界面上的控件时候 需要处理的事件。每一个高级界面的Dislayable对象都有 一个相应监听器,该监听器用来监听控件是否已经被触发 了相关的事件。本小节仅仅介绍Command对象的事件开 发,其他控件的事件开发将结合相关小节的具体内容再进 行详细介绍。 要处理按钮高级别事件,程序必须继承一个命令监听器接 口类CommandListener类,具体操作如下所示: public class HelloWorld extends MIDlet implements CommandListener{ }
<MTSE1.0>
按钮、菜单编程基础
在介绍事件开发之前首先了解基本的Command(命令)编 程。Midlet的javax.Microedition.lcdui包提供了一个命令 Command类,用来进行屏幕上按钮的相关开发, Command对象既可以显示为一个与键盘特定键相关联的 按钮,又可以作为屏幕菜单的一个菜单项。由于手机程序 功能有限,因此并没有提供像Windwos程序一样的菜单控 件,而是当屏幕需要显示多个按钮的时候,自动生成一个 菜单供用户选择使用。 创建一个新的Command对象需要调用Command对象的构 造函数,构造函数的的语法如 下所示: new Command(Labels,Type,Priority);

Java基础知识总结(超详细整理)

Java基础知识总结(超详细整理)

Java基础知识总结(超详细整理)Java语⾔的特点1.⾯向对象⾯向对象(OOP)就是Java语⾔的基础,也是Java语⾔的重要特性。

⾯向对象的概念:⽣活中的⼀切事物都可以被称之为对象,⽣活中随处可见的事物就是⼀个对象,我们可以将这些事物的状态特征(属性)以及⾏为特征(⽅法)提取并出来,并以固定的形式表⽰。

2.简单好⽤Java语⾔是由C和C++演变⽽来的,它省略了C语⾔中所有的难以理解、容易混淆的特性(⽐如指针),变得更加严谨、简洁、易使⽤。

3.健壮性Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。

另外,在Java语⾔中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的⾃动收集等),有效地减少了错误,使得Java应⽤程序更加健壮。

4.安全性Java通常被⽤在⽹络环境中,为此,Java提供了⼀个安全机制以防恶意代码的攻击,从⽽可以提⾼系统的安全性。

5.平台⽆关性Java平台⽆关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束⽽在任意计算机环境下正常运⾏。

6.⽀持多线程在C++ 语⾔没有内置的多线程机制,因此必须调⽤操作系统的多线程功能来进⾏多线程程序设计,⽽ Java 语⾔却提供了多线程⽀持。

多线程机制使应⽤程序在同⼀时间并⾏执⾏多项任务,该机制使得程序能够具有更好的交互性、实时性。

7.分布式(⽀持⽹络编程)Java语⾔具有强⼤的、易于使⽤的⽹络能⼒,⾮常适合开发分布式计算的程序。

java中提供了⽹络应⽤编程接⼝(),使得我们可以通过URL、Socket等远程访问对象。

8.编译与解释共存Java语法基础标识符: ⽤来标识类名、对象名、变量名、⽅法名、类型名、数组名、⽂件名的有效字符序列。

合法的标识符:由字母、数字、下划线“_”、美元符号“$”或者“¥”组成,并且⾸字符不能是数字。

不能把java关键字和保留字作为标识符。

标识符对⼤⼩写敏感。

关键字:Java语⾔中已经赋予了特定含义的保留字: const、goto,Java版本中尚未使⽤,但以后版本可能会作为关键字使⽤变量:程序运⾏期间可以被改变的量。

J2ME程序开发全方位基础讲解汇总

J2ME程序开发全方位基础讲解汇总

一、J2M E中需要的J a v a基础知识现在有大部分人,都是从零开始学J2M E的,学习J2M E的时候,总是从J a v a 基础开始学习,而且现在讲J a v a基础的书籍中都是以J2S E来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2M E中用到的和不需要的J a v a基础知识做一个简单的说明:J2M E中使用到的J a v a基础知识:1、J a v a语法基础:包括基本数据类型、关键字、运算符等等2、面向对象的思想:类和对象的概念,继承和多态等等。

3、异常处理4、多线程J2M E中没有用到的J a v a基础知识:1、J D K中j a v a c和j a v a命令的使用2、J a v a基础中的很多类在J2M E中没有,或者类中的方法做了大量的精简。

所以建议在J2M E中熟悉类库。

3、A p p l e t、A W T、S w i n g这些知识在J2M E中根本使用不到。

简单说这么多,希望学J2M E的朋友们能少走一些弯路,不足之处希望大家积极指正和补充。

二、J2M E中暂时无法完成的功能列一些J2M E中暂时无法完成的功能,希望大家能积极补充:1、在手机中不更改代码实现移植,主要指游戏。

2、动态修改按钮文字。

3、在C a n v a s上接受中文输入。

4、操作本地资源、例如地址本、已收短信息等。

5、制作破坏性的手机病毒。

6、其他等待大家来补充。

三、J2M E的跨平台性J2M E技术源于J a v a,所以也具有J V M的优势,可以在支持J a v a的平台上进行移植,但是现在的J2M E技术在跨平台上却做的很糟糕,我们来简单看一下原因:1、手机的屏幕尺寸不一:这个主要在界面制作上。

如果你使用的是高级用户界面,比如你做的是应用开发或者用户登陆、用户注册这样的通用功能时,一般没有什么问题。

如果你使用的是低级用户界面,比如你做的是游戏,那么你就需要考虑这个问题了。

2、厂商的扩展A P I不统一:例如N o k i a的扩展A P I类库U I系列,在别的手机上或者没有实现,或者包名不同等等。

J2ME环境搭建

J2ME环境搭建

第一节游戏程序设计开发环境的搭建与配置一、开发的基本工具JDK 1.5:Sun公司的Java虚拟机,目前的版本为1.6,但是由于1.6版本会出现一些未知问题,因此,本程序开发选择JDK 1.5。

WTK 2.5:WTK 的全称是Sun J2ME Wireless Toolkit —— Sun的无线开发工具包[17]。

这一工具包的设计目的是为了帮助开发人员简化J2ME的开发过程。

使用其中的工具可以开发与 Java Technology for the Wireless Industry (JTWI, JSR 185) 规范兼容的设备上运行的j2me 应用程序。

该工具箱包含了完整的生成工具、实用程序以及设备仿真器。

本次开发选用WTK 2.5工具包。

EclipseMe插件:EclipseME是帮助开发J2ME MIDlet的Eclipse插件。

它可以帮助你轻松的把无线工具包整合到Eclipse开发环境中,使你不必再担心J2ME开发有何特殊需求,而可以把所有精力集中在应用开发上。

本文选用的插件版本为EclipseME 1.5.4,是目前的最新版本。

Nokia相关SDK。

二、开发环境的安装与配置开发工具IDE:Eclipse 3.3.1 + EclipseME 1.5.4;WTK 2.5工具包。

Eclipse是一个开放源代码的、基于Java的可扩展开发平台,Eclipse本身只是一个框架和一组响应的服务,并不能够开发什么程序[18]。

在Eclipse中几乎每样东西都是插件,实际上正是运行在Eclipse平台上的种种插件提供我们开发程序的各种功能。

同时各个领域的开发人员通过开发插件,可以构建与Eclipse 环境无缝集成的工具。

EclipseME作为一个插件,致力于帮助开发者开发J2ME应用程序。

EclipseME 并不为开发者提供无线设备模拟器,而是将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。

j2mod 的案例

j2mod 的案例

j2mod 的案例摘要:1.j2mod 的背景和概述2.j2mod 的核心功能和特点3.j2mod 的应用案例分析4.j2mod 的优势和未来发展前景正文:j2mod 是一款基于Java 语言开发的模块化框架,旨在简化Java 企业应用的开发和维护工作。

它具有高性能、轻量级、可扩展性强、易于上手等特点,因此在Java 开发领域受到了广泛的关注和应用。

j2mod 的核心功能主要包括以下几点:1.模块化:j2mod 采用了模块化的设计理念,可以将应用拆分成不同的模块,从而实现代码的模块化管理和复用。

2.配置化:j2mod 支持配置化管理,可以通过配置文件灵活地调整应用的各项参数,大大简化了应用的配置工作。

3.高性能:j2mod 采用了多种优化手段,如内存池、连接池等,有效地提高了应用的运行性能。

4.易于扩展:j2mod 提供了丰富的插件接口,开发者可以根据需要进行扩展,以满足不同的应用需求。

j2mod 在实际应用中取得了良好的效果,下面我们来看一个应用案例:某大型企业需要开发一套人事管理系统,由于系统需求复杂,开发周期紧张,因此采用了j2mod 框架进行开发。

j2mod 的模块化设计使得开发者可以快速地搭建起系统的基本框架,然后针对不同的功能模块进行开发。

同时,j2mod 的配置化管理使得系统参数的调整变得非常简单,大大提高了开发效率。

最终,该人事管理系统在规定的时间内顺利完成,并在实际运行中表现出了高性能、稳定可靠的特点。

综上所述,j2mod 作为一款优秀的Java 开发框架,具有广泛的应用前景。

它不仅可以简化应用的开发和维护工作,还可以提高应用的运行性能,降低开发成本。

J2EE全面介绍

J2EE全面介绍

J2EE全面介绍J2EE 全面简介本文从五个方面对J2EE进行了比较全面的介绍。

从J2EE的概念说起,到它的优势,到J2EE典型的四层模型,和它的框架结构,最后是J2EE十三种核心技术的一个简介。

本文分门别类的对J2EE中的服务,组件,层次,容器,API都做了比较详细的介绍,相信看完此文,读者会对J2EE有一个更清晰的认识。

一. J2EE的概念目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。

J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB (Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML 技术的全面支持。

其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。

通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。

(J2ME入门一)Eclipse配置J2ME开发环境

(J2ME入门一)Eclipse配置J2ME开发环境

第一步:Java环境配置1、安装JDK从/下载j2sdk-1_4_2_07-windows-i586-p.exe(我下的是这个,现在应该有新的版本了)安装到指定路径,如:c:\j2sdk-1_4_2_07配置环境变量:(我的电脑->属性(右键)->高级->环境变量->系统变量中配置环境变量)java_home: c:\j2sdk-1_4_2_07path: %java_home%\bin;(可以在path值的最前面加) CLASSPATH: .;%java_home%\lib\tools.jar;%java_home%\lib\dt.jar2、验证JDK是否配置成功在开始->运行->cmd里面写入java和javac分别进行测试看是否成功。

或者写一小的java程序进行测试。

第二步:安装eclipse从/下载eclipse-SDK-3.1-win32.zip和NLpack1-eclipse-SDK-3.1.1a-win32.zip(语言包,可以汉化)解压缩eclipse-SDK-3.1-win32.zip即可解压缩NLpack1-eclipse-SDK-3.1.1a-win32.zip,会得到features和plugins两个文件夹,把里面的文件分别拷贝到eclipse中相应的目录下即可。

第三步:安装J2ME SDK(WTK)WTK提供了运行J2ME应用程序所需要的库以及模拟器等,通过它可以进行程序的编译、校验、运行。

从/下载j2me_wireless_toolkit-2_2-windows.exe安装到指定路径,如:C:\WTK22第四步:安装用Eclipse开发J2ME程序的插件用Eclipse开发J2ME程序的插件是eclipseme,可以从/下载eclipseme.feature_1.5.0_site.zip打开eclipse,打开菜单help(帮助)->sofeware updates(软件更新)->find and install…(查找并安装)打开的界面如下图:点next(下一步),从new archived site…(新建已归档的站点)搜索到要安装的eclipseme.feature_1.5.0_site.zip打开的界面如下图:点finish(完成)。

13-J2ME-Java程序设计与实践教程(第2版)-杨丽萍-清华大学出版社

13-J2ME-Java程序设计与实践教程(第2版)-杨丽萍-清华大学出版社
在 destroyed状态的MIDlet必须释放所有资源并且保存数 据。如unconditional为false时,MIDlet可在接到通知后 抛出MIDletStateChangeException而保持当前状态,如 设置为true,则必须立即进入destroyed状态。
Java程序设计与实践教程—清华大学出版社
当startApp()方法被调用的时候 MIDlet进入active状态, 即运行状态。
在 active状态调用 destroyApp(boolean unconditional) 或pauseApp()方法可以使得 MIDlet进入destroyed或者 pause状态。
destroyApp(boolean unconditional)方法被调用时, AMS通知 MIDlet进入destroyed状态。
MIDlet三个状态:pause、active和 destroyed
Java程序设计与实践教程—清华大学出版社
13.1.2 MIDlet程序的生命周期
图13-2 MIDlet状态图
Java程序设计与实践教程—清华大学出版社
13.1.2 MIDlet程序的生命周期
启动MIDlet时,应用管理软件会先创建一个MIDlet实例并 使其处于pause状态
Java程序设计与实践教程—清华大学出版社
13.1.1 J2ME简介
2.J2ME体系结构
Java虚拟机 配置层(CLDC或CDC) 简表(MIDP)
图13-1 J2ME体系结构框图
Java程序设计与实践教程—清华大学出版社
13.1.1 J2ME简介
2.J2ME体系结构 KVM (Kilobyte virtual machine ):J2ME应用程序虚拟机 配置层(CLDC或CDC):KVM和Java类库的最小集合。 CLDC(Connected Limited Devices Configuration,有限连 接设备配置):第一个面向小型设备的Java应用开发规范, J2ME核心配置之一,可支持一个或多个profile。其目标为面向 小型的、网络连接速度慢、能源有限且资源有限的设备,如手 机,PDA等。 CDC(Connected Devices Configuration,连接设备配置): 主要用于运算能力相对较佳、电力供应相对充足的嵌入式装置 (如冷气机、电冰箱、电视机机顶盒)。 移动信息设备简表MIDP(Mobile Information Device Profile): 定义于CLDC上层, 补充了CLDC配置,并且提供应用程序语义和控 件、用户界面、持久存储器、网络和用于移动电话的计时器、双 通道呼叫器和其他无线电设备。MIDP应用程序被叫做MIDlet,所 有的MIDlet都包含扩展类javax.Microedition.midlet的主要类。

用手机入门J2ME

用手机入门J2ME

[J2ME预备知识]我会的东西也不多。

但我会把我会的东西教给你。

如果有说的不好的地方,也请高手指出,不吝赐教。

万分感谢。

J2ME,一般的书上都会有一大堆的名词,比如1995年sun公司创建的java语言的三大分支之一,适用于嵌入式设备,J2ME配置分为CDC和CLDC,CLDC上层的重要简表是MIDP 等等。

其实我们这里学习的J2ME简单的来说,就是手机jar软件。

比如QQ,UC浏览器,Classtraslator,Classeditor,minicommander等等。

不过对于UC和QQ这种大型软件,是公司开发的。

个人开发周期太长了。

通常我们改软,就是在别人制作好的软件的基础上修改。

(改软最高技术个人觉得是,电脑端是halo,手机端是jamsin,Disjamsin的字节码,学习JVM代码)而J2ME就是制作软件。

在新手阶段,CLDC,MIDP,Java历史,发展等等我们都不用了解太多。

我们可以从简单的源码开始学习。

J2ME的学习不象一般的改软,几天之内就能学会一种改软方法。

J2ME的学习,通常以月为单位。

一,两个月才会有成效。

同时学习J2ME也很苦。

不象大家想的那样,挥手就可以做出一个软件。

很多时候调试一个软件的一个很小的bug都得花上很长的时间。

J2ME大部分时间不是在开发软件,而是在调试软件。

也只有在调试时,发现错误,才能提高我们。

所以是否学习J2ME希望大家慎重的考虑。

如果兴趣不是很大,或者不能坚持下去,建议不要学。

因为花了大量的时间,结果只会一点,半途而废,还不如不学。

其实不会有时也是一种幸福。

还有,总是听别人说,我英语不好,不适合学习J2ME。

我可以很明确的告诉大家,在新手阶段,以及编程爱好者阶段,J2ME的开发和英语一点关系都没有。

到是和数学的逻辑思维有关系。

当然,如果后期想做个合格的程序开发员,英语还是得补的。

毕竟“出来混,迟早都要还”。

当然,后期的英语,以及基础的知识由大家自己补,这系列教程都是入门教程,只是带大家入门的。

J2ME课程阶段总结报告

J2ME课程阶段总结报告

课程学习阶段报告系别:计算机系专业:软件技术班级:软件1001姓名:学号:指导教师:张暑军J2ME程序设计项目训练一班级姓名学号联系电话E-mail开始时间结束时间教师张暑军训练内容参照给定的网站,通过表格布局方式完成单个网站的首页面制作,制作过程中的网页素材可采用原网站的素材知识内容本次训练主要掌握Html语言中各个标签的使用,以及通过Table标签进行网页布局的方法和技巧。

使得同学们能够熟练掌握HTML语言标签的使用通过训练掌握的知识内容,按照了解,熟练,掌握和精通进行描述训练总结J2ME程序设计项目训练二班级姓名学号联系电话E-mail开始时间结束时间教师张暑军训练内容每8人一个项目小组,参照给定的网站,小组中成员合作完成整个网站内容的编写,每个成员通过DIV+CSS布局方式完成自己负责的单个网站页面制作,制作过程中的网页素材可采用原网站的素材。

完成后由组长负责整合为一个完整的网站。

知识内容本次训练主要掌握Html语言中各个标签的使用,以及通过DIV+CSS进行网页布局的方法和技巧。

使得同学们能够熟练掌握HTML语言标签的使用以及通过DIV+CSS实现网页布局的应用。

为后期学习系统开发制作界面打下良好基础。

通过训练掌握的知识内容,按照了解,熟练,掌握和精通进行描述训练总结J2ME程序设计项目训练三班级姓名学号联系电话E-mail开始时间结束时间教师张暑军训练内容通过JavaScript脚本语言,在网页上实现简单的休闲游戏,游戏可包括:扫雷、五子棋、连连看、推箱子、坦克大战、扑克牌、俄罗斯方块、贪吃蛇、拼图等,也可自行选择,游戏的实现不要求完成电脑思维设计,仅单人或多人对战游戏模式即可。

知识内容学习JavaScript的应用,掌握JavaScript与Html以及CSS技术的总和应用,学习通过JavaScript以及HTML和CSS实现网页休闲游戏的基本方法和知识,训练JavaScript的应用能力,提高JavaScript的基本应用通过训练掌握的知识内容,按照了解,熟练,掌握和精通进行描述训练总结J2ME程序设计项目训练四班级姓名学号联系电话E-mail开始时间结束时间教师张暑军训练内容融合JavaScript、HTML、CSS以及JSP技术实现《学生成绩管理系统》,系统共分10个模块,根据每个小组成员人数,每个人负责设计、实现、测试、调试各自负责的模块,编写自己的相关设计文档,小组组长负责将每个成员设计完成的作品整合成为一个完整的《学生管理系统》并提交,相关要求以及内容编写范例参见PPT文档和Word文档知识内容通过项目训练,学习JavaScript、HTML、CSS和JSP技术的应用,通过训练掌握这些技术内容的综合应用方法和方式,掌握JSP整体结构实现Web应用的思路,同时了解项目开发的整个过程,通过训练,时学习项目管理知识和软件测试技术,使得同学们对项目管理知识和软件测试技术的运用,了解项目开发过程中文档编写的基本方式和方法,了解软件测试计划以及软件测试报告的编写方法。

跟我学J2ME手机应用开发——RMS相关技术及应用实例(第1部分)

跟我学J2ME手机应用开发——RMS相关技术及应用实例(第1部分)

1.1跟我学J2ME手机应用开发——RMS相关技术及应用实例(第1部分)1、RMS(Record Management System)(1)移动数据库是企业移动解决方案的基本工具移动数据库系统通常应用在诸如便携式电脑、车载设备、移动电话等嵌入式设备中,它不仅能够管理本地终端的数据与信息,而且还能连接中心数据库处理各种企业事务,满足不同行业、不同的用户在移动环境下的各种信息处理需求,大大地提高了信息的时效性。

本地查询是指所需信息存储在移动设备内的嵌入式数据库中,用户在离线模式下通过查询嵌入式数据库得到所需信息的模式。

(2)可以把RMS理解为MIDP上的简单的数据库管理系统因为在某种场合下,也许会要求程序中生成的对象在程序结束后并不立即被消灭,而是把它存储到某个地方以供我们以后取用。

但J2SE中提供的可持续存储机制如JBDC和Object Serialization API并不适合用于移动设备,所以MIDP中定义了RMS来提供这种机制。

RMS是J2ME应用程序进行持久性存储的唯一途径,而应用持久性存储可以纪录游戏的排行榜、记录用户输入的用户名和密码等方面的信息。

(3)RMS其实是轻量级的嵌入式关系数据库为了支持离线操作,移动客户必须在本地存储应用程序数据,轻量级的嵌入式关系数据库是理想的数据存储工具。

与一些线性数据存储工具如纯文本文件或J2ME的记录管理系统相比,在存储复杂的数据时,嵌入式关系数据库要有效得多;智能移动客户端的嵌入式数据库可以通过无线网络与企业数据库进行数据同步,使得嵌入式数据库的数据保持更新。

2、与持久性存储有关的概念(1)什么是持久性存储持久性存储简单的理解就是数据不因为程序的退出而丢失,而一般在程序中声明的变量都是存储在stack或者heap上的,程序退出后这些数据会被清除以释放资源。

而存储在RMS 中的数据是不会被清除的。

其中的记录存储是由各个记录组成的二进制文件,而记录是记录存储中的一个存储单元,每个记录是一个字节数组。

基于J2ME技术的手机应用软件开发技术

基于J2ME技术的手机应用软件开发技术

人 员 和 用 户 的 支 持 ,正 迅 速 成 为 最 为 流 行 的 手 机 应 用 软 件
1 引 言
随着 通 讯 技 术 的 发 展 。手 机 越 来 越 普 及 ,最 新 资 料 预 测 ,到 20 0 5年 底 ,全 球 的 手 机 用 户 将 突 破 2 0亿 大 关 。 国 内 的手 机 用 户 居 世 界 第 一 ,总 数 将 达 到 4亿 ,已 远 远 超 过 了个 人 电脑 的用 户 量 。 同 时 用 户 不 再 满 足 厂 商 固 化 在 手 机 内 的几 个 程 序 的 功 能 , 希 望 手 机 成 为 一 个 移 动 信 息 终 端 , 能下 载 程 序 并 动 行 ,实 现 各 种 以 往 只 有 P 机 才 能 实 现 的 C 功 能 。如 网上 冲浪 , 电 子 商 务 , 网上 游 戏 , 移 动 数 据 服 务 等 。手 机 游 戏 产 业 在 欧 洲 已经 初 步 形 成 了 一 个 规 模 达 数 1 0 亿 美 元 的行 业 市 场 。 随 着 无 线 互 联 网 时 代 的 逐 渐 来 临 , 开 发手 机 中 的应 用 程 序 已 成 为 一种 时 尚 ,市 场潜 力 十 分 巨 大 。
开 发 技 术 。J ME 开 发 平 台 与 其 他 技 术 相 比 ,具 有 以 下 2
特点 : ( )平 台 无 关 性 。 利 用 J v 1 a a y t
wh r” 特性 ,我 们 可 以 真 正 达 到 程 序 只要 写 一 次 ,拿 到 任 ee 何平 台 上 都 可 以 执 行 ( 然 前 提 是 必 须 要 该 手 机 厂 商 提 供 当
Jv a a应 用 程 序 而 对 设 备 或 网络 造 成 危 害 。
( ) 动 态 下 载 应 用 程 序 。手 机 与 其 他 移 动 通 讯 设 备 拥 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

J2ME程序开发全方位基础汇总一、J2ME中需要的Java基础知识现在有大部分人,都是从零开始学j2me的,学习J2ME的时候,总是从Java基础开始学习,而且现在讲Java基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的Java基础知识做一个简单的说明:J2ME中使用到的Java基础知识:1、Java语法基础:包括基本数据类型、关键字、运算符等等2、面向对象的思想:类和对象的概念,继承和多态等等。

3、异常处理4、多线程J2ME中没有用到的Java基础知识:1、jdk中javac和java命令的使用2、Java基础中的很多类在J2ME中没有,或者类中的方法做了大量的精简。

所以建议在J2ME中熟悉类库。

3、Applet、AWT、Swing这些知识在J2ME中根本使用不到。

简单说这么多,希望学J2ME的朋友们能少走一些弯路,不足之处希望大家积极指正和补充。

二、J2ME中暂时无法完成的功能列一些J2ME中暂时无法完成的功能,希望大家能积极补充:1、在手机中不更改代码实现移植,主要指游戏。

2、动态修改按钮文字。

3、在Canvas上接受中文输入。

4、操作本地资源、例如地址本、已收短信息等。

5、制作破坏性的手机病毒。

6、其他等待大家来补充。

三、J2ME的跨平台性J2ME技术源于Java,所以也具有JVM的优势,可以在支持Java的平台上进行移植,但是现在的J2ME技术在跨平台上却做的很糟糕,我们来简单看一下原因:1、手机的屏幕尺寸不一:这个主要在界面制作上。

如果你使用的是高级用户界面,比如你做的是应用开发或者用户登陆、用户注册这样的通用功能时,一般没有什么问题。

如果你使用的是低级用户界面,比如你做的是游戏,那么你就需要考虑这个问题了。

2、厂商的扩展API不统一:例如Nokia的扩展API类库UI系列,在别的手机上或者没有实现,或者包名不同等等。

3、手机平台上实现的bug:例如Nokia的7650在实现双缓冲上有bug,那么在这种机型上运行的软件就不能使用双缓冲。

其他NOKIA上的一些bug,可以参看:/Mailbomb/archive/2005/03/24/329123.aspx4、手机性能问题。

不同手机的可用内存、最大jar文件都有要求,例如Nokia S40的大部分手机支持的最大jar文件为64K,最大可用内容为210K。

所以现在的手机软件,特别是游戏都提供支持的机型列表,也才有了手机游戏移植人员的存在。

四、学习J2ME可以从事的工作种类现在J2ME技术可以说相当的火暴,这里介绍一些学好了J2ME之后可以从事的工作的种类:1、J2ME游戏开发人员根据游戏策划或者文档要求,在某种特定的机型(以Nokia S40或S60居多)开发游戏程序。

这是现在大部分J2ME程序员从事的工作。

需要熟练掌握:高级用户界面、低级用户界面、线程,如果是网络游戏,还需要熟练网络编程。

2、J2ME应用开发人员现在的移动应用还不是很多,但是还是出现了一些,特别是移动定位以及移动商务相关的内容。

需要熟练掌握:高级用户界面、线程和网络编程。

3、J2ME游戏移植人员参照源代码,将可以在一个平台上可以运行的游戏移植到其他平台上去。

例如将Nokia S40的游戏移植到S60上,或者索爱的T618等等。

主要是控制屏幕坐标,有些可能需要替换一些API。

需要熟悉各平台之间的差异以及相关的技术参数,比如屏幕大小、最大jar文件尺寸等等。

五、J2ME程序设计的几个原则1、使用面向对象编程。

虽然使用面向过程编程可以减小文件的尺寸,但是为了以后维护的方便和利于扩展,还是要使用面向对象编程。

2、使用MVC模式将模型、界面和控制分离。

现在很多的程序将三者合一,但是如果你做的程序比较大的话,还是建议你进行分离。

3、自动存储用户设定使用RMS来存储用户的信息,例如存储用户上次输入的用户名、密码、用户对于系统的设定等,这样不仅可以减少用户的输入,而且对用户友好。

很多程序甚至做了自动登陆等。

4、一些系统设置允许用户关闭。

如背景音乐、背景灯显示等。

5、将低级用户界面的绘制动作放在一个独立的线程里面去。

6、在需要大量时间才能完成的工作时,给用户一个等待界面。

六、从模拟器到真机测试对于J2ME开发者来说,模拟器给我们带来了很多方便,比如可以在模拟器中调试程序以及很方便的察看程序的效果,但是模拟器也给我们带来了一些问题,比如模拟器实现的bug等等,所以进行真机测试是必须的。

1、为什么要进行真机测试?因为模拟器程序可能存在bug,以及真机的性能有限,所以必须进行真机测试。

2、如何将程序传输到机器中?将程序传输到机器中有如下方式:a)OTA下载b)使用数据线传输c)红外传输d)蓝牙你可以根据条件,选择合适的方式。

3、真机测试主要测什么?真机测试的内容很多,主要测试以下几个方面:a)程序的功能b)程序的操作性,是否易操作c)程序的大小,比如Nokia S40系列的手机大部分接受的最大文件尺寸为64Kd)程序运行速度,速度是否可以忍受。

七、从WTK到厂商SDK对于J2ME爱好者来说,基本上大家都是从SUN的WTK(J2ME Wireless Toolkit)开始的,但是对于实际应用来说,仅仅使用WTK是远远不够的,所以在学习过程中,必须完成从WTK到SDK的跨越。

1、厂商SDK的下载地址?/Mailbomb/archive/2005/01/01/236606.aspx2、厂商SDK和WTK有什么不同?厂商SDK最简单的理解就是在WTK的基础上增加了自己的模拟器和自己的扩展API。

也就是说,你在使用厂商的SDK时,可以使用厂商的扩展类库,例如Nokia的UI类库,和厂商自己的模拟器而已。

每个厂商的扩展API都不多,而且不尽相同。

3、如何使用?有些厂商SDK的使用都和WTK相同,例如SamSung。

Nokia提供了独立的界面来开发,但是这个界面在实际开发中使用不多。

4、厂商SDK的问题厂商SDK实现过程中,有一些bug,而且和真机实现不一致。

例如NOKIA的混音播放问题等等。

八、在J2ME中获得手机IMEI的方法IMEI是Internation mobile entity identification的简称,在手机中输入*#06#可以显示该数字,长度为15位,全球唯一,永远不会冲突,所以可以作为识别用户的一个标志。

下面是在J2ME中获得IMEI的方法:1、MOTO系列的手机可以通过读取系统的IMEI属性获得,代码如下:String imei = System.getProperty("IMEI");2、SIEMENS系列的手机可以通过读取系统的com.siemens.IMEI属性获得,代码如下:String imei = System.getProperty("com.siemens.IMEI");九、J2ME网络连接中显示问题的解决办法在网络编程中,有些时候会出现一些在没有接收到网络数据就显示界面的,造成界面显示不符合要求(例如公告显示,会先显示公告的背景图片再显示公告信息),这里提一个简单的解决办法给大家:解决这种情况的方法分成三个步骤:1、在需要显示的界面中,调用发送网络数据的方法。

每次显示时调用该构造方法,不调用Display的setCurrent方法显示。

2、显示等待界面(例如进度条等),给用户提示,在进行网络连接。

3、在处理网络反馈的数据完以后,调用Display的setCurrent方法显示显示当前界面。

十、增强J2ME的String能力——分割字符串从JDK1.4以后,String类中新增了split方法来实现字符串的分割,但是在J2ME中却没有该方法(MIDP2.0中也没有实现),但是在实际使用过程中,有些时候的确要用到这种操作,这里将我以前实现的一段代码和大家共享:/*** 分割字符串,原理:检测字符串中的分割字符串,然后取子串* @param original 需要分割的字符串* @paran regex 分割字符串* @return 分割后生成的字符串数组*/private static String[] split(String original,String regex){//取子串的起始位置int startIndex = 0;//将结果数据先放入V ector中V ector v = new Vector();//返回的结果字符串数组String[] str = null;//存储取子串时起始位置int index = 0;//获得匹配子串的位置startIndex = original.indexOf(regex);//System.out.println("0" + startIndex);//如果起始字符串的位置小于字符串的长度,则证明没有取到字符串末尾。

//-1代表取到了末尾while(startIndex < original.length() && startIndex != -1){String temp = original.substring(index,startIndex);System.out.println(" " + startIndex);//取子串v.addElement(temp);//设置取子串的起始位置index = startIndex + regex.length();//获得匹配子串的位置startIndex = original.indexOf(regex,startIndex + regex.length());}//取结束的子串v.addElement(original.substring(index + 1 - regex.length()));//将Vector对象转换成数组str = new String[v.size()];for(int i=0;i{str[i] = (String)v.elementAt(i);}//返回生成的数组return str;}十一、J2ME在低级用户界面上分行显示文字在J2ME的低级用户界面开发中,经常会遇到需要在Canvas上显示大量的文字,例如关于界面、游戏说明、游戏公告等信息。

如果在设计时,将文字的内容和长度都固定,既不利于修改也不利于维护。

下面介绍一个简单的方法,实现一个简单、可维护性强的方式。

实现方法:1、将需要显示的所有信息做成一个字符串。

2、编写一个将该字符串按照要求转换为字符串数组的方法。

3、将转换后的数组以循环的方式显示在Canvas上。

相关文档
最新文档