操作系统 手机模拟器
滁州学院本科课程设计
滁州学院
课程设计报告
课程名称: 操作系统
设计题目: 手机模拟器上计算器的实现
系 别: 计算机科学与技术
专 业: 计算机科学与技术
组 别: 第八组
起止日期: 2010年11月29日,2010年12月25日
指导教师: 马丽生
1
滁州学院本科课程设计
2
滁州学院本科课程设计
目 录
1 设计要求.......................................................... 4
2 设计分析.......................................................... 4
2.1平台搭建 ...................................................... 4
3 设计实现.......................................................... 8
3.1 硬件选用 ...................................................... 8
3.2 设计实现代码 .................................................. 8
3.2.1 初始化函数模块 .............................................. 9
3.2.2 监听函数模块 ............................................... 10
3.2.3 执行函数模块 ............................................... 10
4调试与操作说明 ................................................... 11
5课程设计总结与体会 ............................................... 15
6 致谢............................................................. 16
7 参考文献......................................................... 16
3
滁州学院本科课程设计
1 设计要求
手机可分为智能手机开发和feather phone手机。开发平台可分为开放式平台和封闭式平台,开放式平台包括symbian、windows mobile、linux、Android、
,支持手机应用程序通过OTA下载和安装;封闭式BlackBerry、j2me、brew等
平台包括MTK、展讯、TI、飞利浦等。
此次设计任务是手机模拟器上计算器的实现,要求能实现加减乘除等简单的计算功能。要进行此次开发,可以利用J2ME技术,需要搭建一个平台以及必要的开发工具。经网上查阅,需安装以下软件工具:
? jdk1.6.0_10
jdk虚拟机是进行Java开发所必须的平台,进行Java源程序的编译以及运行。Jdk装好后还需要对环境变量进行设置。
? Eclipse
我们可以直接在Eclipse进行编写源代码,并进行程序的调试,运行。 ? WTK2.5.2
Wtk是sun公司研发的手机模拟开发工具,可以把编写好的程序直接在此进行仿真。
? eclipseme
eclipseme是一个支持J2ME开发的插件,有了这个插件,可以更好的进行工程的开发。
2 设计分析
2.1平台搭建
? jdk的安装与环境变量的设置
首先下载jdk1.6.0_10,安装好后。桌面上选择”我的电脑”(右键)>高级>环境变量设置。在“系统变量”--->“新建” 在变量名中输入:JAVA_HOME,变量值中输入:C:\Program Files\Java\jdk1.6.0_06然后确定;然后新建一个变量classpath ,修改变量值。最后编辑path,在开头加上 %JAVA_HOME%\bin;
4
滁州学院本科课程设计
? Eclipse3.2的安装
从网上下载Eclipse3.2中文版,解压后即可使用,无需安装。
? eclipseme.feature_1.7.9_site插件的安装
运行Eclipse,在帮助菜单里点软件更新->查找并更新软件界面->搜索要安装的新功能部件->新建已归档的站点,找到eclipseme.feature_1.7.9_site软件包所在的位置,然后按照提示完成其安装,如下图显示及表示安装成功。
图2-1 eclipseme的安装
? Wtk 2.5.2 java手机模拟器的安装
Wtk包含默认包含四个手机模拟器,分别为DefaultColourPhone,QwertyDevice,
DefaultGrayPhone,MediaControlSkin。
5
滁州学院本科课程设计
图2-2 DefaultColourPhone
-3 QwertyDevice 图2
6
滁州学院本科课程设计
图2-4 DefaultGrayPhone
图2-5 MediaControlSkin
? Wtk 2.5.2和Eclipse3.2的绑定
首先打开Eclipse,然后点目录上的窗口按钮->选首选项,进入一个界面,
7
滁州学院本科课程设计
然后左击J2ME ,点device management->import->browse(Wtk的安装路
径)->refresh->完成,然后确定即可。
图6 Wtk和Eclipse的绑定
3 设计实现
3.1 硬件选用
Wtk提供四种手机模拟器,一般选用DefaultColourPhone。此模拟器具备一般
手机所具备的功能,能够实现按键以及屏幕显示的效果。
3.2 设计实现代码
程序执行时先调用startapp(),然后调用commandAction()监听事件,当手机
又来电时调用pauseapp()程序转到后台运行,当需要终止程序是调用destory()结
束整个程序。
8
滁州学院本科课程设计
3.2.1 初始化函数模块
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import java.util.*;
import java.lang.Double;
import java.lang.Math;
public class jisuan extends MIDlet implements CommandListener {
private Display display;
private Form form;
private double a=1,b=1,i=1;
private Command k_add=new Command("+",Command.OK,1);
private Command k_min=new Command("-",Command.OK,2);
private Command k_mul=new Command("*",Command.OK,3);
private Command k_div=new Command("/",Command.OK,4);
private Command k_sqt=new Command("对主数开方
",Command.OK,5); private Command exit=new Command("退出
",Command.EXIT,1); private TextField m_num,s_num,a_num;
public jisuan()
{
form=new Form("弥补型计算器");
display = Display.getDisplay(this);
form.addCommand(exit);
form.addCommand(k_add);
form.addCommand(k_min);
form.addCommand(k_mul);
form.addCommand(k_div);
form.addCommand(k_sqt);
form.setCommandListener(this);
}
9
滁州学院本科课程设计
3.2.2 监听函数模块
protected void startApp()
{
display.setCurrent(form);
m_num=new TextField("主数", "0.0", 20,
TextField.DECIMAL); s_num=new TextField("辅数", "0.0", 20, TextField.DECIMAL); a_num=new TextField("
", "0.0", 20, TextField.DECIMAL); form.append(m_num);
form.append(s_num);
form.append(a_num);
}
3.2.3 执行函数模块
public void commandAction(Command c,Displayable s)
{
if(c==exit)
{
destroyApp(false);
notifyDestroyed();
}else {
a=Double.parseDouble(m_num.getString());
b=Double.parseDouble(s_num.getString());
if(c==k_add)
{
i=a+b;
}
if(c==k_min)
{
i=a-b;
}
if(c==k_mul)
{
10
滁州学院本科课程设计
i=a*b;
}
if(c==k_div)
{
if(b!=0)
i=a/b;
}
if(c==k_sqt)
{
i=Math.sqrt(a);
}
a_num.setString(Double.toString(i));
}
}
protected void pauseApp(){ }
protected void destroyApp(boolean arg0){ } //end the program
}
4调试与操作说明
? 先我们在Eclipse先建立一个J2ME项目,起名为jisuan,步骤是从 “文件” 菜单中,选 “新建”, 打开 “其他” 界面,点J2ME Midlet Suite,然后默认即可完成一个项目的创建。
11
滁州学院本科课程设计
图4-1 J2ME项目的创建
? 源代码的编写,步骤是从右击刚建的项目jisuan,选”新建”,打开”其他”界面,点J2ME Midet,代码名称写jisuan,点“完成”即可。
12
滁州学院本科课程设计
图4-2 J2ME文件的创建
? 源代码的编译,运行 ,步骤是jisuan.java ,选”运行方式”,点Emulated J2ME
Mielet,如果没有错,则进入下面的界面:
13
滁州学院本科课程设计
图4-3 初始化的运行界面
?检测,在主数中输入一个数比如12,然后再辅数中输入一个数,比如13,然后点击menu选择运算符号,比如 + ,结果应该是25 (见下图),其他就不一一列述。
14
滁州学院本科课程设计
图4-4 运行界面
5课程设计总结与体会
此次课程设计暂时告一段落了,期间我们在平台搭建和编写代码方面遇到了不少问题,最后,我们在网上资料和马老师的帮助下完成了此次课程设计。
15
滁州学院本科课程设计
6 致谢
在课程设计的完成过程中,我们受到了老师和很多同学的帮助,在这里感谢他们。
7 参考文献
[1] 汤小丹等.计算机操作系统.西安:电子科技大学出版社,2007.
[2] 屠祁,屠立德等.操作系统基础.北京:清华大学出版社,2000.
16
滁州学院本科课程设计
17