หน้าแรก
 การบ้าน
  C/C++ new
  Java new
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามมาได้ตลอดนะ...
2015-07-29 13:35:58
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะ...
2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลอ...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรื...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  เขียนโปรแกรมภาษาจาวา
1.โ...

2023-09-12 11:40:28
  ต้องลอง debug ดูเองครับ
ไล่...

2023-06-08 18:03:06
  ร้านค้าแห่งหนึ่ง จะต้องน...
2021-09-21 08:47:08
  จงเขียนโปรแกรมดำเนินการ...
2021-05-07 15:06:11
  จงเขียนโปรแกรมสำหรับคำน...
2021-03-09 14:21:45
  ขอดู...
2021-01-04 23:56:45
  ขอโค้ดเพื่อทำการเรียนกา...
2020-12-09 23:02:09
  แล้ว ?...
2020-12-09 10:56:34
  จ้า...
2020-10-18 16:53:21
  พอดีผมเหลื่อแค่ตัดสต๊อก...
2020-05-31 21:49:43
  Homework comment
  เขียนโปรแกรมเพื่อรับค่า...
2022-02-24 10:45:17
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  โจทย์การบ้าน c++ เขียนรูปแ...
2020-04-06 11:01:33
  แบบนี้ขอเป็น ภาษา php หน่อย...
2019-09-18 14:36:34
  ผมไม่อยากให้คุณได้คะแนน...
2019-04-27 01:29:07
  อาจารย์เขาบอกแนวข้อสอบม...
2019-04-27 00:44:29
  ขอสอบถามการเขียน c++ ครับ เ...
2018-04-02 12:19:21
  โค้ดตัวอย่างศึกษาให้เข้...
2017-11-26 14:50:05
  คำนวณค่าน้ำโดยรับค่ามิเ...
2017-11-20 23:15:26
  Article comment
  เท่าที่อ่าน error คือพื้นที่...
2022-03-23 13:56:48
  เรียน สอบถามปัญหา กับ อ.คร...
2022-01-24 17:39:49
  ต้องการ ให้เขียน โปรแกรม ...
2019-12-09 11:39:58
  รับเขียน arx จาก vc++ 2017 ล็อคโปร...
2019-09-19 09:48:09
  ทำการ register ไฟล์ที่ชื่อ mswinsck.oc...
2019-09-17 14:05:56
  ใน vb 6 ไม่มี component winsock เลยค่ะ ส...
2019-09-03 10:31:02
  รบกวนขอสอบถามหน่อยนะครั...
2019-03-04 05:31:04
  สามารถนำตัวหนังสือจากภา...
2018-12-25 08:54:32
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
...

2017-07-11 09:59:35
  9Mcode comment

Link Exchange

อัตราค่าโฆษณา
 
 J2ME (Java Micro Edition) Tutorial  

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 J2ME (Java Micro Edition)
 
 

บทที่ 6 Record Management System

 

บทที่ 6 Record Management System

MIDlet Persistent Storage

ในการพัฒนาโปรแกรมต่างๆ จำเป็นจะต้องมีระบบ สำหรับการจัดเก็บข้อมูล การทำงานต่างๆ หรือ ค่า config ของโปรแกรม ซึ่งหากเป็นบน ระบบปฏิบัติการ Windows คุณจะสามารถใช้ การเก็บข้อมูล ลงใน Text file หรือแม้กระทั่ง ลงใน ฐานข้อมูล

แต่สำหรับการเขียนโปรแกรมบนมือถือ ที่รองรับกับ MIDP แล้ว ข้อมูลต่างๆที่คุณต้องการเก็บ จะสามารถบันทึก และถูกเรียกใช้ผ่านทาง Record Management System (RMS) ซึ่งเป็นระบบจัดการ กับข้อมูล ที่เป็นแบบ เรคคอร์ด ( Record) เช่นเดียว กับฐานข้อมูลอื่นๆ ที่จะเก็บข้อมูลไว้บนเรคคอร์ด

โดย RMS จะอยู่ในชุดของ Package javax.microediton.rms และมีความสามารถในการแชร์ ข้อมูลให้กัน ภายใน MIDlet suite เดียวกัน ,สามารถเรียง, กรองข้อมูลได้ ,มี API ในการติดต่อสั่งงาน.

RMS with MIDlet
รูปที่ 48 แสดงโครงสร้างของ Record Management System
ที่สัมพันธ์กับ MIDlet

RecordStore

ในการจัดเก็บข้อมูล (Record-เรคคอร์ด) ข้อมูลจะถูกทำการบันทึกไว้ใน RecordStore (ที่เก็บเรคคอร์ด) โดยข้อมูลที่ถูกจัดเก็บไว้นั้น จะมีชื่อที่ไม่ซ้ำกัน ลักษณะของ RecordStore จะประกอบด้วย

  • ชื่อ
  • หมายเลข
  • จำนวนของ Record ที่อยู่ข้างใน
  • เวลา
  • ขนาดของแต่ละ Record
  • ขนาดโดยรวมของทั้งหมด
  • จำนวนพื้นที่ที่ยังเหลือ
  • หมายเลขรุ่น

