หน้าแรก
 การบ้าน
  C/C++ new
  Java new
 Sourcecode.TV
  Android
  Blackberry
  C/C++
  Java
  Linux
  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
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  DoodeeHosting
  รับออกแบบ พัฒนาเว็บไซต์
  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
  ถ้าผมต้องการเว็บที่พัฒนาด้วย HTML5 ...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒนาด้วย HTML5 ...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะคับ
งานเล...

2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลองศึกษาเองได...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก่อนได้นะคับ...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต่อได้ครับ 08...
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
  ถ้าเขียน php ก็ใช้ curl ส่...
2017-04-20 01:04:20
  เขียนโค้ดไม่เป็น เอาโค้ดไป ...
2017-03-27 12:50:54
  คือสงสัยว่าทำไม ต้องอัพเดทด...
2017-03-27 12:37:20
  ทดสอบการตอบ...
2017-02-22 13:10:24
  ลองอีกวิธีเขียน recursive f...
2017-02-14 13:11:03
  อยากได้ โค้ดระบบห้องสมุดมาก...
2017-01-30 11:45:28
  ทำ for-loop ซ้อนกัน
โดย...

2017-01-28 16:00:12
  เดาว่าใช้ Stack เข้ามาช่วย...
2017-01-28 15:57:09
  ยืมเสร็จแล้ว ก็เอามาคืนด้วย...
2016-10-27 14:56:42
  ยืมโค้ดหน่อยครับ...
2016-10-27 14:49:44
  Homework comment
  ทำเอง งง เอง กะลังทำใหม่ค่ะ ^^...
2017-04-18 18:40:46
  ทำเอง งง เอง กะลังทำใหม่ค่ะ ^^...
2017-04-18 18:37:54
  ประเด็นแรก flowchart มันไม่มีภ...
2017-04-18 17:43:33
  อยากได้ flowchart ค่ะ เป็นภาษา...
2017-04-18 16:25:29
  kungking คำถามคืออะไรครับ ?...
2017-03-18 23:28:36
  จงเขียนโปรแกรมแสดงผลรวมของตัวเ...
2017-03-06 10:56:25
  ก็โค้ดทำงานคล้ายๆแบบนี้หละ แต่...
2016-09-06 01:00:12
  ผมอยากทราบว่าโค้ดนับถอยหลังเป็...
2016-09-05 09:31:27
  ได้โค้ดแล้ว ลองศึกษาแล้วเขียนผ...
2016-04-22 00:47:49
  ขอแผนผังของโปรแกรมนับตัวอักษรภ...
2016-04-21 19:24:55
  Article comment
  ครับ คุณ "ติด" แล้วลองนึกต่อว่...
2016-06-18 15:21:09
  vs2008 c# ครับ ขอบคุณครับ...
2016-06-17 14:39:30
  ผมใช้ vs c# ทำตามทุขั้นตอนแต่ต...
2016-06-17 14:37:44
  ต้องวิเคราะห์ครับ "ว่าจริงๆ ส่...
2016-03-12 23:36:05
  ผมส่งข้อความในวง LAN ได้เฉพาะค...
2016-03-12 18:25:42
  โปรแกรม Terminal บน Mac ก็เป็น...
2016-02-16 11:02:01
  โปรแกรม Terminal คืออะไรหรอคะ...
2016-02-16 05:58:21
  ไปตั้ง โครงการไว้เลยครับ ที่
2016-01-25 13:29:55
  ด่วน!!! ต้องการคนเขียน App โดย...
2016-01-25 10:56:34
  ผมได้ทำตามคำแนะนำจนสิ้นสุดแล้ว...
2016-01-20 23:30:25
  9Mcode comment
  อยากได้...
2014-02-21 08:52:19

Link Exchange

อัตราค่าโฆษณา
Statistics of Sourcecode in Thailand
 
 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

สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
ไขควงสำหรับเครื่อง Macbook Air/Pro
ไขควง สำหรับแกะเครื่อง Macbook Air/Pro (300บาท)
HDMI เข้า 3 ออก  1 มีรีโมท
HDMI เข้า 3 ออก 1 มีรีโมท (350บาท)
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
9M Blog บอกเล่าเรื่องราว การเขียนโปรแกรมของ นายเอ็ม
บริการ ถ่ายภาพรับปริญญา
OrmSin.com: ขายหนังสืองานฝีมือไทย-ญี่ปุ่น-จีน (country crafts)
อัตราค่าโฆษณา
 
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ
Freelance รับพัฒนาโปรแกรม

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

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