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

📄 updata.java

📁 在手机上 可以 存取数据 删除 数据 一个简单的手机应用
💻 JAVA
字号:
import java.util.Vector;
import javax.microedition.lcdui.*;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordStore;
//下载广告
public class Updata  implements CommandListener,Reloadable{
   private DataSave dataSave;
    private Display display;         //为退出该界面而设置
    private Displayable displayable; //同上
    private Jianhuaban m_mp;
   // private Vector vector = new Vector();
    private RecordStore rs=null;
    private  Container container;
    private Form f;
    private MyCommand myCommand;
    
    public Updata(Jianhuaban mp,DataSave dataSave) {  //参数模拟news类构造函数
       // this();
        m_mp=mp;
        this.dataSave=dataSave;
    }
     public Updata() {  
  
    }
    //如果该方法没有注释掉,在Jianhuaban的70,71行和Instead的36,39就会报错
     //原来没有注释掉方法中的this();出现上边的错误,看来还需要复习复习java基础了
     //Jianhuaban m_mp,HttpDataAgent m_hda,Displayable displayable,Container container
   // public Updata(Jianhuaban mp,Displayable displayable,Container container){
        //this();
   //     this.container=container;
   //     m_mp=mp;
   //     this.displayable=displayable;
   //     this.display=Display.getDisplay(m_mp);
  //  }
     public Updata(Jianhuaban m_mp,HttpDataAgent m_hda,Displayable displayable,Container container){
        //this();
      this.container=container;
        this.m_mp=m_mp;
       this.displayable=displayable;
       this.display=Display.getDisplay(m_mp);
   }

   
    public Updata(RecordStore rs){
        this.rs=rs;
    }
 
    public void DownRec(String str){
        String strParam="";
       //重写也不行,为什么只有读取ad的id,后边的无法读取,下边的行注释掉就会发生异常
        //这个语句下载数据并启动进度条 晋注释
        m_mp.m_hda.DownData("newweb/wap/"+str+".asp",strParam,get_fNewsContent(),this,container); 
     
    }
    
    
     //启动下载数据
    public  boolean Reload(){
        loadAD();
        return true;
    }
   

  
     public  void initialize(String str){
     DownRec(str);
   }
     public boolean loadAD(){
       
       
         int i,j,m;
         StringBuffer strTmp=new StringBuffer();
         Vector v =new Vector();
         Vector adIDv=new Vector();
         //j= m_mp.m_hda.m_iRecCount<Num.adNum?m_mp.m_hda.m_iRecCount:Num.adNum;//取两者较小者,  //为什么要取两者较小的一个
         //j再和rms包中读取的最后id进行比较,
         //把类似于adid的反序列
         SortComparator sortCom = new SortComparator();
    
         int a=0;
       //  try{
             
      //       RecordStore rs=RecordStore.openRecordStore(container.getAD(),true,RecordStore.AUTHMODE_PRIVATE,true);
      //       if(rs.getNumRecords()>0){
      //           RecordEnumeration re=rs.enumerateRecords(null,sortCom,true);
                 
      //           while(re.hasNextElement()){
      //               container=Container.deserializeAD(re.nextRecord());
      //               a=container.AdID;
     //            }
    //         }
   //          rs.closeRecordStore();
   //      }catch(Exception e){
   //          e.printStackTrace();
    //     }
         // a为rms包内的id号码
      int y=m_mp.m_hda.m_iRecCount-Num.adNum>m_mp.m_hda.m_iRecCount-a?m_mp.m_hda.m_iRecCount-Num.adNum:m_mp.m_hda.m_iRecCount-a;//取两者比较大的那个
      //container=new Container();
       int new_id=0;
       String str="";
      for(i=0; i<=m_mp.m_hda.m_iRecCount; i++){
          
          for(j=y;j<=m_mp.m_hda.m_iRecCount;j++){
            
              if( !m_mp.m_hda.GetNextFld(null,strTmp)){
                  return false;
              }
              
              new_id=Integer.parseInt(strTmp.toString());
              adIDv.addElement(new Integer(new_id));
              
              container.setAdID(new_id);
              
              //* ctnt
              if( !m_mp.m_hda.GetNextFld(null,strTmp)){
                  return false;
              }
              str = strTmp.toString();
              container.setAdContent( str) ; //返回广告的内容,container
          
              v.addElement(container.getAdContent());
              
          }
     }
       
         //container.o_AdID=container.AdID;
      // Jianhuaban jianhuaban=new Jianhuaban(container);
         save("ad",Num.adNum,adIDv,v,m_mp.m_hda.m_iRecCount,container,dataSave);
         v.removeAllElements();
         adIDv.removeAllElements();
        
         //在这里要记录一下这次更新的id
       return true;
     }

    
    
    

   
    
   
   