RecordStore
รูปที่ 49 แสดงโครงสร้างของ Record Store

Record

เรคคอร์ดเป็นส่วนของข้อมูล ที่จะถูกเก็บข้อมูลไว้ ลักษณะของ เรคคอร์ด จะเป็น อะเรย์ของไบต์ (array of bytes) โดยมี หมายเลข กำกับอยู่ด้วย (Record ID)

RMS and Exception

ในชุดของ javax.microediton.rms จะมี Class ที่ใช้ในการจัดการ ดังนี้

  • RecordStore
  • RecordComparator
  • RecordEnumeration
  • RecordFilter
  • RecordListener

ส่วนของ Exception ต่างๆได้แก่

  • InvalidRecordID
  • RecordStoreException
  • RecordStoreFullException
  • RecordStoreNotFoundException
  • RecordStoreNotOpenException

Opening Record Stores

วิธีในการเปิด Record Stores เพื่อจะใช้งาน สามารถทำได้โดย

public static RecordStore openRecordStore(String recordStoreName, boolean 
        createIfNecessary) throws RecordStoreException, RecordStoreFullException, 
        RecordStoreNotFoundException

ตัวอย่าง

RecordStore rs = RecordStore.openRecordStore("Address", true);

จะเป็นการเรียกเพื่อเปิด Record Store ที่ชื่อ Address หากไม่มี Record Store ดังกล่าวอยู่ก่อนหน้า จะมีการสร้าง Record Store นี้ขึ้นมาใหม่ ให้โดยอัตโนมัติ

Closing/Removing Record Store

ในการปิด Record Store สามารถทำได้โดย

public void closeRecordStore()

และเมื่อต้องการลบ Record Store จะใช้

public void deleteRecordStore(String recordStoreName)

Listing RecordStore

เมื่อต้องการแสดงข้อมูลที่อยู่ใน Record Store ทั้งหมดสามารถทำได้โดย

public static String[] listRecordStores()

ตัวอย่าง

   public String populateList() {
String []stores = RecordStore.listRecordStores();
StringBuffer s = new StringBuffer();

if (stores != null) {
for (int i = 0; i < stores.length; i++) {
s.append(stores[i] + "\n");
}
} else {
s.append("no record store");
}
return s.toString();
}

Getting RecordStore Information

หาขนาดของ Record Store (ในหน่วยของ Byte)

public int getSize()

หาขนาดของหน่วยความจำที่เหลือกสำหรับการสร้าง Record Store

public int getSizeAvailable()

หาค่าเวลาล่าสุด ที่มีการใช้งาน Record Store

public long getLastModified()

หาเวอร์ชั่นของ Record Store

public int getVersion()

Getting Record Information

หาขนาดของ Record

public int getRecordSize(ing recordID)

หาจำนวน Record ที่อยู่ใน Record Store

public int getNumRecords()

หาค่า ID ของ Record ถัดไป

public int getNextRecordID()

Adding Records

ในการเพิ่ม เรคคอร์ด สามารถทำได้โดยใช้ เมธอด addRecord

public int addRecord(byte[] data, int offset, int numByte)

โดยข้อมูลจะโดนแปลง ให้เป็น Byte ก่อนทำการใช้เมธอด

 public void addNewRecord() {
String s = "Thanachart Numnonda";
byte[] data = s.getBytes();
try {
id = rs.addRecord(data, 0, data.length);
} catch (RecordStoreFullException ex) {
} catch (RecordStoreException ex) {
}
}

Retrieving Records

ในการดึงข้อมูลจาก เรคคอร์ดขึ้นมาแสดง สามารถใช้ เมธอด getRecord ได้สองรูปแบบ คือ

public byte[] getRecordID(int recordID)

และ

public int getRecord(int recordID, byte[] buffer, int offset)

ตัวอย่าง

try {
byte []data = new byte[rs.getRecordSize(id)];
rs.getRecord(id, data, 0);
String s = new String(data);
} catch (RecordStoreException ex) {
}

Deleting and Replacing Records

สำหรับการลบเรคคอร์ด สามารถกระทำได้ผ่านทาง เรคคอร์ด

public void deleteRecord(int recordID)

ในการ แก้ไขข้อมูลของ เรคคอร์ด สามารถกำได้ได้โดยใช้ เมธอด setRecord

public void setRecord(int recordID, byte[] newData, int offset, int numBytes)

ในบทนี้ เราได้ให้ความรู้เกี่ยวกับ ลักษณะ การเก็บข้อมูลและจัดการกับข้อมูล ซึ่งมีประโยชน์ เป็นอันมาก ในการใช้พัฒนาโปรแกรม เพื่อให้เกิดความเข้าใจมากยิ่งขึ้น ให้คุณทดลองโปรแกรมในภาคปฏิบัติ จะได้เห็นถึงการใช้งานจริง

 

BACK

คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
อัตราค่าโฆษณา
 
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th