我的第二个J2ME程序,手机备忘录

本文介绍了一款基于Java ME平台的简易手机备忘录应用开发过程。该应用支持信息的增删改查,并通过TextBox进行信息录入,利用List显示记录,实现了基本的备忘录功能。

中兴实训的第一个作业,一个简单的手机备忘录。。

由于没学过JAVA,所以写得十分的ws,大牛勿鄙。。。。

 

作业题目:制作一个备忘录要求(用TextBox进行信息录入,长度限定为50个汉字,录入完毕后将信息保存到内存中,保存后跳转到List列表界面,设计可以对List中的信息进行删除,修改,添加操作,进行删除时要求有Alert提示框。

 

这个题目很是抽象的说。。到现在还不是很懂。。就随便写了一个。好囧

 

  1. /*Memo Design by Killua 2008.11.5*/
  2. import javax.microedition.midlet.MIDlet;
  3. import javax.microedition.midlet.MIDletStateChangeException;
  4. import javax.microedition.lcdui.*;
  5. public class Memo extends MIDlet implements CommandListener{
  6.     private Display display;
  7.     private String[] stringArray;
  8.     private int tbLen,numEdit;
  9.     private TextBox tbAdd,tbView,tbEdit;
  10.     private List list;
  11.     private Command saveCommand=new Command("Save",Command.OK,1);
  12.     private Command addCommand=new Command("Add",Command.ITEM,2);
  13.     private Command editCommand=new Command("Edit",Command.ITEM,3);
  14.     private Command deleteCommand=new Command("Delete",Command.ITEM,4);
  15.     private Command viewCommand=new Command("View",Command.ITEM,1);
  16.     private Command exitCommand=new Command("Exit",Command.EXIT,5);
  17.     private Command okCommand=new Command("OK",Command.OK,1);
  18.     private Command cancelCommand=new Command("Cancel",Command.CANCEL,1);
  19.     
  20.     public Memo() {
  21.         display=Display.getDisplay(this);
  22.         list=new List("",Choice.IMPLICIT);
  23.         stringArray=new String[100];
  24.         tbAdd=new TextBox("Add","",50,TextField.ANY);
  25.         tbEdit=new TextBox("Edit","",50,TextField.ANY);
  26.         tbView=new TextBox("View","",50,TextField.UNEDITABLE);
  27.         tbLen=numEdit=0;
  28.     }
  29.     protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  30.         // TODO Auto-generated method stub
  31.     }
  32.     protected void pauseApp() {
  33.         // TODO Auto-generated method stub
  34.     }
  35.     protected void startApp() throws MIDletStateChangeException {
  36.         tbAdd.addCommand(saveCommand);
  37.         tbAdd.addCommand(cancelCommand);
  38.         
  39.         tbEdit.addCommand(saveCommand);
  40.         tbEdit.addCommand(cancelCommand);
  41.         
  42.         tbView.addCommand(cancelCommand);
  43.         
  44.         list.addCommand(addCommand);
  45.         list.addCommand(editCommand);
  46.         list.addCommand(deleteCommand);
  47.         list.addCommand(viewCommand);   
  48.         list.addCommand(exitCommand);
  49.         
  50.         tbAdd.setCommandListener(this);
  51.         tbEdit.setCommandListener(this);
  52.         tbView.setCommandListener(this);
  53.         list.setCommandListener(this);
  54.         
  55.         display.setCurrent(tbAdd);  
  56.     }
  57.     public void commandAction(Command cmd,Displayable d)
  58.     {
  59.         if(tbAdd.isShown())
  60.         {
  61.             if(cmd==saveCommand)
  62.             {
  63.                 String stringAdd=tbAdd.getString();
  64.                 if(!stringAdd.equals(""))
  65.                 {               
  66.                     stringArray[tbLen++]=stringAdd;
  67.                     list.append(stringAdd,null);
  68.                 }
  69.                 display.setCurrent(list);       
  70.             }
  71.         }
  72.         if(tbEdit.isShown())
  73.         {
  74.             if(cmd==saveCommand)
  75.             {
  76.                 String stringEdit=tbEdit.getString();
  77.                 stringArray[numEdit]=stringEdit;
  78.                 list.set(numEdit,stringEdit, null);
  79.                 display.setCurrent(list);
  80.             }
  81.         }
  82.         if(cmd==cancelCommand)
  83.             display.setCurrent(list);       
  84.         if(list.isShown())
  85.         {
  86.             if(cmd==addCommand)
  87.             {
  88.                 tbAdd.setString("");
  89.                 display.setCurrent(tbAdd);
  90.             }
  91.             if(cmd==editCommand)
  92.             {               
  93.                 numEdit=list.getSelectedIndex();
  94.                 tbEdit.setString(stringArray[numEdit]);
  95.                 display.setCurrent(tbEdit);
  96.             }
  97.             if(cmd==deleteCommand)
  98.             {
  99.                 Alert al=new Alert("");
  100.                 al.setType(AlertType.WARNING);
  101.                 al.setString("you delete the record");
  102.                 al.setTimeout(2000);
  103.                 display.setCurrent(al);
  104.                 int i=list.getSelectedIndex();
  105.                 list.delete(i);         
  106.                 for(int j=i;j<tbLen-1;j++)
  107.                     stringArray[j]=stringArray[j+1];
  108.                 tbLen--;
  109.                 display.setCurrent(list);
  110.             }
  111.             if(cmd==viewCommand)
  112.             {
  113.                 int i=list.getSelectedIndex();
  114.                 tbView.setString(stringArray[i]);
  115.                 display.setCurrent(tbView);
  116.             }
  117.         }       
  118.         if(cmd==exitCommand)
  119.         {
  120.             notifyDestroyed();
  121.         }
  122.     }
  123. }

