Danh mục

Bài giảng Lập trình J2ME cho thiết bị di động - Phần 4

Số trang: 30      Loại file: ppt      Dung lượng: 152.50 KB      Lượt xem: 12      Lượt tải: 0    
tailieu_vip

Phí tải xuống: 20,000 VND Tải xuống file đầy đủ (30 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng cung cấp cho người học các kiến thức: Các 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ản,... Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu. Mời các bạn cùng tham khảo chi tiết nội dung bài giảng.
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ài liệu được xem nhiều:

Gợi ý tài liệu liên quan: