《智能手机开发简介.ppt》由会员分享,可在线阅读,更多相关《智能手机开发简介.ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、智能手机软件开发小议智能手机软件开发小议使用使用J2ME进行手机编程主讲人:吴佳磊主讲人:吴佳磊兰州理工大学苹果俱乐部内部讲座课件兰州理工大学苹果俱乐部内部讲座课件Agenda智能手机开发概述认识J2ME及WTK套件Eclipse_For_J2MEJ2ME中常用类的介绍程序Demo演示智能手机开发概述智能手机开发概述智能手机公式表示:“智能手机=掌上电脑+手机”广义上讲,智能手机就是将PDA的大部分功能,特别是个人信息管理和基于无线数据通信的网页浏览和邮件收发功能,集成到手机终端中得到的新型概念手机智能手机的特点:便携性、可扩展性、可定制性、功能多样性、可实现增值业务Smart Phones一
2、则来自BBC的市场调查信息:十年之前的SmartPhone市场,我们可以看到的智能手机界面都类似于黑莓手机如今的智能手机市场中,充斥着更多厂家的手机,但是它们看上去都像是iPhone这说明什么呢?显而易见,苹果公司在智能手机的市场上拥有绝对的优势,引领了整个行业的潮流作为苹果的开发者,我们可以引以为荣!为何要进行智能手机的开发?广泛的用户群体(中国有过5亿手机用户)众多设备制造商(如Nokia,MOTO,Apple等)及国内主要的网络运营商(中国移动、中国联通、中国电信等)都在积极开拓者一块处女地,并提供良好的SDK支持已经比较成熟的运作模式,即从创意、研发、发布、经营到后期维护的运营平台和一
3、条龙服务模式,包括各种手机的App商城补充内容对于在特定几个智能手机品牌下进行开发,可以在相应的官方网站上了解相关信息和下载开发资源包(包括开发使用的API和测试模拟器等,通常免费)AppleNokiaMoto http:/智能手机开发必备条件开发环境:这里选择使用Java的ME版本进行手机的开发,需要配置JDK和JRE手机功能API的支持:我们这里使用SUN公司自带的WTK,其中包含了CLDC信息、MIDP包和一款SUN公司研发的通用手机模拟器IDE编译窗口,可使用Eclipse或NetBeans,并在其中绑定J2ME和WTK此外,还需要准备后期测试的真实手机平台认识认识J2ME和和WTK套
4、件套件什么是Java?Java是一种面向对象、可移植并被视为优于C语言(仍然有争议)的编程语言什么是J2ME?全称为Java Micro Edition,是Java的微型版本,主要用于进行智能终端和嵌入式环境的开发。例如,高级汽车的智能控制软件,智能家电的控制软件等Java是一个非常广泛的概念。主要包括三种版本,分别称为J2ME、J2SE、J2EE。其中J2SE是其它两种Java版本运行的基础有关J2EE的相关知识后续讲座会涉及基本组件主要功能JRE(Java Runtime Environment)为基于Java的软件提供运行环境,包括JVMJDK(Java Develop Kit)为Jav
5、a软件的开发提供基本的编译器、类库等IDE(Integrated Develop Environment)提供一个集成化的窗口界面利于进行项目文件的组织和管理Table1.基本基本Java开发环境的组成开发环境的组成JAVAJ2MEJ2SEJ2EE(Java(Java家族中的标准版本,仅需要最家族中的标准版本,仅需要最基本的环境配置,开发桌面环境下基本的环境配置,开发桌面环境下的软件使用,提供的软件使用,提供JavaJava的开发及调的开发及调试环境、试环境、JavaJava虚拟机等组件虚拟机等组件)(Java(Java家族中的服务器版本,主要家族中的服务器版本,主要是用于在服务器端提供由是用
6、于在服务器端提供由JavaJava开开发出的动态网页及后台小程序的发出的动态网页及后台小程序的运行环境。除了运行环境。除了JRE环境之外,还环境之外,还需要服务器端的支持,如需要服务器端的支持,如NetBean或者或者Apache等等)(Java(Java家族中的微型版本,主要用家族中的微型版本,主要用于智能终端的开发,例如手机、智于智能终端的开发,例如手机、智能家电控制、机顶盒等。除了能家电控制、机顶盒等。除了JREJRE之外,还需要支持移动终端各种功之外,还需要支持移动终端各种功能额外能额外APIAPI的支持的支持)WTK(Wireless Tool Kit)确切的讲,这是一个API的集合
7、,由SUN公司提供的,包含CLDC和MIDP配置信息,还包括手机模拟器在其中主要内容:11个Java相关包,每个包内还有相关的类(具体后面介绍)几个需要了解的相关概念:CLDC、CDC、MIDP等名词术语解释名词术语解释CLDC(Connection Limited Device Configuration),即有限连接设备配置信息,如手机、汽车主板就属于这一类CDC(Connection Device Configuration),即连接设备配置信息,如机顶盒、智能冰箱等就属于这一类Tip:两者的区别其实就是电源供电模式不同MIDP(Mobile Information Device Pro
8、file),即移动信息设备配置文件,它专指移动CLDC设备的配置文件,例如手机的启动、初始化信息等补充信息手机的内嵌Java运行环境体系Optional PacketsProfileConfigurationsJava Virtual MachineEmbeded Host OS手机厂商为自己的产品研发的功能手机厂商为自己的产品研发的功能APIMIDP,即通用的一般性手机功能,即通用的一般性手机功能APICDC/CLDC配置文件,类似于固件信息配置文件,类似于固件信息写入固件中的写入固件中的Java虚拟机虚拟机手机厂商为自己的产品研发的操作系统手机厂商为自己的产品研发的操作系统Eclipse_
9、For_J2ME开始之前所谓IDE,就是指Integrated Development Environment,即集成开发环境。它本身并不代表任何的编程语言,只是一个窗口化界面,为整个编译、测试和管理程序文件提供了一个集中环境,类似于VC、Xcode等要在某一种系统平台下使用某一种编程语言制作软件,可以选择的平台其实有很多种。例如在win下开发J2ME可以使用Eclipse、NetBeans,甚至文本编辑器加命令行操作来完成,唯一的区别就是过程中的操作方式和工作量会有所不同Eclipse最早是在Linux下进行Java开发的IDE客户端,该软件本身也是用纯Java编写的正由于它是用Java开发
10、的,所以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通常情况下
11、是以文件包的格式存在的,所以不需要安装,下载解压后即可使用Eclipse中常用的J2ME组件是EclipseMe,可以在Eclipse中通过安装更新包的方式将EclipseMe加入,加入后即可在Eclipse中调用J2ME的APIEclipse运行加载界面首次运行时首次运行时需要设定默需要设定默认的工作路认的工作路径,也叫做径,也叫做工作区。今工作区。今后的工程文后的工程文件就会放在件就会放在该路径下该路径下Eclipse的软件主窗口IDE客户端:Eclipse(续)注意:Eclipse在第一次启动的时候,会自动检测系统中的Java运行环境,如果没有正确安装Java环境,Eclipse也无法正
12、常加载!需要在软件的预设页面中,将WTK安装目录与Eclipse进行绑定,这一步完成后可以在Eclipse中调用API和模拟器搜索完毕,发现由Sun公司提供的WTK中会包含四款通用的手机模拟器,选择一款作为默认运行的模拟器(通常选择DefaultColourPhone)默认手机模拟器绑定完毕之后,保存设置,现在就可以正式开始了,恭喜!右侧显示的就是默认彩屏手机模拟器的界面J2ME中常用类的介绍中常用类的介绍首先,这里所说的J2ME中的类是特指WTK中的类,不包括JDK中的基本类可以在WTK的安装目录下,找到docsapimidp子目录,打开其中的index.html文件,界面如下页图该界面中包
13、含由MIDP提供的常用API包,共11个,负责常见软件的界面功能实现,每个包中包含许多具体的类术语简介Java面向对象编程中,常用的几个术语罗列如下(具体内容后面的讲座中会涉及到)类(class):一般性的逻辑的抽象概念包(packet):Java中对于相同功能的一组类的集合接口(Interface):类似于框架的一种公共类的功能模块,可以供其他类的实例来实现,一旦实现后可以在目的类中使用源类的成员函数一个类中的函数主要可以分为构造函数(不一定都有)和成员函数几个重要的包:和java.io 负责各种输出输入 负责界面元素的生成 继承于object的最基本的包,负责程序初始化对象实例的创建几个重
14、要的类 所有显示类的基类 负责程序界面的显示所有选项类的基类 负责线程的管理负责显示字体的设置 负责颜色的显示 负责按键的设置几个重要的接口实现按键事件的监听操作实现连接请求实现多线程实现对象按键时间的监听操作接口的作用接口主要是为了方便某一个子类的功能实现,通俗地讲也就是实现类的多重继承操作几个重要的类这个类适用于需要进行界面显示的部分,它是所有界面显示类的根类,所有与显示相关的类都是displayable类的子类常见的界面元素有Form、Canvas、List、TextBox、Alert等,它们都是可以在界面上显示的,有相应的类管理它们,在它们之上添加功能程序最开始首先创建并初始化一个显示
15、类的对象,使用哪一种需要根据具体的界面用途来定几个重要的类这个类主要用于负责界面上的显示,它也是系统预置的需要实例化和使用的类之一程序中的对象间关系:Display对象对象Displayable对象对象功能对象功能对象按键对象按键对象事件、线程对象事件、线程对象应用程序本身应用程序本身几个重要的类类下面的几个子类,分别为:和其中,canvas是画布,负责精确的绘制手机界面上的元素显示,在做游戏界面时可以用到Screen下面的子类包括Alert,Form,List和Textbox等,根据需要进行选择几个重要的类Command类用于生成八种类型的按键,这八种类型分别为:BACK、CANCEL、EX
16、IT、SCREEN、HELP、OK、ITEM、STOP,每种不同类型按键的优先级不同,具体可以参考用户API手册按键生成之后,需要使用displayable子类的成员函数addCommand来添加按键若要使command生效,程序还需要实现commandListener接口几个重要的类凡是这个类和这个类的子类实现的元素均是为了表明一个事件或是元素,主要的类型有:选择框、文本框、日期框、图像等等这些元素如果想要正常的显示在屏幕上,只能够显示在form类中item类下的子类功能的实现还需要程序实现itemCommamdListener接口几个重要的类首先,需要解释什么叫做MIDlet,其实是MID
17、Applet的简称手机中的大型程序其实就是由一个个小的MIDlet共同组合,称为一个project,再又编译器完成编译并打包为Jar文件这个类是编译系统默认为J2ME程序添加的一个,是整个程序存在的前提和基础几个重要的类这个类的作用,简单的来讲就是一个连接器的作用,用于创建各种外部连接使用例如,在进行网络连接的时候,首先就需要创建一个connector类的实例,通过它所包含的各种输出输入流方法来实现程序和外界之间的联系几个重要的类这个类是专门用在程序中的线程创建的,也就是说程序在多线程执行中会用到这个类有四种构造函数(其实其他的几个类有的也有多种构造函数),选择一个适合自己需要的创建类的实例对
18、象补充内容:线程thread vs.进程process几个重要的类这个类是所有java程序(不仅限于J2ME)中最常用到的一个类包含多种子类,用于特定的某一种程序编译过程中出现的意外结构:try.exception ex.判定操作语句判定操作语句意外执行语句意外执行语句总结Java中的新类,无论是通过继承抽象类还是实现接口生成,都需要重写其中的成员函数Java中的接口和抽象类之间是有区别的!创建某个类的对象时,首先应该考虑使用该类的构造函数(可查阅用户API手册),若是没有构造函数,则考虑使用该类中的静态函数(必然有一个能够返回该类对象的静态函数)对于一个容易阻塞程序进程的操作,可以考虑将其加
19、入到一个线程中执行(辨析进程与线程的概念)程序程序Demo演示演示一个简单手机App的制作Demo软件功能描述创建一个登录界面,使其能够实现一个简单的用户身份认证如果成功实现了用户的身份认证后,可以进行文字的输入和编辑功能,包括更改字体和插入图片等完成之后可以点击按钮进行发送操作发送的方式和目的地可以选择Several Tips1.开始养成在编程中不断查阅用户API手册的习惯(需要强化英文阅读)2.课外阅读一些有关面向对象编程的书籍,不需要很深,明白原理即可3.在完成上面第2条的前提下,逐渐培养自己面向对象分析问题、理解问题的能力,并多加练习,编程需要下功夫!The end想进行这方面尝试的同学,可以在FTP上下载全套的软件安装包网上相关的资料比较多,可以去找!如果做了软件,可以在本学期内把源程序文件打包发我邮箱,还可以发邮发邮件件与我交流,必回复!讲座结束之后.