410 likes | 536 Views
第一章. 移动开发入门. 课程体系. 课程目标. 学习并掌握 MIDP 应用的开发步骤 熟悉 JavaME 中 GUI ( Graphic User Interface )应用的开发思路 高级用户界面 低级用户界面 掌握 JavaME 开发中的常用技术 能够设计并实现具有简单算法的游戏程序. 本章目标. 学习移动开发的相关知识 通信技术介绍 认识智能手机 手机系统概览 了解移动开发 JavaME 入门 熟悉 JavaME 体系结构 学习搭建 JavaME 开发环境. 提问. 预习检查. 你使用什么手机,它是智能手机吗?
E N D
第一章 移动开发入门
课程目标 • 学习并掌握MIDP应用的开发步骤 • 熟悉JavaME中GUI(Graphic User Interface)应用的开发思路 • 高级用户界面 • 低级用户界面 • 掌握JavaME开发中的常用技术 • 能够设计并实现具有简单算法的游戏程序
本章目标 • 学习移动开发的相关知识 • 通信技术介绍 • 认识智能手机 • 手机系统概览 • 了解移动开发 • JavaME入门 • 熟悉JavaME体系结构 • 学习搭建JavaME开发环境
提问 预习检查 • 你使用什么手机,它是智能手机吗? • 你知道哪些智能手机操作系统?是不是所有智能手机都能运行Java程序? • 怎样为你心爱的手机编写Java程序?
移动通信技术 - 1 • 通信 • 信息沟通交换的方式 • 通信技术的发展 • 古代通信 • 邮驿通信 • 烽火 • 近现代通信 • 电磁技术(电话、电报) • 数字技术(互联网) • 无线技术(移动设备)
移动通信技术 - 2 • 通信技术中的“代” • 是一个基于信息传送方式和传输速度上的宏观而粗广划分 • 通信技术发展主要经历了 • 第一代(First Generation):1G • 第二代(Second Generation):2G • 第三代(Third Generation):3G
移动通信技术 - 3 • 1G • 是第一代移动通信标准的简称,也就是模拟式移动电话系统,自1980年代起开始使用,直至由2G数字通信取代。 • 网络特点 • 主要使用频分复用(FDMA)方式,只能进行语音通信,包括NMT(北欧),AMPS(美国和澳洲),TACS(英国) • 不足 • 收讯效果不稳定,且保密性不足,无线带宽利用不充分
移动通信技术 - 4 • 2G • 第二代手机通信技术规格的简称,以数字语音传输技术为核心 • 2G技术基本分为两种,一种是基于TDMA所发展出来的以GSM为代表,另一种则是基于CDMA规格所发展出来的cdmaOne • 网络特点 • 除支持语音通信外,还支持短信、彩信和WAP上网等技术 • 具有稳定的通话质量和合适的待机时间
移动通信技术 - 5 • 3G • 是指支持高速数据传输的蜂窝移动通讯技术,是将无线通信与国际互联网、多媒体通信结合的新一代移动通信系统。 • 3G服务能够同时传送声音(通话)及数据信息(电子邮件、即时消息等) • 能够处理图像、音乐、视频形式,提供网页浏览、电话会议、电子商务信息服务 • 网络特点: • 提供高速数据业务,速率一般在几百kbps以上(随使用环境的不同约有300k-2Mbps 左右的水平 )
手机发展史 - 1 • 全球第一部商业手机(1983) Motorola DynaTAC 8000X
手机发展史 - 2 • 第一部进入中国市场的手机(1987) 传说中的“大哥大” Motorola 3200
手机发展史 - 3 • 第一部智能手机(1999) 采用摩托罗拉公司的 “Dragon ball EZ”16MHz CPU,支持WAP 1.1 无线上网,内置PPSM(Personal Portable Systems Manager)操作系统 Motorola A6188
智能手机 • 何为智能手机? • 硬件 • 具有类似电脑的CPU、内(外)存 • 具有可以接入互联网的功能 • 软件 • 具有类似电脑的操作系统 • 可以安装或卸载软件 • 功能 • 具备普通手机的全部功能(通话、收发短信) • 包含掌上电脑(如PDA)的功能(名片夹、办公处理、媒体播放) • 通过安装软件无限扩展手机的功能
智能机操作系统 - 1 • 目前主流的智能机操作系统包括 • Symbian OS (Nokia) • iOS(Apple) • Windows Mobile(Microsoft)
智能机操作系统 - 2 • 基于Linux的开源手机操作系统 • Android(Google) • Meego(Nokia & Intel)
Symbian OS • 塞班(Symbian) • Symbian操作系统的前身是英国宝意昂公司(Psion)的EPOC操作系统,而EPOC是Electronic Piece Of Cheese取第一个字母而来的,其原意为"使用电子产品时可以像吃乳酪一样简单",这就是它在设计时所坚持的理念 • 1998年6月,诺基亚、摩托罗拉(Motorola)、爱立信(ERICSSON)、三菱(MITSUBISHI)和宝意昂(Psion)在英国伦敦共同投资成立Symbian公司。 • 采用Symbian操作系统的手机多为诺基亚和索尼爱立信生产 • 编程语言 Java C、C++
iOS • iOS • iPhone , iPod Touch 和 iPad是使用名为原名为 iPhone OS 的 iOS 的智能手机操作系统,由 Mac OS X 发展而成的 • 编程语言 • Objective - C
Android • Android • 是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,本义指“机器人” • 该平台由操作系统、中间件、用户界面和应用软件组成 • 编程语言 • Java • C、C++
MeeGo • MeeGo • 诺基亚和英特尔宣布推出一个基于Linux的平台免费手机操作系统,中文昵称米狗,它融合了诺基亚的Maemo和英特尔的Moblin平台。 • 该操作系统可在智能手机、笔记本电脑和电视等多种电子设备上运行,并有助于这些设备实现无缝集成。 • 编程语言 • C++ • QT(UI)
Windows Mobile • Windows Mobile • 是Microsoft针对移动产品而开发的精简操作系统。在Windows Mobile 6.5的发布同时,微软宣布以后的Windows Mobile产品将改名为Windows Phone,例如Windows Phone 7是微软( Microsoft)推出的一个触控操作模式操作系统 • Windows Mobile 捆绑了一系列针对移动设备而开发的应用软件,这些应用软件创建在Microsoft Win32 API的基础上,该操作系统的设计初衷是尽量接近于桌面版本的Windows。
为智能手机编写应用程序 • 移动开发 • 为移动设备设计并实现功能性程序的过程 • 移动开发的特点 • 硬件 • 屏幕大小不一 • 处理器频率不同 • 内存上的限制 • 网络能力的支持 • 软件 • 平台不统一 • 语言差异
JavaME • 什么是JavaME • 是Java平台的一个分支,即微型版(Java Platform,Micro Edition) • JavaME是一个以广泛的消费性产品为目标的高度优化的Java运行环境 • 适用于移动电话、机顶盒、汽车导航和可视电话等等
Why JavaME? • JavaME的特点 • 灵活性 • 设计小巧、模块化 • 移植性 • Java语言的跨平台特征 • 安全性 • 基于JVM定义 • 无法向除JVM之外的内存进行写入操作 • 为应用程序提供了加密的数字签名认证手段 • 广泛性 • JavaME体系的建立受到大部分移动设备厂商和运营商的支持。
JavaME的目标 • JavaME的设计目标 • 手持设备 • 个性化、可移动的 • 通常使用电池供电 • 体积和功耗都有限制 • 固定设备 • 固定使用,体积没有太大限制 • 通常有持续电源供电 • 计算能力也相对充裕
JavaME的体系结构 - 2 • 配置(Configuration) • 配置是针对某种特定设备所制定的规范,定义了具有相似硬件功能(例如电源、存储空间和网络连接等等)的设备可以运行的Java平台 • 配置的种类 • 受限连接设备(Conntected Limited Device Configuration) • 连接设备(Connected Device Configuration),简称CDC和CLDC。
JavaME的体系结构 - 3 • 配置层 • 规定所支持的Java编程语言特征 • 规定了所支持的Java虚拟机的特征 • 规定所支持的基本Java类库及其API 与JavaSE如此相似?!
JavaME的体系结构 - 3 • 虚拟机(Virtual Machine) • 针对特定配置层中虚拟机定义的具体实现 • 虚拟机实现的种类 • 连接设备(CDC) • CVM • 受限连接设备(CLDC) • KVM • K代表Kilo,即KVM所需的内存容量使用KB来衡量的 • KVM的特点 • 模块化的设计 • 实现小巧紧凑 • 灵活性强
提问 JavaME的体系结构 - 4 • 如何开发一套移动办公程序? 问题1: Configuration中提供的API太少了,用户界面、数据存储全部需要程序员自己实现 问题2: 相同设备,不同参数,如何保证应用程序的完美移植? 屏幕大小:240 × 320 屏幕大小:360 × 640
JavaME的体系结构 - 5 • 简表(Profile) • 是对“配置”的补充与完善,为开发某种特定类型设备的应用程序提供了一套完整的工具 • 简表的实现 • Java API的一个集合,例如某些简表提供了定义用户界面、输入机制和数据持久化的Java类。 • 简表的种类 • 基于CLDC的简表 • 基于CDC的简表
JavaME的体系结构 - 6 • 基于CLDC的简表 • MIDP(Mobile Information Device Profile,移动信息设备简表) • 是JavaME领域中使用最广泛的简表,它主要针对手机和其他双向移动通信设备设计,该简表在CLDC的基础上添加了网络连接、用户UI以及本地存储的能力。 • PDAP(PDA Profile,PDA简表) • PDA简表与MIDP类似,但比起移动电话,PDA具有更好的显示界面和更大的内存空间。
JavaME的体系结构 - 7 • 基于CDC的简表 • FP(Foundation Profile,基础简表) • 基础简表对CDC进行了扩展,它包含几乎所有Java 2 1.3版本的核心库。 • PBPP(Personal Basis and Personal Profile,个人基本简表与个人简表) • 个人基本简表为基础简表加入了一个轻量级的GUI框架,即增加了基本的用户交互功能。而个人简表则扩展了个人基本简表,使之支持更复杂的用户界面交互。
JavaME的体系结构 - 9 • 可选包(Optional Packages) • 提供了额外的、通用的功能 • 并不属于单独的配置或简表 • 并未定义一个完整的运行时环境,它们依靠特定的配置和简表的支持 • 常用可选包 • WMA(Wireless Messaging API) • BTAPI(Java APIs for Bluetooth) • MMAPI(Mobile Media API)
提问 JavaME开发环境 - 1 • 如何基于JavaME平台进行开发? • 代码编辑环境(IDE) • 程序运行环境(CVM或KVM) • API实现(CLDC基本API + MIDP + 可选包)
JavaME开发环境 - 2 • Eclipse Pulsar(脉冲星) • 集成了JavaME开发插件的Eclipse,为移动开发者提供的工具集成平台 • 必须把Eclipse与开发工具包关联在一起,才能编译、运行JavaME应用
JavaME开发环境 - 3 • WTK • 是Sun Java Wireless Toolkit的简称,Sun公司推出的一组用于创建 JavaME 应用程序的工具 • 组成 • 类函数库:为方便开发人员使用,WTK中已经包含了CLDC类函数库和MIDP类函数库,因此可以顺利编译MIDP应用程序。 • 帮助文件:包括WTK的使用手册和用户自定义手册。 • 范例程序:一些可以直接运行的示例程序,开发人员可以通过阅读这些示例程序学习MIDP应用开发。 • 开发工具:包括编译、打包和监视工具。
JavaME开发环境 - 4 • 目录结构
提问 总结 • JavaME体系结构由几部分组成? • 开发JavaME应用需要什么环境?