Bài giảng Lập trình J2ME cho thiết bị di động - Phần 4
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 4 LẬPTRÌNHJ2MECHOTHIẾTBỊDIĐỘNG PHẦN4 Bãiráccủaanh^_^ 5.RecordManagementSystem(RMS) MIDPkhôngsửdụnghệthốngfileđểlưutrữdữliệu.ThayvàođóMIDPlưutoànbộthông tinvàononvolatilememory(dunglượngvùngnhớ)bằnghệthốnglưutrữgọilàRecord ManagementSystem(RMS). RMSlàhệthốngđượctổchứcvàquảnlýdướidạngcácrecord(bảnghi).Mỗibảnghicó thểchứabấtkỳloạidữliệunào:kiểusốnguyên,chuỗikýtự,mộtảnhvàkếtquảcủamột Recordlàmộtchuỗi(mảng)cácbyte.Nếubạnmãhoádữliệucủabạndướidạngnhịphân (binary),bạncóthểlưutrữdữliệubằngRecordsauđóđọcdữliệutừRecordvàkhôiphục lạidữliệubanđầu.Kíchthướcdữliệukhôngđượcvuợtquágiớihạnquiđịnhcủathiếtbị diđộng.RMSlưudữliệugầnnhưmộtcơsởdữliệu,baogồmnhiềudòng,mỗidònglại cómộtsốđịnhdanhduynhất. Mộttậpcácbảnghi(RecordStore)làtậphợpcácRecordđượcsắpxếpcóthứtự.Mỗi RecordkhôngthểđứngđộclậpmànóphảithuộcvàomộtRecordStorenàođó,cácthaotác trênRecordphảithôngquaRecordStorechứanó.KhitạoramộtRecordtrongRecordStore, RecordđượcgánmộtsốđịnhdanhkiểusốnguyêngọilàRecordID.Recordđầutiênđược tạorasẽđượcgánRecordIDlà1,sẽtăngthêm1chocácRecordtiếptheo.RecordIDkhông làchỉmục(index),cácthaotácxóaRecordtrongRecordStoresẽkhôngtínhtoánlạicác RecordIDcủacácRecordhiệncócũngkhôngthayđổiRecordIDcủacácRecordđượctạo mới,vídụ:xóarecordid3,thêmmộtrecordmớisẽcóidlà4.Datalàmộtdãycácbyteđại diệnchodữliệucầnlưu. TênđượcdungđểphânbiệtcácRecordStoretrongbộcácMIDlet(MIDletsuite).MIDlet suitelàtậpcácMIDletcóchungkhônggiantên(namespace),chiasẻcùngtàinguyên(như RecordStore),cácbiếntĩnh(staticvariable)trongcáclớpvàcácMIDletnàysẽđượcđóng góitrongcùngmộtfilekhitriểnkhai.NếuứngdụngcủabạnchỉcómộtMIDletthìcác RecordStoređượcsửdụngcũngphânbiệtlẫnnhaubằngcáctên.TêncủaRecordStorecó thểdàiđến32kýtựUnicodevàlàduynhấttrongmộtMIDletsuite. 2 CácvấnđềliênquanđếnRMS Hạnchếvềkhảnănglưutrữcủathiếtbịdiđộng:Dunglượngvùngnhớ (nonvolatilememory)dànhriêngchoviệclưutrữdữliệutrongRMSthayđổitùy theothiếtbịdiđộng.ĐặctảMIDPyêucầurằngcácnhàsảnxuấtthiếtbịdiđộng phảidànhravùngnhớcókíchthướcítnhất8Kchoviệclưutrữdữliệutrong RMS.ĐặctảkhôngnêugiớihạntrênchomỗiRecord.RMScungcấpcácAPIđể xácđịnhkíchthướccủamỗiRecord,tổngdunglượngcủaRecordStorevàkích thướccònlạicủavùngnhớnày.Dođótrongquátrìnhpháttriểncácứngdụng J2MEbạnphảicânnhắctrongviệcsửdụngvùngnhớnày. Tốcđộtruyxuấtdữliệu:Cácthaotáctrênvùngnhớnàysẽchậmhơnnhiềukhi truyxuấtdữliệutrênbộnhớRAM.Giốngnhưtốcđộđọcổcứngvàtốcđộđọc từRAMcủamáytính.Trongkỹthuậtlậptrìnhphảithườngxuyêncachedữliệu vàcácthaotácliênquanđếnRMSchỉthựchiệntậptrungmộtlần(lúckhởiđộng hayđóngứngdụng). Cơchếluồngantoàn:NếuRecordStorechỉđượcsửdụngbởimộtMIDlet, khôngphảilolắngvìRMSsẽdànhriêngmộtThreadđểthựchiệncácthaotác trênRecordStore.TuynhiênnếucónhiềuMIDletvàThreadcùngchiasẻmột RecordStorethìphảichúýđếnkỹthuậtlậptrìnhThreadđểđảmbảokhôngcósự xungđộtdữliệu 3 CáchàmAPItrongRMS(1) RecordStorekhôngcóhàmkhởitạo. RecordStoreClass:javax.microedition.rms.RecordStore staticRecordStoreopenRecordStore(StringrecordStoreName,booleancreateIfNecessary): MởmộtRecordstore,cóthamsốtạoRecordstorenếunóchưatồntại. Vídụ:chỉduynhất1đốitượngRecordStoređượctạomặcdùmởnhiềulầncùng1tênprivateRecordStorers=null;staticfinalStringREC_STORE=db_1;privatevoiddb(Stringstr){ System.err.println(Msg:+str); }}publicvoidopenRecStore(){ try{ //Createrecordstoreifitdoesnotexist rs=RecordStore.openRecordStore(REC_STORE,true); } catch(Exceptione){ db(e.toString()); }} Vớithamsốtrue,hàmsẽtạomộtRecordStorenếunóchưatồntại. 4 CáchàmAPItrongRMS(2) voidcloseRecordSto ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Lập trình J2ME cho thiết bị di động Lập trình J2ME cho thiết bị di động Vấn đề liên quan đến RMS Các hàm API trong RMS Chuyển đổi dữ liệu Đọc dữ liệu kiểu cơ bảnGợi ý tài liệu liên quan:
-
Hệ quản trị cơ sở dữ liệu Oracle 9i (Tập 2): Phần 1
122 trang 28 0 0 -
Bài giảng Nhập môn Học máy và Khai phá dữ liệu - Chương 2: Thu thập và tiền xử lý dữ liệu
20 trang 27 0 0 -
Bài giảng Kiến trúc máy tính: Chương II
31 trang 24 0 0 -
Giải pháp chuyển đổi dữ liệu từ phần mềm mã nguồn mở Greenstone sang phần mềm DSpace
6 trang 20 0 0 -
Quản trị dữ liệu trên MISA SME.NET 2010
15 trang 20 0 0 -
Bài giảng Cơ sở dữ liệu: Chương 3 - Phạm Thị Bạch Huệ
12 trang 19 0 0 -
4 trang 19 0 0
-
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 2
34 trang 18 0 0 -
Luận văn Thạc sĩ Khoa học: Chuỗi thời gian
91 trang 17 0 0 -
Bài giảng Kỹ thuật lập trình: Các phương pháp giải quyết bài toán trên máy tính - Trịnh Tấn Đạt
22 trang 16 0 0 -
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 3
17 trang 15 0 0 -
Cometdocs.com – Chuyển đổi trên 50 kiểu file và dữ liệu khác nhau
3 trang 14 0 0 -
Bài giảng Phân tích dữ liệu với SPSSP: Phần 1 - TS. Ngô Anh Cường
64 trang 12 0 0 -
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 1
26 trang 12 0 0 -
Bài giảng Kho dữ liệu và kỹ thuật khai phá: Phần 1
85 trang 11 0 0 -
Hướng dẫn chuyển đổi dữ liệu kế toán từ MISA SME.NET 2012 lên MISA SME.NET 2015
7 trang 11 0 0 -
QUẢN TRỊ DỮ LIỆU VÀ THÔNG TIN MAKETTING
23 trang 10 0 0 -
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 5
12 trang 9 0 0 -
Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access – phần 2
5 trang 8 0 0 -
Bài giảng Kho dữ liệu và kinh doanh thông minh - Chương 2: Quy trình phát triển kho dữ liệu
52 trang 7 0 0