WEB开发网
开发学院手机开发Symbian 开发 Symbian OS应用开发 SMS的故事 阅读

Symbian OS应用开发 SMS的故事

 2010-05-31 19:53:00 来源:WEB开发网   
核心提示:help有了上面的了解,不难看出sms的操作其实和我们上一讲所说的vCard有类似之处,Symbian OS应用开发 SMS的故事(4),下面我们来看看如何将sms的内容导出到文件,这里会用到类CBaseMtm,因为在接下来,我们看到的新建sms同样会重点使用到这个类,看下面例程:iSmsMtm->SwitchC
help

有了上面的了解,不难看出sms的操作其实和我们上一讲所说的vCard有类似之处,下面我们来看看如何将sms的内容导出到文件。

这里会用到类CBaseMtm,看下面例程:

iSmsMtm->SwitchCurrentEntryL(aEntryId);

iSmsMtm->LoadMessageL(); // load the message

CRichText& body = iSmsMtm->Body(); //sms的内容存到CRichText控件对象中

TPtrC msg(body.Read(0));

WriteToFileL(msg);

iSmsMtm是CBaseMtm类型的指针变量,它当然需要初始化,如下方式:

1.iSession = CMsvSession::OpenAsyncL(*this);

// 该函数的参数应该是从MMsvSessionObserver继承过来的任何类.....它会和 session library 间建立一个异步连接...

//然后你可以在函数HandleSessionEventL中收到事件EMsvServerReady...

//事件到达表明同服务器间的通话已建立... 接着去得到 Mtm Registry,并返回 SMS mtm...

2.iMtmReg = CClientMtmRegistry::NewL(*iSession);

3.iMtmSms = static_cast (iMtmReg->NewMtmL(KUidMsgTypeSMS));

下面是WriteToFileL()函数的具体实现:

void WriteToFileL(const TPtrC &aMsg)

{ //设置存储路径以及文件

_LIT(KDirName,"");

_LIT(KFileName,"");

//连接文件服务器并生成相应文件夹

RFs fileSession;

fileSession.Connect();

fileSession.MkDirAll(KDirName);

RFileWriteStream writer;

writer.PushL();

User::LeaveIfError(writer.Replace(fileSession,

KFileName, EFileWrite));

//写入文件并确认

writer << aMsg;

writer.CommitL();

CleanupStack::PopAndDestroy();

fileSession.Close();

}

//以下头文件会使用到

#include

#include

上面的步骤清晰明了,无需多说,大家要注意一下CBaseMtm这个类的用法,因为在接下来,我们看到的新建sms同样会重点使用到这个类,而且使用的次数会更多。

上一页  1 2 3 4 5 6 7  下一页

Tags:Symbian OS 应用开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接