ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:89.46KB ,
资源ID:26090412      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26090412.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(手机板书内容.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

手机板书内容.docx

1、手机板书内容手机可以编程吗?手机硬件,基本可以按计算机对待。作为计算机,最基本的部件是主机(处理器CPU+内存)。从软件上看就是操作系统。结论:手机实际上就是一台小的计算机,其中配置一定的处理器和一定容量的内存,并工作在某种操作系统下。常见的手机芯片(CPU):目前英国ARM架构占据手机处理器90%的市场份额。1.Intel的XScale处理器2.ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 3. OMAP:无线设备制造商,诸如诺基亚、索尼爱立信、Palm、惠普公司及索尼等业界顶尖的设备制造商

2、,以及诸如宏碁、LuckyGoldstar、HTC、Sendo及其它的主要设计制造商均宣布支持TI的OMAP处理器平台。常见的手机操作系统:操作系统1. Symbian 操作系统:Symbian系统的手机目前比较常见的是Nokia、三星、西门子2.WindowsMobile (windows CE)操作系统3. iOS系统: iphone系列手的操作。4 Palm系统5. .Android系统.新型手机操作系统,支持无线互联网技术。主流的手机编程体系: Midp Adriod本课程以MIDP手机程序设计为框架展开。编程工具WTK2.5,它要求jdk版本为1.5版以上。用WTK开发一个手机程序的

3、过程: 新建一个项目(new project),完成后结果:注意以下三个信息:Place Java source files in C:WTK25apps演示程序src 将java源程序放在C:WTK25apps演示程序src文件夹中。只有将源程序放在这个位置上,才能被WTK找到并编译。Place application resource files in C:WTK25apps演示程序res将项目所需的资源文件(如图片)存放在C:WTK25apps演示程序res文件夹中,只有这个文件夹中的资源文件才能被WTK读出。Place application library files in C:WT

4、K25apps演示程序lib这个文件夹中存放外来的库文件(略)按以上要求存放文档后,就可以编译程序(Build),编译过程中可能产生错误,那么必须改正源程序中的错误,再编译,直到程序无错为止。运行程序(Run)。手机程序结构:import javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class DEMO extends MIDlet public void startApp() public void pauseApp() public void destroyApp(boolean b)以上是一个最

5、简单的手机程序,它可以表明一个手机程序的基本结构:1. 手机程序由若干类(class)构成从java程序的观点,类应如下:class 类名2. 在若干类中,必须且只能有一个主类。它是程序中最开始执行的类。主要类有两个标志:public、必须扩展于MIDlet类。import javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class DEMO extends MIDlet public void startApp() public void pauseApp() public void destroyAp

6、p(boolean b)3. java类的写法:class 类名变量声明;/可有可无,可多可少函数声明;/可有可无,可多可少变量是程序运行过程中用于存放数据的空间,这些空间是以变量的形式出现,变量需要声明类型名 变量名int x,y; 声明了x,y两个整型变量,存放整数。double z; 声明了一个浮点型变量z,存放实数。char c; 变量c中存放一个字符String str; str可以存放一个字符串。函数,由一组语句构成的程序段。 值类型 函数名(参数表)函数体;如:public void destroyApp(boolean b) X=7;函数是对数据的加工过程,它由名称、参数表(加

7、工的原料,也就是被计算的数据)、值类型(加工结果的类型)以及函数体(加工过程)。考查手机程序:public class DEMO extends MIDlet public void startApp() public void pauseApp() public void destroyApp(boolean b)这个手机程序是一个类,名字是DEMO,它是扩展于MIDlet类。类中没有声明变量,声明了startApp、pauseApp和destroyApp三个函数。三个函数都没有函数体。可见,作为一个手机程序必须是一个java类,而且必须扩展于MIDlet类,声明startApp、pause

8、App和destroyApp三个函数。在手机程序中,可能会用到一些其他类,如MIDlet,在程序中必须导入(import)这些类。import javax.microedition.midlet.*;import javax.microedition.lcdui.*;MIDlet类就在javax.microedition.midlet包(文件夹)中。*表示所有类。类似于C中的 #include的作用。 第三讲 在手机程序中的三个函数是与手机上的一些事件相关联的,当手机程序运行过程中发生了某些事件时,系统就会自动调用这些函数。startApp函数:当手机程序运行时,首先初始化(构造函数,init

9、函数),然后自动调用该函数。所以它是一个程序的入口部分,所以一个程序的功能代码将从这个函数开始。pauseApp函数:当一个手机程序运行时,如果有了电话呼叫、短信息,这时系统会暂停本程序,暂停本程序之前,自动调用该函数。因此在接听电话或阅览短信之前,程序应该做的准备工作代码可以写在该函数中。destroyApp函数:在程序即将结束时,调用的函数。在这个函数中, 可以设计一些程序的善后处理代码。程序中这三个函数是必不可少的,除此之外,程序还可以设计其他的函数甚至其他类。在手机上显示文本框:import javax.microedition.midlet.*;import javax.microe

