第一篇 J2ME基础知识
第1章 J2ME简介
1.1 Java版本的演进
1.1.1 Java的演进历史
1.1.2 Java1平台
1.1.3 Java2平台
1.2 各种Java版本的定位
1.2.1 Java不同版本之间的关系
1.2.2 J2SE、J2ME、J2EE和Smart Card
1.2.3 不同Java版本的虚拟机
1.3 J2ME与手机编程的关系
1.3.1 手机编程的历史
1.3.2 手机上的Java开发平台——J2ME
1.4 Java程序开发简述
1.4.1 各种Java版本的程序开发关系
1.4.2 Java程序开发流程
1.5 J2ME简介
1.5.1 使用配置对不同设备进行抽象
1.5.2 使用框架对API进行定义
1.5.3 J2ME系统体系结构
1.5.4 J2ME已有的配置和框架
1.5.5 J2ME的技术特性
1.6 CDC、CLDC和MIDP简介
1.6.1 CDC和CLDC简介
1.6.2 典型框架简介
1.7 J2ME的一些参考网站
1.7.1 主要J2ME的Web站点
1.7.2 主要的J2ME讨论区
本章小结
习题
第2章 J2ME开发环境
2.1 JDK的安装和配置步骤
2.1.1 安装软件的过程
2.1.2 开发环境的配置
2.1.3 检查配置是否正确
2.2 第一个例子——HelloWorld.java
2.2.1 Hello World.java的源代码
2.2.2 编译、预校验和运行
2.2.3 批处理——快速开发的技巧
2.2.4 开发MIDlet的完整流程
2.3 在网络上发布MIDlet程序
2.4 使用J2MEWirelessToolkit
2.4.1 J2MEWirelessFoolkit的硬件和软件要求
2.4.2.1 2MEWirelessToolkit的安装步骤
2.4.3 在J2MEWirelessToolkit中运行例子程序
2.4.4 在J2MEWirelessToolkit中创建自己的程序
2.4.5 J2MEWTK中的模拟设备简介
2.4.6 在J2MEWTK中进行MIDlet的打包
2.5 使用Eclipse开发J2ME程序
2.5.1 Eclipse概述
2.5.2 Eclipse的安装和配置
2.5.3 使用Eclipse开发Hello World程序
本章小结
习题二
第3章 CLDC和MIDPAPI简介
3.1 CLDCMIDP开发环境
3.1.1 MIDlet简介
3.1.2 应用程序可移植性
3.2 CLDCAPI简介
3.2.1 java.lang
3.2.2 java.io
3.2.3 java.util
3.2.4 javax.microedition.io
3.3 MIDPAPI简介
3.3.1 iava.util
3.3.2 iavax.microedition.rms
3.3.3 javax.microedition.midlet
3.3.4 javax.microedition.io
3.3.5 javax.microedition.lcdui
3.3.6 MIDP中增加的功能
3.4 Hello Midlet的详细解释
3.4.1 总体运行功能
3.4.2 各部分代码功能
本章小结
习题三
第二篇 程序设计方法
第4章 J2ME的用户界面编程
4.1 J2ME界面编程概述
4.1.1 Display类和屏幕显示部件
4.1.2 典型的屏幕显示部件
4.1.3 界面设计部件的层次关系
4.2 如何使用Display类
4.2.1 获得MIDlet的Display类
4.2.2 显示Displayable部件
4.3 使用Screen类和滚动条
4.3.1 Screen类的基本属性
4.3.2 在Screen中使用滚动条
4.4 使用命令按钮响应用户操作
4.4.1 创建命令按钮
4.4.2 设置命令按钮的响应函数
4.4.3 使用命令按钮的例子
4.5 使用文本框(TextBox)输入信息
4.5.1 创建一个文本框
4.5.2 文本框的演示例子
4.6 使用报警显示(Alert)提示信息
4.6.1 两类报警:timed和modal
4.6.2 如何使用报警
4.6.3 演示报警使用的例子
4.7 向用户提供选择——列表(List)
4.7.1 生成一个列表
4.7.2 响应用户对列表的操作
4.7.3 使用列表的完整例子
4.8 显示或改变值的大小-标尺(Guage)
4.8.1 标尺的两种类型——交互标尺和非交互标尺
4.8.2 交互式标尺
4.8.3 非交互式标尺
4.9 有效地校验用户输入
4.9.1 监测部件状态的变化——Item State Listener接口
4.9.2 对用户输入的字符进行校验
4.9.3 输入电话号码的例子
4.10 处理日期和时间(Date Field)
4.10.1 使用Date Field
4.10.2 设置正确的日期和时间
4.10.3 clear Date()和combine Date Time()
4.10.4 使用日期和时间的完整例子
4.11 定时执行任务(Timer)
4.11.1 定时器——Timer
4.11.2 调度任务的方法
4.11.3 星空模拟程序
4.12 综合例子——股票价格跟踪程序
本章小结
习题四
第5章 J2ME数据库编程
5.1 RMS的表——Record Store
5.1.1 操作Record Store的方法
5.1.2 Record Store的维护信息——-Header
5.1.3 获得Record Store的其他信息
5.1.4 Record Store的限制
5.2 在Record Store中操作记录
5.2.1 添加记录
5.2.2 删除记录
5.2.3 修改一条记录
5.2.4 监视记录的改变
5.2.5 Record Store中记录号的重用问题
5.2.6 使用Record Enumeration遍历记录
5.3 创建多列表格
5.3.1 编码和解码的方法
5.3.2 多列表格的保存
5.3.3 检索多列表格
5.4 使用Record Comparator对记录进行排序
5.4.1 实现Record Comparator接口
5.4.2 数据库排序的例子
5.5 使用Record Filter查找记录
5.5.1 实现Record Filter接口
5.5.2 查找记录的例子
5.6 高效使用RMS的方法
5.6.t减少写记录次数
5.6.2 减少读记录次数
5.6.3 防止出现“抖动
5.6.4 重用数组
5.6.5 高效率使用RMS的例子
本章小结
习题五
第6章 J2ME的网络编程
6.1 J2ME的网络连接框架
6.1.1.J2ME的网络连接层次
6.1.2.J2ME支持的网络协议
6.1.3 例子:Stream Connection通信
6.2 使用HTTP协议通信概述
6.2.1 Http Connection类
6.2.2 例子:访问Web Service
6.3 使用HTTP协议发送和接收数据
6.3.1 HTTP协议通信模型
6.3.2 发送数据的方法
6.3.3 接收数据的方法
6.3.4 服务器端的程序
6.3.5 例子1:使用HTTP协议发送和接收文本数据
6.3.6 例子2:使用HTTP协议发送二进制数据
6.4 网络通信中的数据加密
6.4.1 MIDlet的安全性
6.4.2 使用加密类库
6.4.3 一个加密类——Encryptor
6.4.4 Encryptor的使用
6.4.5 数据加密的完整例子
6.5 网络通信中的常用实例
6.5.1 从Web服务器上取回一个页面
6.5.2 从移动电话上访问Servlet并获得结果
6.5.3 与Web服务器建立socket连接
6.5.4 从Yahoo获得股票信息
6.5.5 Google Map API的使用
本章小结
习题六
第7章 J2ME应用程序的性能优化
7.1 代码优化的一些基准
7.1.1 内存测试基准
7.1.2 时间测试基准
7.2 优化内存使用
7.2.1 创建和删除对象
7.2.2 字符串和字符串缓存
7.2.3 正确处理内存不足
7.3 优化代码运行速度
7.3.1 优化循环
7.3.2 使用数组代替对象
7.3.3 使用缓存I/O
7.3.4 主动清理内存
7.4 用户界面的优化
7.4.1 显示程序运行的进度
7.4.2 开发易于使用的程序
7.5 合理地打包应用程序
7.5.1 仅仅打包使用的代码
7.5.2 使用代码加密保护程序
7.6 J2ME的程序兼容性
7.6.1 J2ME的程序兼容性
7.6.2 JSR介绍
7.6.3 JSR兼容性的测试工具
本章小结
习题七
第8章 kAWT编程
8.1 在J2ME中使用kAWT
8.1.1 在J2MEWirelessToolkit中使用KAWT
8.1.2 命令行方式使用KAWT
8.1.3 Kawt Hello的分析
8.1.4 定制编译kAWT类库
8.2 kAWTAPI简介
8.3 kAWT编程例子
本章小结
习题八
第三篇 高级编程技巧
第9章 J2ME的低级用户界面设计
9.1 低级用户界面设计概述
9.1.1 屏幕显示的基础——Canvas类
9.1.2 使用Canvas类的“Hello, World!”例子
9.1.3 程序退出的方法
9.2 Happy Push——一个详细的例子
9.2.1 绘画出屏幕背景
9.2.2 响应用户操作
9.2.3 使用Image类画出图像
9.2.4 响应重复按键或指针移动事件
9.3 编写MIDlet的启动画面
9.3.1 使用报警的方法
9.3.2 使用carlvas类绘制启动画面
9.4 编写一个屏幕保护程序
9.4.1 如何实现Screen Saver
9.4.2 Screen Saver的代码
9.5 清除屏幕显示内容
9.5.1 清除屏幕的实现原理
9.5.2 清屏程序的例子
9.6 图片处理的例子
9.6.1 显示网络上下载的Png图片
9.6.2 如何实现滚动显示图像
本章小结
习题九
第10章 J2ME游戏程序设计
10.1 在移动电话上开发游戏需要讨论的问题
10.1.1 在移动电话上开发游戏的限制
10.1.2 开发游戏有利的方面
10.2 游戏编程基本技术
10.2.1 MIDlet的基本结构
10.2.2 使用Canvas对象绘制图形
10.3 响应游戏中用户的按键
10.3.1 按键事件
10.3.2 游戏按键
10.3.3 响应键盘事件
10.3.4 使用通用按键
10.4 使用重复按键简化用户输入
10.4.1 判断系统是否支持重复按键
10.4.2 模拟重复按键
10.4.3 演示重复按键的例子
10.4.4 实现连续移动
10.4.5 实现加速移动
10.4.6 演示连续移动和加速移动的例子
10.5 在程序中实现屏幕滚动
10.5.1 定时器
10.5.2 用定时器实现重复按键
10.5.3 使用定时器实现屏幕滚动
10.6 实现镜头的移动
10.6.1 屏幕滚动和镜头移动
10.6.2 镜头移动的实现
10.7 在游戏程序中绘制精灵
10.7.1 在支持透明图形的系统上实现绘制精灵
10.7.2 在不支持透明图形的系统中实现绘制精灵
10.8 井字棋的例子
10.8.1 井字棋介绍
10.8.2 源代码
10.9 网络游戏编程
10.9.1 网络游戏介绍
……
第11章 J2ME的无线消息处理
第12章 J2ME的移动多媒体程序设计
第13章 移动软件设计技术
第四篇 应用实例分析
第14章 手机日志系统的设计和实现
第15章 手机考试系统的设计和实现
附录 习题参考答案
参考文献
参考资料
展开