




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能手机软件开发小议,使用J2ME进行手机编程,主讲人:吴佳磊dwdghwjl,兰州理工大学苹果俱乐部内部讲座课件,Agenda,智能手机开发概述认识J2ME及WTK套件Eclipse_For_J2MEJ2ME中常用类的介绍程序Demo演示,智能手机开发概述,智能手机公式表示:“智能手机=掌上电脑+手机”广义上讲,智能手机就是将PDA的大部分功能,特别是个人信息管理和基于无线数据通信的网页浏览和邮件收发功能,集成到手机终端中得到的新型概念手机智能手机的特点:便携性、可扩展性、可定制性、功能多样性、可实现增值业务,SmartPhones,一则来自BBC的市场调查信息:十年之前的SmartPhone市场,我们可以看到的智能手机界面都类似于黑莓手机如今的智能手机市场中,充斥着更多厂家的手机,但是它们看上去都像是iPhone这说明什么呢?显而易见,苹果公司在智能手机的市场上拥有绝对的优势,引领了整个行业的潮流作为苹果的开发者,我们可以引以为荣!,为何要进行智能手机的开发?广泛的用户群体(中国有过5亿手机用户)众多设备制造商(如Nokia,MOTO,Apple等)及国内主要的网络运营商(中国移动、中国联通、中国电信等)都在积极开拓者一块处女地,并提供良好的SDK支持已经比较成熟的运作模式,即从创意、研发、发布、经营到后期维护的运营平台和一条龙服务模式,包括各种手机的App商城,补充内容,对于在特定几个智能手机品牌下进行开发,可以在相应的官方网站上了解相关信息和下载开发资源包(包括开发使用的API和测试模拟器等,通常免费)AppleNokiaMoto,智能手机开发必备条件开发环境:这里选择使用Java的ME版本进行手机的开发,需要配置JDK和JRE手机功能API的支持:我们这里使用SUN公司自带的WTK,其中包含了CLDC信息、MIDP包和一款SUN公司研发的通用手机模拟器IDE编译窗口,可使用Eclipse或NetBeans,并在其中绑定J2ME和WTK此外,还需要准备后期测试的真实手机平台,认识J2ME和WTK套件,什么是Java?Java是一种面向对象、可移植并被视为优于C语言(仍然有争议)的编程语言什么是J2ME?全称为JavaMicroEdition,是Java的微型版本,主要用于进行智能终端和嵌入式环境的开发。例如,高级汽车的智能控制软件,智能家电的控制软件等,Java是一个非常广泛的概念。主要包括三种版本,分别称为J2ME、J2SE、J2EE。其中J2SE是其它两种Java版本运行的基础有关J2EE的相关知识后续讲座会涉及,Table1.基本Java开发环境的组成,JAVA,J2ME,J2SE,J2EE,(Java家族中的标准版本,仅需要最基本的环境配置,开发桌面环境下的软件使用,提供Java的开发及调试环境、Java虚拟机等组件),(Java家族中的服务器版本,主要是用于在服务器端提供由Java开发出的动态网页及后台小程序的运行环境。除了JRE环境之外,还需要服务器端的支持,如NetBean或者Apache等),(Java家族中的微型版本,主要用于智能终端的开发,例如手机、智能家电控制、机顶盒等。除了JRE之外,还需要支持移动终端各种功能额外API的支持),WTK(WirelessToolKit)确切的讲,这是一个API的集合,由SUN公司提供的,包含CLDC和MIDP配置信息,还包括手机模拟器在其中主要内容:11个Java相关包,每个包内还有相关的类(具体后面介绍)几个需要了解的相关概念:CLDC、CDC、MIDP等,名词术语解释,CLDC(ConnectionLimitedDeviceConfiguration),即有限连接设备配置信息,如手机、汽车主板就属于这一类CDC(ConnectionDeviceConfiguration),即连接设备配置信息,如机顶盒、智能冰箱等就属于这一类Tip:两者的区别其实就是电源供电模式不同MIDP(MobileInformationDeviceProfile),即移动信息设备配置文件,它专指移动CLDC设备的配置文件,例如手机的启动、初始化信息等,补充信息,手机的内嵌Java运行环境体系,OptionalPackets,Profile,Configurations,JavaVirtualMachine,EmbededHostOS,手机厂商为自己的产品研发的功能API,MIDP,即通用的一般性手机功能API,CDC/CLDC配置文件,类似于固件信息,写入固件中的Java虚拟机,手机厂商为自己的产品研发的操作系统,Eclipse_For_J2ME,开始之前所谓IDE,就是指IntegratedDevelopmentEnvironment,即集成开发环境。它本身并不代表任何的编程语言,只是一个窗口化界面,为整个编译、测试和管理程序文件提供了一个集中环境,类似于VC、Xcode等要在某一种系统平台下使用某一种编程语言制作软件,可以选择的平台其实有很多种。例如在win下开发J2ME可以使用Eclipse、NetBeans,甚至文本编辑器加命令行操作来完成,唯一的区别就是过程中的操作方式和工作量会有所不同,Eclipse最早是在Linux下进行Java开发的IDE客户端,该软件本身也是用纯Java编写的正由于它是用Java开发的,所以Eclipse能够跨平台工作,在Win、Linux和Mac下也有相应的版本Elipse软件的官方主页:,在这里可以下载到各种平台下的Eclipse版本,IDE客户端:Eclipse,以Windows下的情况为例进行讲解声明:在Linux和MacOS下均有相应的JDK和Eclipse版本,可以自行下载安装,但是遗憾的是WTK只有Windows和Linux下的版本,MacOS下暂时没有但是,在MacOS下可以使用Xcode(另一种IDE,内置了苹果开发的SDK,只能在苹果操作系统下运行)进行iPhone的开发,后面会单独安排这方面的讲座,IDE客户端:Eclipse(续),Eclipse通常情况下是以文件包的格式存在的,所以不需要安装,下载解压后即可使用Eclipse中常用的J2ME组件是EclipseMe,可以在Eclipse中通过安装更新包的方式将EclipseMe加入,加入后即可在Eclipse中调用J2ME的API,Eclipse运行加载界面,首次运行时需要设定默认的工作路径,也叫做工作区。今后的工程文件就会放在该路径下,Eclipse的软件主窗口,IDE客户端:Eclipse(续),注意:Eclipse在第一次启动的时候,会自动检测系统中的Java运行环境,如果没有正确安装Java环境,Eclipse也无法正常加载!需要在软件的预设页面中,将WTK安装目录与Eclipse进行绑定,这一步完成后可以在Eclipse中调用API和模拟器,搜索完毕,发现由Sun公司提供的WTK中会包含四款通用的手机模拟器,选择一款作为默认运行的模拟器(通常选择DefaultColourPhone)默认手机模拟器绑定完毕之后,保存设置,现在就可以正式开始了,恭喜!右侧显示的就是默认彩屏手机模拟器的界面,J2ME中常用类的介绍,首先,这里所说的J2ME中的类是特指WTK中的类,不包括JDK中的基本类可以在WTK的安装目录下,找到docsapimidp子目录,打开其中的index.html文件,界面如下页图该界面中包含由MIDP提供的常用API包,共11个,负责常见软件的界面功能实现,每个包中包含许多具体的类,术语简介,Java面向对象编程中,常用的几个术语罗列如下(具体内容后面的讲座中会涉及到)类(class):一般性的逻辑的抽象概念包(packet):Java中对于相同功能的一组类的集合接口(Interface):类似于框架的一种公共类的功能模块,可以供其他类的实例来实现,一旦实现后可以在目的类中使用源类的成员函数一个类中的函数主要可以分为构造函数(不一定都有)和成员函数,几个重要的包:javax.microedition.io和java.io负责各种输出输入javax.microedition.lcdui负责界面元素的生成javax.microedition.midlet继承于object的最基本的包,负责程序初始化对象实例的创建几个重要的类javax.microedition.lcdui.displayable所有显示类的基类javax.microedition.lcdui.display负责程序界面的显示javax.microedition.lcdui.item所有选项类的基类java.lang.thread负责线程的管理javax.microedition.lcdui.font负责显示字体的设置javax.microedition.lcdui.graphics负责颜色的显示mand负责按键的设置,几个重要的接口mandListener实现按键事件的监听操作javax.microedition.io.connection实现连接请求javax.lang.runnable实现多线程javax.microedition.lcdui.itemCommandListener实现对象按键时间的监听操作接口的作用接口主要是为了方便某一个子类的功能实现,通俗地讲也就是实现类的多重继承操作,几个重要的类,javax.microedition.lcdui.displayable这个类适用于需要进行界面显示的部分,它是所有界面显示类的根类,所有与显示相关的类都是displayable类的子类常见的界面元素有Form、Canvas、List、TextBox、Alert等,它们都是可以在界面上显示的,有相应的类管理它们,在它们之上添加功能程序最开始首先创建并初始化一个显示类的对象,使用哪一种需要根据具体的界面用途来定,几个重要的类,javax.microedition.lcdui.display这个类主要用于负责界面上的显示,它也是系统预置的需要实例化和使用的类之一程序中的对象间关系:,Display对象,Displayable对象,功能对象,按键对象,事件、线程对象,应用程序本身,几个重要的类,javax.microedition.lcdui.displayable类下面的几个子类,分别为:javax.microedition.lcdui.canvas和javax.microedition.lcdui.screen其中,canvas是画布,负责精确的绘制手机界面上的元素显示,在做游戏界面时可以用到Screen下面的子类包括Alert,Form,List和Textbox等,根据需要进行选择,几个重要的类,mandCommand类用于生成八种类型的按键,这八种类型分别为:BACK、CANCEL、EXIT、SCREEN、HELP、OK、ITEM、STOP,每种不同类型按键的优先级不同,具体可以参考用户API手册按键生成之后,需要使用displayable子类的成员函数addCommand来添加按键若要使command生效,程序还需要实现commandListener接口,几个重要的类,javax.microedition.lcdui.item凡是这个类和这个类的子类实现的元素均是为了表明一个事件或是元素,主要的类型有:选择框、文本框、日期框、图像等等这些元素如果想要正常的显示在屏幕上,只能够显示在form类中item类下的子类功能的实现还需要程序实现itemCommamdListener接口,几个重要的类,javax.microedition.midlet.MIDlet首先,需要解释什么叫做MIDlet,其实是MIDApplet的简称手机中的大型程序其实就是由一个个小的MIDlet共同组合,称为一个project,再又编译器完成编译并打包为Jar文件这个类是编译系统默认为J2ME程序添加的一个,是整个程序存在的前提和基础,几个重要的类,javax.microedition.io.conector这个类的作用,简单的来讲就是一个连接器的作用,用于创建各种外部连接使用例如,在进行网络连接的时候,首先就需要创建一个connector类的实例,通过它所包含的各种输出输入流方法来实现程序和外界之间的联系,几个重要的类,java.lang.thread这个类是专门用在程序中的线程创建的,也就是说程序在多线程执行中会用到这个类有四种构造函数(其实其他的几个类有的也有多种构造函数),选择一个适合自己需要的创建类的实例对象补充内容:线程threadvs.进程process,几个重要的类,java.lang.exception这个类是所有java程序(不仅限于J2ME)中最常用到的一个类包含多种子类,用于特定的某一种程序编译过程中出现的意外结构:try.exceptionex.,判定操作语句,意外执行语句,总结,Java中的新类,无论是通过继承抽象类还是实现接口生成,都需要重写其中的成员函数Java中的接口和抽象类之间是有区别的!创建某个类的对象时,首先应该考虑使用该类的构造函数(可查阅用户API手册),若是没有构造函数,则考虑使用该类中的静态函数(必然有一个能够返回该类对象的静态函数)对于一个容易阻塞程序进程的操作,可以考虑将其加入到一个线程中执行(辨析进程与线程的概念),程序Demo演示一个简单手机App的制作,Demo软件功能描述,创建一个登录界面,使其能够实现一个简单的用户身份认证如果成功实现了用户的身
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药品互助政策解读
- 经济法学面试题库量飙升:经济法领域热 门话题探讨
- 人文素养航天技术
- 银行公司消防演练组织规章
- 职业不限:城市管理专家面试题库
- 网络文学经典解读
- 土字独体字讲解授课
- 选举工作条例解读
- 幼儿园医疗安全知识培训课件
- 升c小调夜曲讲解
- GB/T 32891.2-2019旋转电机效率分级(IE代码)第2部分:变速交流电动机
- GB/T 15622-1995液压缸试验方法
- GB/T 13825-2008金属覆盖层黑色金属材料热镀锌层单位面积质量称量法
- 药物分析实验注意事项课件
- 上海高考词汇手册(及时雨)
- 精益生产6S管理
- 《化工生产技术》配套教学课件
- DB15T 1197-2017 民用爆炸物品反恐怖防范要求
- 仪表基础知识培训(71张)课件
- 甘肃省烟花爆竹经营许可实施标准细则
- 企业内部控制基本规范与配套指引
评论
0/150
提交评论