Home J2me J2ME Record Data Base



J2ME Record Data Base
Posted on: December 2, 2008 at 12:00 AM
This Application is used to explain how to store data in the database.

J2ME Record Data Base

     

This Application is used to explain how to store data in the database. In this example we are going to import the javax.microedition.rms package to access the RecordStore class. The RecordStore class is used to get the data through the getRecord() method, write the data through setRecord() method, open the record through openRecordStore() method, close the record through closeRecordStore() and delete the data through deleteRecord() method. In this example all record and size of the record display on the console screenshot is given below.

RecordDataBase.java

import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;

public class RecordDataBase extends MIDlet {
  static final String DBNAME = "RecordDataBase";
  
  public void startApp(){
  RecordStore rs = null;
  try{
  RecordStore.deleteRecordStore(DBNAME);
  } catch(Exception e){}

  try{
  rs = RecordStore.openRecordStore(DBNAME, true);
  byte[] data1 = "First Record".getBytes();
  byte[] data2 = "Second Record".getBytes();
  byte[] data3 = " Third Record".getBytes();
  data3[0] = 0;
  data3[data3.length-1] = (byte) -1;
  rs.addRecord(data1, 0, data1.length);
  rs.addRecord(data2, 0, data2.length);
  rs.addRecord(data3, 0, data3.length);
  storeData(rs, System.out);
  rs.closeRecordStore();
  }catch(RecordStoreException e){
  System.out.println(e);
  }
  notifyDestroyed();
  }

  public void pauseApp(){}

  public void destroyApp(boolean unconditional){}
  
  public void storeData(RecordStore rs, PrintStream out){
  if(rs == null) return;
  StringBuffer hexLine = new StringBuffer();
  StringBuffer charLine = new StringBuffer();

  try{
  int lastID = rs.getNextRecordID();
  byte[] data = new byte[100];
  int size;

  for(int i = 1; i < lastID; ++i){
  try{
  size = rs.getRecordSize(i);
  if(size > data.length){
  data = new byte[size * 2];
  }
  out.println("-------------------------------------");
  out.println("Size = " + size);
  out.println("-----------------------------------");
  rs.getRecord(i, data, 0);
  storeRecord(data, size, out, hexLine, charLine, 16);
  out.println(" ");
  } catch(InvalidRecordIDException e){
  continue;
  }
  }
  } catch( RecordStoreException e ){
  out.println(e);
  }
  }

  private void storeRecord(byte[] data, int size, PrintStream out, 
	StringBuffer  hexLine, StringBuffer charLine, int maxLen ){
  if(size == 0) return;
  hexLine.setLength(0);
  charLine.setLength(0);
  int count = 0;
  for(int i = 0; i < size; ++i){
  char b = (char) (data[i] & 0xFF);

  if(b < 0x10){
  hexLine.append('0');
  }
  hexLine.append(Integer.toHexString(b));
  hexLine.append(' ');

  if((b >= 32 && b <= 127) ||
  Character.isDigit(b) ||
  Character.isLowerCase(b) ||
  Character.isUpperCase(b)){
  charLine.append((char)b);
  } else {
  charLine.append(' ');
  }

  if(++count >= maxLen || i == size-1){
  while(count++ < maxLen){
  hexLine.append(" ");
  }
  hexLine.append(' ');
  hexLine.append(charLine.toString());
  out.println( hexLine.toString());
  hexLine.setLength(0);
  charLine.setLength(0);
  count = 0;
  }
  }
  }
}

Download Source Code

Related Tags for J2ME Record Data Base:
javacdatabaseclassdataapplicationimportiosedportthisaipackageapptabeditexamplerecordrecordstodstedibaseexamstoreeitaxliusejavaximceinrmasmcajpackclesrmsaseagehowicrppackcatexplaintorxaxampsvaxeditionessatpackismicrmplgoarccrdsrtxpvassrdrecordstorethavstaccessabatiapicaicapleplplaimiono


More Tutorials from this section

Ask Questions?    Discuss: J2ME Record Data Base   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.