10、dition.lcdui.*;public class DEMO extends MIDlet Display display; TextBox tb=new TextBox(“标题”,“正文”,200,0); public void startApp() display=Display.getDisplay(this); display.setCurrent(tb); public void pauseApp() public void destroyApp(boolean b) 可以显示在屏幕上的对象必须是Dispalyable类的子类的对象。1 声明并创建TextBox对象。TextBo

11、x tb=new TextBox(“标题”,“正文”,200,0);TextBox生时必须给出四个参数:标题,正文,最大长度,输入限制。2.取得显示屏幕Display disp=Display.getDisplay(this);3.将可显组件设置到屏幕。 disp.setCurrent(tb);第四讲: 手机程序中的菜单(命令项)。 MIDP中的菜单是由Command类实现。 声明并产生命令项的方法: Command c; C=new Command(“文字”,命令型态,优先级); 或者 Command c=new Command(“文字”,命令型态,优先级) 以上的语法中,命令型态: 命令类

12、型可以是下列8个值之一 Command.BACK:返回前一屏幕; Command.CANCEL:取消当前正在进行的工作; Command.STOP:中断当前正在运行的动作。 Command.EXIT:退出应用程序; Command.HELP:请求在线帮助; Command.ITEM:选择命令是当前屏幕中的某一项; Command.SCREEN:应用到当前屏幕的命令; Command.OK:确定当前正在进行的动作;不同型态的命令将出现的位置不同。优先级部分表现为一个整数,整数越小,优先级越高。命令项产生后,可以用addCommand()函数将命令项设置到Dispalyable(如TextBox)

13、.命令型态决定命 令选项出现的位置:命令项出现在屏幕最下行。点中两个软件按钮,就可以选中某个菜单。左边永远只能出现一项菜单。其他菜单都会出现在右边,其他菜单如果有多项,则折迭成一个menu多级菜单。所以,使用频率最高的菜单应该设计在左边。BACK、CANCEL、STOP和EXIT型态的菜单可以出现在左边,其他四种型态只能出现在右边。总结,各种菜单项出现的规律: 型态决定位置,如果把型态也理解为一种优先的话,那么上述八种型态的优先级别是依次降低的。高四级可以出现在左边。除型态之外,型态相同的前提下优先级可以决定各菜单出现次序。Command c=new Command(“文字”,命令型态,优先级

14、)优先级值越小,越先出现。即: 菜单出现的次序是:先决定于型态;型态相同时,决定于优先级;型态和优先级都相同,则决定于在程序中添加的次序。菜单响应: 当用户选定了某菜单时,都应该产生某一个动作。程序中总需要将某些代码的执行与某菜单相联系,这就是事件模型。MIDP中的事件模型: 事件,是手机中某状态改变。这些事件有些是由系统产生的,如手机程序被呼叫中断。有些事件是人为产生的,如按下了某按键。 系统事件的响应,由系统负责,如startApp,pauseApp,destroyApp函数的调用就是如此。但人为产生的按键事件,必须在程序中将事件与动作(函数)对应。这种编程规律,就是事件模型。import

15、 javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class MyMIDlet extends MIDlet Display disp; TextBox tb=new TextBox(TextBox演示程序,天气真好.,256,1) ; Command comm1=new Command(退出,Command.SCREEN,2),comm2=new Command(还原,Command.SCREEN,1), comm3=new Command(清除,Command.EXIT,2),comm4=new Co

16、mmand(选项,Command.SCREEN,2); public void startApp()tb.addCommand(comm4); tb.addCommand(comm1);tb.addCommand(comm2);tb.addCommand(comm3); disp=Display.getDisplay(this); disp.setCurrent(tb); public void pauseApp() public void destroyApp(boolean b)事件: 手机上发生的状态改变。有些事件由系统产生,如:手机程序的运行(初始化),中断,撤消;系统产生的事件的响应

17、,由系统规定。有些事件由操作者产生,如:操作者按下键盘上的某键。这些事件可以在程序中通过程序处理。这样的事件分成两大类:高级事件与低级事件。高级事件:由操作者按下软件按钮产生的事件。对于高级事件的响应与硬件无关,容易移植,针对某公司某款式型号上写出的高级事件响应程序,将它移植到另一公司另一款式或另一个型号的机器上,一定能正确执行。菜单事件就是高级事件之一。低级事件:指操作者按下除软件按钮之外的其他按键所产生的事件。由于不同公司不同款式不同型号上,对这些按键的定义可能差别,所以针对某机型上设计的低级事件响应程序,在另一机型上不保证能正确运行。可见,低级事件与硬件相关,不保证移植性。菜单事件的响应

18、: 菜单事件,是由一个接口去监视并处理。CommandListener程序中,首先必须指定事件的监视器,它负责监视事件是否发生,当事件发生后,进行处理。监视器是一个类(的对象),任何类都以指定为监视器,但它必须实现CommandListener接口. class A implements CommandListener最简单的情况下,也可以指定主类(程序中MIDlet的派生类)作监视器。public class A extends MIDlet implements CommandListener.Java语言规定,当一个类实现(implements)了接口时,在该类中必须写出接口中的所有接口

19、函数的函数体。在接口中只声明函数,但没有函数体。CommandListener接口中只定义了一个抽象函数(只有声明,没有函数体): public void commandAction (Command c, Displayalbe d);接口的作用,将菜单项选中的动作,与commandAction函数相关联,即当选中菜单时,程序一定会转到这个函数。所以,在实现该接口的类中,就应该给出这个函数的函数体。public void commandAction(Command c, Displayalbe d);程序运行时,如果有某个菜单项被选中,则程序跳转到这个函数处运行。import javax.m