本来程序最开始的时候是用TextBox数组的,可是无伦怎么改也是数组非法访问,而

tbArray[tbLen++]=tbAdd;这个也不知道有什么问题,一直有错。。每次赋值都把所有的给覆盖掉了,orz。最后实在没招了,用String[]了。最后还是很ws的完成了。。

 

1.1版本

增加了Delete时候的判断。。。。

 

 

  1. /*Memo Design by Killua 2008.11.5*/
  2. import javax.microedition.midlet.MIDlet;
  3. import javax.microedition.midlet.MIDletStateChangeException;
  4. import javax.microedition.lcdui.*;
  5. public class Memo extends MIDlet implements CommandListener{
  6.     private Display display;
  7.     private String[] stringArray;
  8.     private int tbLen,numEdit,numDelete;
  9.     private TextBox tbAdd,tbView,tbEdit;
  10.     private List list;
  11.     private Alert al;
  12.     private Command saveCommand=new Command("Save",Command.OK,1);
  13.     private Command addCommand=new Command("Add",Command.ITEM,2);
  14.     private Command editCommand=new Command("Edit",Command.ITEM,3);
  15.     private Command deleteCommand=new Command("Delete",Command.ITEM,4);
  16.     private Command viewCommand=new Command("View",Command.ITEM,1);
  17.     private Command exitCommand=new Command("Exit",Command.EXIT,5);
  18.     private Command okCommand=new Command("OK",Command.OK,1);
  19.     private Command cancelCommand=new Command("Cancel",Command.CANCEL,1);
  20.     
  21.     public Memo() {
  22.         display=Display.getDisplay(this);
  23.         list=new List("Killua's Memo",Choice.IMPLICIT);
  24.         stringArray=new String[100];
  25.         tbAdd=new TextBox("Add","",50,TextField.ANY);
  26.         tbEdit=new TextBox("Edit","",50,TextField.ANY);
  27.         tbView=new TextBox("View","",50,TextField.UNEDITABLE);
  28.         al=new Alert("Waring");
  29.         al.setType(AlertType.WARNING);
  30.         al.setString("you delete the record,are you sure?");
  31.         al.setTimeout(Alert.FOREVER);
  32.         tbLen=numEdit=0;
  33.     }
  34.     protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  35.         // TODO Auto-generated method stub
  36.     }
  37.     protected void pauseApp() {
  38.         // TODO Auto-generated method stub
  39.     }
  40.     protected void startApp() throws MIDletStateChangeException {
  41.         tbAdd.addCommand(saveCommand);
  42.         tbAdd.addCommand(cancelCommand);
  43.         
  44.         tbEdit.addCommand(saveCommand);
  45.         tbEdit.addCommand(cancelCommand);
  46.         
  47.         tbView.addCommand(cancelCommand);
  48.         
  49.         list.addCommand(addCommand);
  50.         list.addCommand(editCommand);
  51.         list.addCommand(deleteCommand);
  52.         list.addCommand(viewCommand);   
  53.         list.addCommand(exitCommand);
  54.         
  55.         al.addCommand(okCommand);
  56.         al.addCommand(cancelCommand);
  57.         
  58.         al.setCommandListener(this);
  59.         tbAdd.setCommandListener(this);
  60.         tbEdit.setCommandListener(this);
  61.         tbView.setCommandListener(this);
  62.         list.setCommandListener(this);
  63.         
  64.         display.setCurrent(tbAdd);  
  65.     }
  66.     public void commandAction(Command cmd,Displayable d)
  67.     {
  68.         if(tbAdd.isShown())
  69.         {
  70.             if(cmd==saveCommand)
  71.             {
  72.                 String stringAdd=tbAdd.getString();
  73.                 if(!stringAdd.equals(""))
  74.                 {               
  75.                     stringArray[tbLen++]=stringAdd;
  76.                     list.append(stringAdd,null);
  77.                 }
  78.                 display.setCurrent(list);       
  79.             }
  80.         }
  81.         if(tbEdit.isShown())
  82.         {
  83.             if(cmd==saveCommand)
  84.             {
  85.                 String stringEdit=tbEdit.getString();
  86.                 stringArray[numEdit]=stringEdit;
  87.                 list.set(numEdit,stringEdit, null);
  88.                 display.setCurrent(list);
  89.             }
  90.         }
  91.         if(al.isShown())
  92.         {
  93.             if(cmd==okCommand)
  94.             {
  95.                 list.delete(numDelete);         
  96.                 for(int j=numDelete;j<tbLen-1;j++)
  97.                     stringArray[j]=stringArray[j+1];
  98.                 tbLen--;
  99.                 display.setCurrent(list);
  100.             }
  101.         }
  102.         if(cmd==cancelCommand)
  103.             display.setCurrent(list);       
  104.         if(list.isShown())
  105.         {
  106.             if(cmd==addCommand)
  107.             {
  108.                 tbAdd.setString("");
  109.                 display.setCurrent(tbAdd);
  110.             }
  111.             if(cmd==editCommand)
  112.             {               
  113.                 numEdit=list.getSelectedIndex();
  114.                 tbEdit.setString(stringArray[numEdit]);
  115.                 display.setCurrent(tbEdit);
  116.             }
  117.             if(cmd==deleteCommand)
  118.             {               
  119.                 display.setCurrent(al);
  120.                 numDelete=list.getSelectedIndex();              
  121.             }
  122.             if(cmd==viewCommand)
  123.             {
  124.                 int i=list.getSelectedIndex();
  125.                 tbView.setString(stringArray[i]);
  126.                 display.setCurrent(tbView);
  127.             }
  128.         }       
  129.         if(cmd==exitCommand)
  130.         {
  131.             notifyDestroyed();
  132.         }
  133.     }
  134. }

============================================

这个程序实在写了好久。。总体还不错的哈。。O(∩_∩)O

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值