Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home J2me J2ME Record Data Base

Related Tutorials


 
 

Share on Google+Share on Google+

J2ME Record Data Base

Advertisement
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

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: December 2, 2008

Related Tutorials

Discuss: J2ME Record Data Base   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0
DMCA.com