⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recorddata6.java

📁 一本介绍手机游戏开发的书中的源代码
💻 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 + -