📄 recorddata6.java
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.*;
public class recordData6 extends MIDlet implements CommandListener
{
Display display;
List list;
Form form1;
Form form2;
Form form3;
RecordStore rs;
TextField tf1;
TextField tf2;
TextField tf3;
TextField tf4;
TextField tf5;
byte[] data;
String Name;
String Comp;
String Addr;
int TEL;
int id;
int Age;
int nameid;
int viewId;
int index;
int lists;
boolean viewList;
boolean fromDB;
Command addCommand;
Command deleteCommand;
Command modifyCommand;
Command checkCommand;
Command saveCommand;
Command prevCommand;
Command nextCommand;
Command backCommand;
Command okCommand;
Command exitCommand;
RecordEnumeration rdnum;
public recordData6()
{
display=Display.getDisplay(this);
try{
rs=RecordStore.openRecordStore("Phonebook",true);
}catch(Exception ex){}
changeType();
addCommand = new Command("新增名片", Command.OK, 2);
checkCommand = new Command("查询名片", Command.OK, 2);
saveCommand = new Command("确认输入", Command.OK, 2);
okCommand = new Command("确认修改", Command.OK, 2);
deleteCommand = new Command("删除名片", Command.OK, 2);
modifyCommand = new Command("修改名片", Command.OK, 2);
prevCommand = new Command("查询上一条", Command.OK, 2);
nextCommand = new Command("查询下一条", Command.OK, 2);
backCommand = new Command("返回", Command.OK, 2);
exitCommand = new Command("离开", Command.EXIT, 1);
list=new List("个人手机名片簿", List.IMPLICIT);
list.addCommand(checkCommand);
list.addCommand(addCommand);
list.addCommand(exitCommand);
list.setCommandListener(this);
form1=new Form("请输入要储存的数据");
tf1=new TextField("姓名", "", 10, TextField.ANY);
tf2=new TextField("年龄", "", 2, TextField.NUMERIC);
tf3=new TextField("公司", "", 20, TextField.ANY);
tf4=new TextField("地址", "", 30, TextField.ANY);
tf5=new TextField("电话", "", 10, TextField.PHONENUMBER);
form1.append(tf1);
form1.append(tf2);
form1.append(tf3);
form1.append(tf4);
form1.append(tf5);
form1.addCommand(saveCommand);
form1.addCommand(backCommand);
form1.setCommandListener(this);
form2=new Form("个人资料");
form2.addCommand(prevCommand);
form2.addCommand(nextCommand);
form2.addCommand(backCommand);
form2.setCommandListener(this);
form3=new Form("修改个人资料");
form3.addCommand(okCommand);
form3.addCommand(backCommand);
form3.setCommandListener(this);
}
public void startApp()
{
if(!viewList)
try{
for(int i=1;i<=rs.getNumRecords();i++)
{
readData(i);
if(Name!="no")
list.append(nameid+"."+Name,null);
}
index=nameid;
}catch(Exception ex){}
display.setCurrent(list);
viewList=false;
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
public void commandAction(Command cmd, Displayable disp)
{
if (cmd == addCommand)
{
display.setCurrent(form1);
}
else if (cmd == saveCommand){
saveData("save", (index+1));
readData((index+1));
list.append(nameid+"."+Name,null);
changeType();
display.setCurrent(list);
index++;
}
else if (cmd == deleteCommand){
lists=Integer.parseInt(list.getString(list.getSelectedIndex()).substring(0,list.getString(list.getSelectedIndex()).indexOf(".")));
try{
rs.deleteRecord(lists);
}catch(Exception ex){}
changeType();
list.delete(list.getSelectedIndex());
viewList=true;
display.setCurrent(list);
}
else if (cmd == modifyCommand){
lists=Integer.parseInt(list.getString(list.getSelectedIndex()).substring(0,list.getString(list.getSelectedIndex()).indexOf(".")));
if(!fromDB)
readData(lists);
else
readData(viewId);
tf1=new TextField("姓名", Name, 10, TextField.ANY);
tf2=new TextField("年龄", String.valueOf(Age), 2, TextField.NUMERIC);
tf3=new TextField("公司", Comp, 20, TextField.ANY);
tf4=new TextField("地址", Addr, 30, TextField.ANY);
tf5=new TextField("电话", String.valueOf(TEL), 10, TextField.PHONENUMBER);
form3.append(tf1);
form3.append(tf2);
form3.append(tf3);
form3.append(tf4);
form3.append(tf5);
display.setCurrent(form3);
}
else if (cmd == checkCommand){
if(list.size()==0)
{
display.setCurrent(list);
}else{
form2.addCommand(deleteCommand);
form2.addCommand(modifyCommand);
lists=Integer.parseInt(list.getString(list.getSelectedIndex()).substring(0,list.getString(list.getSelectedIndex()).indexOf(".")));
if(!fromDB)
readData(lists);
else
readData(viewId);
if(form2.size()!=0)
form2.delete(0);
form2.append("姓名:"+Name+"\n年龄:"+Age+"\n公司:"+Comp+"\n住址:"+Addr+"\n电话:"+TEL);
display.setCurrent(form2);
}
}
else if (cmd == prevCommand){
try{
viewId=rdnum.previousRecordId();
}catch(Exception ex){}
readData(viewId);
if(form2.size()!=0)
form2.delete(0);
form2.append("姓名:"+Name+"\n年龄:"+Age+"\n公司:"+Comp+"\n住址:"+Addr+"\n电话:"+TEL);
form2.removeCommand(deleteCommand);
form2.removeCommand(modifyCommand);
fromDB=true;
display.setCurrent(form2);
}
else if (cmd == nextCommand){
try{
viewId=rdnum.nextRecordId();
}catch(Exception ex){}
readData(viewId);
if(form2.size()!=0)
form2.delete(0);
form2.append("姓名:"+Name+"\n年龄:"+Age+"\n公司:"+Comp+"\n住址:"+Addr+"\n电话:"+TEL);
form2.removeCommand(deleteCommand);
form2.removeCommand(modifyCommand);
fromDB=true;
display.setCurrent(form2);
}
else if (cmd == okCommand){
saveData("update", nameid);
display.setCurrent(list);
}
else if (cmd == backCommand){
viewList=true;
startApp();
}
else if (cmd == exitCommand){
try{
rdnum.destroy();
rs.closeRecordStore();
}catch(Exception ex){}
destroyApp(false);
notifyDestroyed();
}
}
public void changeType()
{
try{
rdnum=rs.enumerateRecords(null, null, false);
}catch(Exception ex){}
}
public void saveData(String Save, int indexid)
{
byte[] card=null;
try{
ByteArrayOutputStream saveBAOS=new ByteArrayOutputStream();
DataOutputStream saveDOS=new DataOutputStream(saveBAOS);
saveDOS.writeUTF(tf1.getString());
saveDOS.writeInt(Integer.parseInt(tf2.getString()));
saveDOS.writeUTF(tf3.getString());
saveDOS.writeUTF(tf4.getString());
saveDOS.writeInt(Integer.parseInt(tf5.getString()));
saveDOS.writeInt(indexid);
card=saveBAOS.toByteArray();
if(Save.equals("save"))
id=rs.addRecord(card, 0, card.length);
else
rs.setRecord(Integer.parseInt(list.getString(list.getSelectedIndex()).substring(0,list.getString(list.getSelectedIndex()).indexOf("."))), card, 0, card.length);
saveBAOS.close();
saveDOS.close();
}catch(Exception ex){}
}
public void readData(int recordid)
{
try{
data=rs.getRecord(recordid);
ByteArrayInputStream readBAIS=new ByteArrayInputStream(data);
DataInputStream readDIS=new DataInputStream(readBAIS);
Name=readDIS.readUTF();
Age=readDIS.readInt();
Comp=readDIS.readUTF();
Addr=readDIS.readUTF();
TEL=readDIS.readInt();
nameid=readDIS.readInt();
readBAIS.close();
readDIS.close();
}catch(Exception ex){
Name="no";
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -