曙海教育集團(tuán)論壇3G手機(jī)技術(shù)專(zhuān)區(qū)Symbian開(kāi)發(fā) → Symbian文檔類(lèi)讀寫(xiě)文件和讀寫(xiě)Ini文件


  共有5441人關(guān)注過(guò)本帖樹(shù)形打印

主題:Symbian文檔類(lèi)讀寫(xiě)文件和讀寫(xiě)Ini文件

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
Symbian文檔類(lèi)讀寫(xiě)文件和讀寫(xiě)Ini文件  發(fā)帖心情 Post By:2010-12-3 13:23:35

一、文檔類(lèi)讀寫(xiě)文件 在Symbian的GUI應(yīng)用程序中,如果需要永久保存應(yīng)用程序數(shù)據(jù),框架可以自動(dòng)啟動(dòng)該進(jìn)程來(lái)保存數(shù)據(jù)。 文檔類(lèi)包含兩個(gè)可以重寫(xiě)的重要函數(shù):StroeL()和RestoreL()。在應(yīng)用程序啟動(dòng)時(shí),框架自動(dòng)調(diào)用RestoreL()。然后,該函數(shù)負(fù)責(zé)加載應(yīng)用程序數(shù)據(jù)。當(dāng)應(yīng)用程序退出時(shí),為了保存應(yīng)用程序數(shù)據(jù),框架調(diào)用StoreL()函數(shù)—需要包括對(duì)SaveL()的調(diào)用,用于指示框架進(jìn)行調(diào)用。 Series 60與其它的Symbian OS平臺(tái)區(qū)別是:文檔類(lèi)的默認(rèn)行為不是使用文件存儲(chǔ)永久保存數(shù)據(jù)。因此,Series 60并不會(huì)在應(yīng)用程序啟動(dòng)時(shí)自動(dòng)打開(kāi)用于文檔保存的文件。CAknDocument::OpenFile()的實(shí)現(xiàn)為空。 不過(guò),通過(guò)重寫(xiě)文檔類(lèi)中的OpenFile()函數(shù),并調(diào)用基類(lèi)實(shí)現(xiàn),可以完成這種行為: CFileStore*CDocumentExampleDocument::OpenFileL(TBool aDoOpen,const TDesC& aFilename,RFs& aFs) { return CEikDocument::OpenFileL(aDoOpen, aFilename, aFs); } 在完成StroeL()和RestoreL()后,可以調(diào)用CAknDocument::SaveL()來(lái)實(shí)現(xiàn)數(shù)據(jù)的寫(xiě)入。

CDocumentExampleDocument* aDocument =

static_cast< CDocumentExampleDocument* > (AppUi()->Document() ); aDocument->SaveL(); 本部分參照《Series 60應(yīng)用程序框架》一書(shū)。 二、ini文件讀寫(xiě) Series 60中并沒(méi)有默認(rèn)提供對(duì)Symbian OS .ini文件的支持。為了允許應(yīng)用程序使用.INI文件,必須重寫(xiě)應(yīng)用程序類(lèi)的OpenIniFileLC()函數(shù),使其調(diào)用EikApplication:: OpenIniFileLC()。例如: CDictionaryStore* CDocumentExampleApplication::OpenIniFileLC(RFs& aFs) const { return CEikApplication::OpenIniFileLC(aFs); } 此時(shí),運(yùn)行應(yīng)用程序,即會(huì)發(fā)現(xiàn)有ini文件產(chǎn)生。 CDocumentExampleAppUi里寫(xiě)兩個(gè)函數(shù)WriteIniFileReadIniFile,通過(guò)這兩個(gè)函數(shù)可以讀寫(xiě)ini文件。 void CDocumentExampleAppUi::WriteIniFile(TUid iInfo, TDes& aWrite) { RFs fs; fs.Connect(); CleanupClosePushL(fs); RDictionaryWriteStream rdsIniFile; CDictionaryStore *cdIniFile = Application()->OpenIniFileLC(fs);//如果不存在就創(chuàng)建 rdsIniFile.AssignLC(*cdIniFile, iInfo); // TPtr8 buf((TUint8*)ptr, size, size); // TRAP(r, rdsIniFile.WriteL(buf)); rdsIniFile << aWrite; rdsIniFile.CommitL(); CleanupStack::PopAndDestroy(); cdIniFile->CommitL(); CleanupStack::PopAndDestroy(2); } TBool CDocumentExampleAppUi::ReadIniFile(TUid iInfo, TDes& aRead) { TBool result = EFalse; RFs fs; fs.Connect(); CleanupClosePushL(fs); RDictionaryReadStream rdsIniFile; CDictionaryStore *cdIniFile = Application()->OpenIniFileLC(fs); if (cdIniFile->IsPresentL(iInfo)) { rdsIniFile.OpenLC(*cdIniFile, iInfo); // TPtr8 buf((TUint8*)ptr, size, size); // TRAP(r, rdsIniFile.ReadL(buf)); rdsIniFile >> aRead; CleanupStack::PopAndDestroy(); // rdsIniFile result = ETrue; } CleanupStack::PopAndDestroy( 2); // fs, cdIniFile return result; } 本部分參考了《Symbian中操作ini文件》一文。 總結(jié),本文介紹了如何利用文檔類(lèi)讀寫(xiě)數(shù)據(jù)文件以及如何讀寫(xiě)ini文件,這兩個(gè)文件的保存的地址為:C:\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\winscw\c\private\eeddfaa4,其中eeddfaa4為應(yīng)用程序的UID,C:\S60\devices\S60_3rd_FP2_SDK_v1.1為模擬器安裝地址。源碼下載地址

支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

Symbian文檔類(lèi)讀寫(xiě)文件和讀寫(xiě)Ini文件








簽名
主站蜘蛛池模板: 亚洲色婷婷综合久久| 国产高清在线精品一区二区三区 | 国内精品伊人久久久久妇| 国产AV日韩A∨亚洲AV电影| 久久久综合九色合综国产精品| 黑料不打烊tttzzz网址入口| 精品国产三上悠亚在线观看| 欧美中文字幕在线播放| 怡红院亚洲色图| 台湾佬中文222vvv娱乐网在线| 中文字幕人成乱码熟女| 翁止熄痒禁伦短文合集免费视频| 无码精品A∨在线观看十八禁| 国产中年熟女高潮大集合| 中韩高清无专码区2021曰| 美女网站一区二区三区| 少妇人妻偷人精品一区二区| 全黄性性激高免费视频| eeuss影院www天堂免费| 永久免费无码网站在线观看| 无码日韩人妻av一区二区三区| 国产xxxx色视频在线观看| 乱人伦精品视频在线观看| 黄色毛片小视频| 日本h在线精品免费观看| 午夜精品在线免费观看| www.成人在线| 精品视频香蕉尹人在线| 好吊色欧美一区二区三区视频| 人人爽天天爽夜夜爽曰| 上原瑞穗最全番号| 男生女生一起差差很痛| 国内精品久久久久久无码不卡 | 亚洲国产欧洲综合997久久| 香蕉国产综合久久猫咪| 日韩国产欧美在线观看| 国产91精品一区二区麻豆亚洲| www.色噜噜| 欧美成a人片在线观看久| 国产成人a人亚洲精品无码| 中文字幕日本精品一区二区三区|