     /*
      *para  fileName 是需要各种保存的各种文件
      *para  num 是吕那边指定的参数
      *para i 是从上边方法
      *para id 是load方法中的m_mp.m_hda.m_iRecCount
      *para v1 是保存id的
      *para v2是保存内容的
      * //目前我们假设自己定义的id
      *
      */
    // private  void  save(String fileName,int  num,Container c,int id){
    public   void  save(String fileName,int  num,Vector v1,Vector v2,int id,Container container,DataSave dataSave){
   
    
      dataSave.openTheStore(fileName);
       container.setVectorV1(v1);
       container.setVectorV1(v2);
        int j=dataSave.getCurrentID();
        
        StringBuffer sb=new StringBuffer();
        if(dataSave.getNum()==0||id<=num){
            for(int i=0;i<id;i++){
                //for(int i=1;i<id;i++){
                   
                dataSave.addTheStore(fileName,container);
                // ds.aaaa(fileName,c,str);  //测试c用的
            }
        }
        if(dataSave.getNum()!=0&&id>num){
            for(int i=id-num+j+1;i<=id;i++){
                dataSave.addTheStore(fileName,container);
            }
            for(int i=id-num+1;i<id-num+j;i++){
                dataSave.setTheData(fileName,container);
            }
        }
        if(dataSave.getNum()!=0&&id >num){
            for(int i=id-num+1;i<=id;i++){
                dataSave.setTheData(fileName,container);
            }
        }

    }
    ////////////////////////////////////////////12-7
    /*
     public   void  save(String fileName,int  num,Vector v1,Vector v2,int id,Container container,DataSave dataSave){
        
      //  DataSave ds=new DataSave(fileName);
      dataSave.openTheStore(fileName);
       container.setVectorV1(v1);
       container.setVectorV1(v2);
        int j=dataSave.getCurrentID();
        
        StringBuffer sb=new StringBuffer();
        if(ds.getNum()==0||id<=num){
            for(int i=0;i<id;i++){
                //for(int i=1;i<id;i++){
                   
                ds.addTheStore(fileName,container);
                // ds.aaaa(fileName,c,str);  //测试c用的
            }
        }
        if(ds.getNum()!=0&&id>num){
            for(int i=id-num+j+1;i<=id;i++){
                ds.addTheStore(fileName,container);
            }
            for(int i=id-num+1;i<id-num+j;i++){
                ds.setTheData(fileName,container);
            }
        }
        if(ds.getNum()!=0&&id >num){
            for(int i=id-num+1;i<=id;i++){
                ds.setTheData(fileName,container);
            }
        }

    }
     */
     //////////////////////////////////////////////////////////////
  /*
     public   void  save (String fileName, int  num,int id,Container container){
        
        DataSave ds=new DataSave(fileName);
      
    
        int j=ds.getCurrentID();
        
        StringBuffer sb=new StringBuffer();
        if(ds.getNum()==0||id<=num){
            for(int i=0;i<id;i++){
                //for(int i=1;i<id;i++){
                   
                ds.addTheStore(fileName,container);
                // ds.aaaa(fileName,c,str);  //测试c用的
            }
        }
        if(ds.getNum()!=0&&id>num){
            for(int i=id-num+j+1;i<=id;i++){
                ds.addTheStore(fileName,container);
            }
            for(int i=id-num+1;i<id-num+j;i++){
                ds.setTheData(fileName,container);
            }
        }
        if(ds.getNum()!=0&&id >num){
            for(int i=id-num+1;i<=id;i++){
                ds.setTheData(fileName,container);
            }
        }

    }
   */
    
    public Form get_fNewsContent() {
        if(f==null){
            myCommand=new MyCommand();
            f=new Form("百医信息站->手机平台会议系统");
            f.addCommand(myCommand.getBack());
            f.setCommandListener(this);
        }
        return  f;
        
    }
   
   
    public void commandAction(Command c,Displayable d){
        if(c==myCommand.getBack()){
          
           display.getDisplay(m_mp).setCurrent(displayable);//添加需要返回的界面,面前的问题是如何displayable传递到该类中
        }
    }
 
}
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -