Nhận Biết Thay Đổi Với RecordListener

Một phần của tài liệu Giáo trình: Java và công nghệ J2ME pdf (Trang 81 - 85)

Để phát hiện các thay đổi cũng như thêm vào các Record trong RecordStore, RMS cung cấp giao diện RecordListener. Giao diện này định nghĩa 3 phương thức, các phương thức có 2 trị vào là một đối tượng kiểu RecordStore và một số int chứa recordID. Các phương thức đó là:

RecordListener Interface:

javax.microedrtiQn.rins.RecordListener

void

recordAdded(RecordStore recordStore, int recordId)

Duoc goi khi them 1 record

void

recordChanged(RecordStore recordStore, int recordId)

Duoc goi khi record bi thay doi

void

recordDeleted(RecordStore recordStore, int recordId)

Vi du : su dung RecordListener

/*---

* RmsListener.java * */

import java.io.*;

import javax.microedition.midlet.*; import

javax.microedition.rms.*; public class RmsListener extends MIDlet { private RecordStore rs = null; static final String RECSTORE = "db_8"; public

RmsListener() {

// Open record store and add listener openRecStore();

rs.addRecordListener(new TestRecordListener()); //Initiate actions that will wake up the listener

writeRecord("J2ME and MIDP"); updateRecord("MIDP and J2ME"); deleteRecord();

closeRecStore(); // Close record store deleteRecStore();

// Remove the record store }

public void destroyApp( boolean unconditional) {} public void startApp() {

// There is no user interface, go ahead and shutdown destroyApp(false);

notifyDestroyed();

}

public voidpauseApp() {} public void openRecStore() {

try {

// Create record store if it does not exist

rs = RecordStore.openRecordStore(REC_STORE, true);

}

catch (Exception e) { db(e.toString());

} } }

try { rs.closeRecordStoreQ; } catch (Exception e) { db(e.toString()); } }

public void deleteRecStore() {

if (RecordStore.listRecordStores() != null) { try {

RecordStore.deleteRecordStore(RECSTORE);

}

catch (Exception e) { db(e.toString());

} } } }

public void writeRecord(String str) { byte[] rec = str.getBytes(); try { rs.addRecord(rec, 0, rec.length); } catch (Exception e) { db(e.toString()); } }

public void updateRecord(String str) { try {

rs.setRecord(1, str.getBytes(), 0, str.length());

}

catch (Exception e) { db(e.toString());

} } }

public void deleteRecord() { try {

rs.deleteRecord(1);

}

catch (Exception e) { db(e.toString());

}

public void dbfString str) {

System.err.println("Msg: " + str); }

}

class TestRecordListener implements RecordListener {

public void recordAdded(RecordStore recordStore, int recordId) { try {

System.out.println("Record with ID#: " + recordId + "added to RecordStore: " + recordStore.getName()); } catch (Exception e) { System.err.println(e); } }

public void recordDeleted(RecordStore recordStore, int recordId) { try {

System.out.println("Record with ID#: " + recordId + "deleted from RecordStore: " + recordStore.getName()); } catch (Exception e) { System.err.println(e); } }

public void recordChanged(RecordStore recordStore, int recordId) { try{

System.out.println("Record with ID#: " + recordId + "changed in RecordStore: " recordStore.getName());

} catch (Exception e) { catch (Exception e) { System.err.println(e); } } }

Một phần của tài liệu Giáo trình: Java và công nghệ J2ME pdf (Trang 81 - 85)