20、icroedition.midlet.*;import javax.microedition.lcdui.*;public class MyMIDlet extends MIDlet implements CommandListener Display disp; TextBox tb=new TextBox(TextBox演示程序,abcdefg,256,1) ; Command comm1=new Command(大写,Command.SCREEN,2); public void startApp() tb.addCommand(comm1); tb.setCommandListener(

21、this); disp=Display.getDisplay(this); disp.setCurrent(tb); public void pauseApp() public void destroyApp(boolean b) public void commandAction(Command c, Displayable d) tb.setString(tb.getString().toUpperCase(); 以上程序中用到了三个函数: 文本框类(tb)的函数 getString() 得到文本框上显示的字符串,结果为String setString() 将字符串设置到文本框上 字符串类

22、的函数: toUpperCase() 将字符串中的小写字母转为大写字母。当程序中的多菜单先后被选中时,各菜单的选中,都会转到同一函数commandAction中执行。public void commandAction(Command c, Displayable d) 。在函数中的参数c和d,是由系统产生并传给函数.所以c和d可以在函数中作为已知数据直接使用。C中保存着倒致程序转到commandAction函数的菜单变量的名字。D中保存着这时的屏幕对象。程序中通过判断c的值可以决定是哪个菜单被选中。多菜单操作:import javax.microedition.midlet.*;import

23、javax.microedition.lcdui.*;public class MyMIDlet extends MIDlet implements CommandListener Display disp; TextBox tb=new TextBox(TextBox演示程序,abcdefg,256,1) ; Command comm1=new Command(大写,Command.SCREEN,1), comm2=new Command(小写,Command.SCREEN,2), exit=new Command(退出,Command.BACK,1); public void startA

24、pp() tb.addCommand(comm1);tb.addCommand(comm2); tb.addCommand(exit); tb.setCommandListener(this); disp=Display.getDisplay(this); disp.setCurrent(tb); public void pauseApp() public void destroyApp(boolean b) public void commandAction(Command c, Displayable d) if (c=comm1) tb.setString(tb.getString().

25、toUpperCase(); else if (c=comm2) tb.setString(tb.getString().toLowerCase(); else if (c=exit) notifyDestroyed();其中,notifyDestroyed()函数是MIDlet类的函数,表示撤消本MIDlet;解释程序中的函数调用方法:notifyDestroyed(); disp.setCurrent(tb);有些函数调用时需对象前缀,有些不需。其实,在Java程序中任何函数都是属于某个类,不存在不属于类的游离函数。程序中,如果调用其他对象的函数,必须指明对象名,如:disp.setCur

26、rent(tb);但,调用本类的函数,可以不加前缀。notifyDestroyed();要加前缀,可以: this. notifyDestroyed();notifyDestroyed()函数是MyMIDlet类从MIDlet类中继承而来的函数。;List 选择的组件,在一组可选项中,选择一个或多个选项。 构造函数一:public List(String title,int listType) title表示标题,listType表示类型。这种方式可以创建一个空白的List对象,没有可选项。可以在随后的代码中用List的append添加可选项。构造函数二:public List(String

27、title, int listType, String stringElements, Image imageElements)产生完整的List对象,既有标题 ,也有内容。List有三种形式:Choice.EXCLUSIVE:单选ListChoice.IMPLICIT:隐含菜单,是一种单选List,选中时会触发事件Choice.MULTPLE:多选 List当显示List后,选中某项时,可以用以下函数得到我们所选中的项目:public int getSelectedIndex( )得到选中项的序号,0,1,2,等。适合于单选时。 如果是多选List可以用 public int getSele

28、ctedFlags(boolean sArray)返回值返回我们选择的项数,具体的选项在sArray表达。示例:public void commandAction(Command c,Displayable d) boolean b=new boolean3; String msg=共选择了+list.getSelectedFlags(b)+项,它们分别是:; for (int i=0; ib.length; i+) if (bi) msg=msg+txti+ ; TextBox tb=new TextBox(您的选择是:,msg,256,1); disp.setCurrent(tb);Cho

29、ice.EXCLUSIVE和Choice.MULTIPLE两种形态的List本身并不触发事件,所以在程序中必须再用Command触发事件,在事件处理函数中,检测我们所选的项目。Choice.IMPLICIT形态的List是单选,但它选中后自身触发Command事件,不需要再设计Command以触发事件,一旦选择,自动调用。public void commandAction(Command c,Displayable d)但,这时 在c中传入一个常量:List.SELECT_COMMAND,由此可以区别是菜单还是List触发的事件,如下例:public void commandAction(Co

30、mmand c,Displayable d) if (c=List.SELECT_COMMAND) TextBox tb=new TextBox(您的选择是:,txtlist.getSelectedIndex(),256,1); disp.setCurrent(tb); else notifyDestroyed();带图片的List;try img0=Image.createImage(/TranslatorPlugin.png); img1=Image.createImage(/LoginAssis.png); img2=Image.createImage(/ExtYouxi.png); catch(Exception e) list=new List(请选择文化程度,Choice.IMPLICIT,txt,img); list.a

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1