- 浏览: 85777 次
- 性别:
- 来自: China
最新评论
-
casheen:
你的实体的setId方法应该是继承自父类的泛型方法,比如pub ...
Spring的BeanUtils导致的异常 -
hxg1026:
有没有相关的例子参考下呢?
[原]如何制作Java Web系统光盘 -
sysygp:
猜测楼主用spring的BeanUtils时参数顺序弄错了,将 ...
Spring的BeanUtils导致的异常 -
thxg:
请问PostgreSQL支持哈希、混合表分区方式吗?官方最新的 ...
MySQL和Postgresql全面对比 -
dxf1122:
PostgreSQL是收费的吗?
[原]MySQL与Postgresql的区别
本程序主要利用在J2ME MIDP的RMS功能,演示了 如何通过 RecordStore 对象进行存储数据 ,并实现一个通讯录程序,程序的主要代码如下:
AddressBook.java 的源代码如下:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
public class AddressBook extends MIDlet implements CommandListener
{
private Display display=null;
Command search=null;
Command quit=null;
Command delete=null;
Command addnow=null;
Command edit=null;
Command mainmenu=null;
List menu=null;
Form ui_form=null;
StringItem si=null;
TextField name=null;
TextField phone=null;
TextField nameForEdit=null;
RecordStore recordStore=null;//声明记录储存
public AddressBook()
{
display=Display.getDisplay(this); //定义Display变量
quit=new Command("关闭",Command.SCREEN,3);//定义关闭按钮
search=new Command("查找",Command.SCREEN,2);//定义查询按钮
delete=new Command("删除",Command.SCREEN,2);//定义删除按钮
addnow=new Command("增加",Command.SCREEN,2);//定义增加按钮
edit=new Command("修改",Command.SCREEN,2);//定义修改按钮
mainmenu=new Command("主菜单",Command.SCREEN,2);//定义主菜单按钮
//记录储存初始化
try
{
recordStore=RecordStore.openRecordStore("address",true);
}
catch(RecordStoreException rse)
{
rse.printStackTrace();
}
}
public void startApp()
{
menu=new List("电话薄...",List.IMPLICIT);
menu.append("1.查询",null);
menu.append("2.增加",null);
menu.append("3.删除",null);
menu.append("4.修改",null);
menu.append("5.关闭",null);
menu.setCommandListener(this);
display.setCurrent(menu);
}
void searchScreen() //查询用户界面
{
ui_form=new Form("电话薄查询");
name=new TextField("查询姓名","",50,0);
ui_form.append(name);
ui_form.addCommand(search);
ui_form.addCommand(quit);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
}
void addScreen()
{
ui_form=new Form("添加");
name=new TextField("姓名","",50,0);
ui_form.append(name);
phone=new TextField("电话号码","",50,0);
ui_form.append(phone);
ui_form.addCommand(addnow);
ui_form.addCommand(quit);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
}
void editScreen()
{
ui_form=new Form("修改");
nameForEdit=new TextField("需要修改的姓名","",50,0);
ui_form.append(nameForEdit);
name=new TextField("姓名","",50,0);
ui_form.append(name);
phone=new TextField("电话号码","",50,0);
ui_form.append(phone);
ui_form.addCommand(edit);
ui_form.addCommand(quit);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
}
void deleteScreen()
{
ui_form=new Form("删除");
name=new TextField("姓名","",50,0);
ui_form.append(name);
ui_form.addCommand(delete);
ui_form.addCommand(quit);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
}
public void pauseApp()
{
menu=null;
}
public void destroyApp(boolean unconditional)
{
menu=null;
notifyDestroyed();
}
public void commandAction(Command c,Displayable d)
{
if(c==quit)
{
try
{
close();
}
catch(RecordStoreException rse)
{
rse.printStackTrace();
}
destroyApp(true);
}
else if(c==search)
{
String temp_search=name.getString();
address_search(temp_search);
}
else if(c==edit)
{
String temp_nameForEdit=nameForEdit.getString();
String temp_name=name.getString();
String temp_phone=phone.getString();
address_edit(temp_nameForEdit,temp_name,temp_phone);
}
else if(c==mainmenu)
{
startApp();
}
else if (c==delete)
{
String temp_delete=name.getString();
address_del(temp_delete);
}
else if(c==addnow)
{
String temp_name=name.getString();
String temp_phone=phone.getString();
address_add(temp_name,temp_phone);
}
else //其他事件,根据list选项调用个界面
{
List down=(List)display.getCurrent();
switch(down.getSelectedIndex())
{
case 0: searchScreen();break;
case 1: addScreen();break;
case 2: deleteScreen();break;
case 3: editScreen();break;
case 4: destroyApp(true);break;
}
}
}
void address_search(String address)
{
String temp=" ";
String phone_number;
String person_name;
String check_name="";
int size=address.length();
try
{
RecordEnumeration re=
recordStore.enumerateRecords(null,null,false); //enumeration通过项目集允许对例程进行重复调用。
ui_form=new Form("查询结果");
while(re.hasNextElement())
{
String name1=new String(re.nextRecord());
try
{
person_name=name1.substring(0,name1.indexOf("?"));
}
catch(Exception ef)
{
person_name="请检查姓名是否正确";
ef.printStackTrace();
}
if(person_name.length()>=size)
{
check_name=person_name.substring(0,size);
}
if(check_name.equals(address))
{
try{
phone_number=name1.substring(name1.indexOf("?")+1);
}
catch(Exception e)
{
phone_number="";
}
temp=temp+"\n姓名.."+person_name+"\n电话.."+phone_number;
}
}
//}
if(temp.equals(" "))
{
temp="没有找到......";
}
ui_form.append(temp);
ui_form.addCommand(quit);
ui_form.addCommand(mainmenu);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
//}
}
catch(RecordStoreNotOpenException rsnoe)
{
rsnoe.printStackTrace();
}
catch(InvalidRecordIDException irid)
{
irid.printStackTrace();
}
catch(RecordStoreException rse)
{
rse.printStackTrace();
}
}
void address_del(String address)
{
String temp=" ";
String phone_number;
String person_name;
int id;
int del_id=0;
try
{ RecordEnumeration re=
recordStore.enumerateRecords(null,null,false);
ui_form=new Form("删除结果");
while(re.hasNextElement())
{
id=re.nextRecordId();
String name1=new String(recordStore.getRecord(id));
try
{
person_name=name1.substring(0,name1.indexOf("?")); //搜索截取特定的字符串
}
catch(Exception ef)
{
person_name="请检查姓名是否正确";
ef.printStackTrace();
}
if(person_name.equals(address))
{
del_id=id;
}
}
if(del_id!=0)
{
recordStore.deleteRecord(del_id);
temp="成功地删除一条记录";
}
else
{
temp="所指定的记录不在电话薄内";
}
}
catch(Exception e)
{
}
ui_form.append(temp);
ui_form.addCommand(quit);
ui_form.addCommand(mainmenu);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
}
void address_add(String address,String phone)
{
String data=address+"?"+phone;
System.out.println(data);
try
{
byte[] b=data.getBytes();
recordStore.addRecord(b,0,b.length);
ui_form=new Form("添加成功");
ui_form.append("成功地添加一条记录");
ui_form.addCommand(quit);
ui_form.addCommand(mainmenu);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
}
catch(RecordStoreException rse)
{
rse.printStackTrace();
}
}
void address_edit(String addressForEdit,String address,String phone)
{
int id=1;
int edit_id=0;
String person_name;
String temp="error";
try
{
RecordEnumeration re=
recordStore.enumerateRecords(null,null,false);
ui_form=new Form("修改");
while(re.hasNextElement())
{
id=re.nextRecordId();
String name1=new String(recordStore.getRecord(id));
try
{
person_name=name1.substring(0,name1.indexOf("?"));
}
catch(Exception ef)
{
person_name="请检查姓名是否正确";
}
if(person_name.equals(addressForEdit))
{
edit_id=id;
}
}
if(edit_id!=0)
{
String data=address+"?"+phone;
byte[] b_data=data.getBytes();
recordStore.setRecord(edit_id,b_data,0,b_data.length);
temp="成功地修改一条记录";
}
else
{
temp="要修改的记录不在电话薄内";
}
}
catch(Exception e)
{
e.printStackTrace();
}
ui_form.append(temp);
ui_form.addCommand(quit);
ui_form.addCommand(mainmenu);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
}
//关闭记录储存
public void close()throws RecordStoreNotOpenException,RecordStoreException
{
recordStore.closeRecordStore();
}
}
发表评论
-
GET和POST的几个注意的地方
2012-02-25 14:00 1355很久没写博文了,今天就稍分析下表单提交的GET和POST的细节 ... -
zkbrowser-lite for zookeeper在CentOS的搭建
2011-11-19 18:28 2826因为工作中需要用到Zookeeper的图形界面,在网上搜索下, ... -
一年来网站开发之总结
2010-07-03 20:12 225一.序幕 去年年底来到现在这个公司,这段时间内发生很多事情, ... -
网站策划人员应该具备的能力
2010-03-27 15:29 89网站策划,职责就是收集整理来自客户或者用户的需求,根据网 ... -
IE6:Compared to other browsers
2009-06-24 10:44 969下面图片的大意是: 下面是一张比较IE6和其它试图抢它风光的各 ... -
奖金那点事儿
2009-06-13 13:57 129公司"改革"了工资制度,一个项目组所有的人 ... -
[原]被逼的
2009-06-03 22:46 116我们个个都是三好青年 九点睡觉五点起来 只是偶尔迟到 都 ... -
JE主页调整了?
2009-05-31 01:04 152昨天下午在公司上JE还是原来的那个布局,最后一个版面是熟悉的“ ... -
[原]法克鱿前传
2009-05-27 08:41 612法克鱿乃一怪兽,长期蛰伏,不吃不喝,连打雷都没吓死它 ... -
这样猜忌有必要吗
2009-05-22 15:53 117最近看了公司其他人的个人日志,都感觉到老板和他自己在相互猜忌。 ... -
今天一同事辞职
2009-05-18 16:02 369今天一个同事辞职了。 老板到他离开公司这一刻都不明白他为什么 ... -
团队的气氛是可以扩散的
2009-04-27 17:29 88一个开发团队的气氛是很重要的,它可以扩散到周边的人,当然你也可 ... -
RUN OutOfControlException
2009-03-10 14:57 93Coding的时候,每个人都不可避免的遭遇Excep ... -
永远单调的例会
2009-02-28 14:12 130公司每周六下午有例会,例会一直是单调的,从头到尾是老板(a m ... -
奖励的实质是惩罚:评论公司的奖励制度
2009-02-15 10:14 1842008年年末了,公 ... -
连续上了8天的班
2009-01-10 08:39 2442009年的元旦放假没有带来一丝Happy,反而放完假是上了连 ... -
不要被标签缩写忽悠了
2009-01-06 05:08 1258在页面里,如果没有标签体,一个标签是可以缩写的,如<p& ... -
原创笑话:Green Toilet
2008-11-29 13:08 207某公园的公厕前面,上书“环保公厕”之语,排队者一条长龙, ... -
软件开发之成本,没天上掉下来的
2008-11-07 09:04 185很多公司管理层的想法:某年某月某日我拿到一个小项目,也 ... -
珍爱生命,远离加班
2008-10-22 08:42 151加班,这个词语,今天查了词典,翻译成英文就是overt ...
相关推荐
【J2ME手机通讯录系统】是一个专门为移动设备设计的应用程序,它利用Java 2 Micro Edition(J2ME)技术实现手机上的联系人管理功能。J2ME是Java平台的一个子集,专为资源有限的嵌入式设备,如早期的智能手机和平板...
在J2ME平台上,textfield设置为phonenumber,在一般的高端点手机,比如塞班s60上都会自动...而如果平台不支持这个属性的话,我们还可以自己写代码去调用通讯录的信息.代码奉上.这年头还在整J2ME,都是历史遗留问题啊...
《J2ME手机通讯录简易版》是一款基于Java Micro Edition(J2ME)技术开发的轻量级应用程序,主要用于在移动设备上管理个人联系人信息。这款应用利用了J2ME中的Record Management System (RMS) 技术来存储和检索联系...
本教程将深入探讨如何使用J2ME技术来实现一个简单的手机通讯录应用,这对于初学者来说是一个很好的实践项目。 1. **J2ME基础** - **架构**:J2ME由配置(Configurations)和配置文件(Profiles)组成,例如MIDP...
这个“J2ME个人通讯录”项目,正如其标题所言,是一个利用J2ME技术实现的手机通讯录应用,它能够帮助用户在移动设备上管理和存储联系人信息,方便日常通信。 J2ME的特点在于它的轻量级和跨平台能力,这使得它非常...
本篇文章将详细解析一个J2ME手机通讯录应用的代码实现,帮助初学者更好地理解J2ME的编程方式以及如何在手机上开发简单的应用。 #### 二、应用概述 该程序实现了基本的通讯录功能,包括查询、增加联系人,并能够显示...
1.通过j2me的pim相关函数把通讯录内容存入字符串中 String name=""; String tel=""; String dis=""; PIM pim = PIM.getInstance(); ContactList contactList = null; Enumeration em = null; try { contact...
本文将深入探讨如何使用J2ME实现一个基本的手机通讯录功能,特别是通过Canvas组件来构建用户界面。 一、J2ME简介 J2ME是一种轻量级的Java平台,专门设计用于资源有限的嵌入式设备,如早期的智能手机和平板电脑。它...
**基于MVC实现的J2ME通讯录详解** 在移动设备上开发应用程序时,Java Micro Edition(J2ME)是一个常见的选择,它为小型设备提供了跨平台的编程能力。本项目是一个基于Model-View-Controller(MVC)设计模式实现的...
在【描述】中提到,该程序提供了完整的代码和文档,这意味着它不仅包含可执行的源代码,还附带了详细的说明和解释,这对于学习J2ME编程或理解通讯录应用的实现机制非常有价值。开发者可以通过查看和分析代码来学习...
根据给定的信息,这里主要涉及的是一个与JSP相关的实习报告,而非J2ME通讯录。但是,为了满足您的需求,我们将重点放在J2ME通讯录的开发上,并结合给出的信息来生成相关知识点。 ### J2ME通讯录实习报告 #### 一、...
总结来说,基于J2ME的手机通讯录代码利用了J2ME的RMS系统存储联系人数据,通过用户界面实现添加、删除和查看联系人等功能。开发者需要理解J2ME的架构、RMS机制,以及如何在有限的资源下构建用户友好的交互。这种技术...
【J2ME通讯录程序源码】是一种基于Java Micro Edition(J2ME)平台的源代码,用于开发手机或其他小型设备上的联系人管理应用程序。J2ME是Java平台的一个子集,专门设计用于资源有限的嵌入式设备,如移动电话、智能...
package j2me4; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet....
标题中的"J2ME通讯录代码框架"是指一个基于Java 2 Micro Edition (J2ME)平台开发的手机通讯录应用程序的源代码框架。J2ME是Java的一个子集,主要用于移动设备、嵌入式系统等资源有限的环境。这个框架提供了一个基本...
在这个案例中,"J2ME中实现电话通讯录的源代码"项目运用了MVC(Model-View-Controller)设计模式,这是一种广泛用于软件工程的架构模式,特别适用于用户界面的开发。 **1. MVC设计模式详解:** - **Model(模型)**...
实现基本的添加、快速查找、查看、修改、删除功能,同时还能打电话和发短信的功能,其中包括打包好的jar包,可以直接在手机上运行。解压密码:robin
J2ME 实现的 UrlEncode编码 J2ME 实现的 UrlEncode编码 J2ME 实现的 UrlEncode编码
在这个J2ME实现的画图程序中,我们主要关注的是如何在移动设备上利用Java Micro Edition(J2ME)框架创建一个简单的画图应用。J2ME是Java平台的一个子集,专门用于嵌入式设备,如手机和PDA。在这个程序中,核心功能...