javaME手机电子课程表设计报告
《JavaME
手机电子课程表》 姓名:xxxx 班级:计科082 学号:xxxx
javaME手机电子课程表设计报告
1、 问题描述
本系统是由javaMe制作应用于手机上的电子课表程序,其主要包括和需要实现的功能有:
1)欢迎界面
2)功能菜单
3)当天课程
4)浏览课程表(点击后可按日显示课程)
5)添加课程
6)删除课程(删除所有课程、逐个删除)
7)每个界面都能逐级返回上一级界面。
2、 实现过程
本程序严格遵照问题中提出的要求进行细致的设计和编码,以下是其具体的设计编码实现过程:
1)必要的程序包
javax.microedition.midlet.*;
javax.microedition.lcdui.*;
javax.microedition.rms.*;
java.io.*;
http://www.77cn.com.cnng.*;
java.util.*;
2)欢迎界面
由于是初学者,本程序制作了简单的欢迎界面,仅是提示用户进入的是手机电子课表。代码的实现是通过课表类的构造函数建造一个欢迎主页面。
源码:
public Schedule(){
display = Display.getDisplay(this);
tech = new Ticker(" 感谢您使用移动课表!");
exit = new Command("退出", Command.EXIT,1);
submit = new Command("选择", Command.SCREEN,1);
back = new Command("返回", Command.BACK, 1);
save = new Command("提交", Command.SCREEN, 1);
saveback = new Command("返回", Command.BACK, 1);
}
javaME手机电子课程表设计报告
实现:(用户可以选择自己想要的操作,查看课表或者设置新的课表)
3)主功能页面
该页面主要是实现对课表中每一天课的查询,选择进入某一天的课程,则能显示是否有课,以及每节课对应的上课时间。
源码:
public void showschedule() //显示课表
{
display = Display.getDisplay(this);
String[] items1 = {"查看星期一课程", "查看星期二课程", "查看星期三课程", "查看星期四课程", "查看星期五课程"};
cschedule = new List("查看课程", List.IMPLICIT, items1, null);
cschedule.addCommand(back);
cschedule.addCommand(submit);
cschedule.setCommandListener(this);
display.setCurrent(cschedule);
}
javaME手机电子课程表设计报告
实现:(用户可以选择相应的星期进行课程的查阅)
4)课程显示
从主页面中选择进入某一天的课,如下图所显示的是周一的课,如有课,则显示具体课程的信息,没课则显示没有课。
源码:(这里仅仅列出周一的课程显示源码,其他类似)
//显示星期一的课程
public void showMonday() {
boolean opened = false;
boolean existingOrNot = false;
dbMon = null;
// 判断名为"dbMon"的记录存储是否存在
// 存在则打开并设置existingOrNot为"true"
try {
dbMon = RecordStore.openRecordStore("dbMon", false);
existingOrNot = true;
} catch (Exception e) {
existingOrNot = false;
}
// 如果不存在
if (existingOrNot==false) {
javaME手机电子课程表设计报告
try {
// 创建记录存储dbSat
dbMon = RecordStore.openRecordStore("dbMon", true);
} catch (Exception e) {
opened = false;
}
}
// 判断记录存储是否存在,如果存在则打开它
try {
dbMon = RecordStore.openRecordStore("dbMon", false);
opened = true;
} catch (Exception e) {
opened = false;
}
// 如果正常打开dbMon
if (opened) {
currentday = "星期一";
lstMon = new List("星期一课程:", List.IMPLICIT);
for (int i = 0; i<3; i++) {
subject[i] = getRec(dbMon,i+1);
// 如果某一记录为空,则将其设置成"没课"
if (subject[i].equals("")) {
subject[i] = "没课";
recUpdate(dbMon, i+1, subject[i]);
}
subName[i] = subject[i];
lstMon.append("第" + (i+1) + "节课:" + subject[i], null); }
lstMon.addCommand(back);
lstMon.setCommandListener(this);
display.setCurrent(lstMon);
// 用currentFrm标识当前界面
currentFrm = "星期一";
} else { //打开失败
showAlert("错误", "打开记录存储或创建记录存储失败!",2500);
}
}
javaME手机电子课程表设计报告
实现:(显示周一的课程)
5)课程设置和修改(包括课程的增删改除)
在该子页面中,用户可以设置新的课表或者更新修改原有的课表,为了简化用户操作,页面中根据现行的课程时间段给予用户选择。
源码:
public void showsetting() //设置页面
{
display = Display.getDisplay(this);
name = new TextField("课程名称", "", 30, TextField.ANY);
choices = new ChoiceGroup("请选择星期:", Choice.EXCLUSIVE);
choices.append("星期一" , null);
choices.append("星期二" , null);
choices.append("星期三" , null);
choices.append("星期四" , null);
choices.append("星期五" , null);
choices1 = new ChoiceGroup("请选择时间段 …… 此处隐藏:3121字,全部文档内容请下载后查看。喜欢就下载吧 ……