Symbian 逐步深入
2010-03-26 04:24:00 来源:WEB开发网UID3
UID3-这个UID值表明了文件的唯一性。任何两个可执行文件的UID3值都是不相同的,并且此值需要从Symbian申请。Symbian有一个中央数据库来分配UID3,以保证每个二进制文件都拥有不同的值。要想为您的产品代码申请UID3值,就必须在Symbian Signed(www.
symbiansigned.com)注册。但是您也可以为了测试代码而在开发区间里(0xE1000000-
0Xefffffff)自行分配一个值。
流~~!!!
如果我们希望把数据传输到文本文件或其他外部设备,则需要”外部化”,反之则为”内部化”,有两个基类来实现这种外部化和内部化工作,RReadStream和RWriteStream。对应每一种介质:文件、描述符、内存缓存。则有不同的方法对(方法总是成对出现的):
1. 文件
RFileReadStream
RFileWriteStream
2. 描述符
RDesReadStream
RDesWriteStream
3. 缓存
RBufReadStream
RBufWriteStream
4. 内存
RMemReadStream
RMemWriteStream
另外,如果希望把创建的推入清除栈以保证其异常退出安全,则需要调用流的PushL().
外部化对应的符号是:<<,需要重写ExternalizeL()
内部化对应的符号是:>>,需要重写InternalizeL()
一个完整的流操作的例子:
#include
class CStreamSample:public CBase
{
public:
void ExternalizeL(RReadStream& arStream) const;
void InternalizeL(RWriteStream& awStream) cosnt;
public:
Tint iIntValue;
TBuf<64>iBuffer;
};
void CStreamSample::ExternalizeL(RReadStream& aStram) const
{
aStream.WriteInt32L(iIntVal); //这个函数是什么意思?
aStream<
}
void CStreamSample::InternalizeL(RWriteStream& aStream) const
{
iIntVal=aStreamm.WriteInt32L();
aStream>>iBuffer;
}
…
void SampleFuncL(TAny* a,Tint aMaxLen)
更多精彩
赞助商链接