智能手机开发简介



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