Symbian开发tips

 

1. 获取文件的完全路径
     在头文件添加下列声明:IMPORT_C TInt CompleteWithAppPath( TDes& aFileName );TFileName filename(_L("RETROBLASTER.MBM"));CompleteWithAppPath( filename );

2. 获取当前设备显示方式(就是获取设备的色深)
     使用的头文件:#include <eikenv.h>在任何VIEW视图代码里面:TDisplayMode displayMode = iEikonEnv->ScreenDevice()->DisplayMode();

3. 获取当前系统时间(一般用于游戏开发,计算2祯之间的时间差)
     TTime currentTime;currentTime.HomeTime();TInt64 currentTick = currentTime.Int64();

4. 强制让程序从前台转到后台
     TApaTaskList tasklist(iCoeEnv->WsSession());TApaTask task(tasklist.FindApp(TUid::Uid(填入你项目的UID))); task.SendToBackground();

5. 显示中文汉字(2种方法)
     1) 在RSS资源文件里面定义RESOURCE TBUF64 r_example_view_title { buf = "新年快乐";}然后将其用WORD转换成UTF8编码,在此RSS文件头部添加CHARACTER_SET UTF8,否则无法编译,然后在程序里面调用,就能显示中文了。

     2) 用系统CcnvCharacterSetConverter API来转换CCnvCharacterSetConverter* converter=CCnvCharacterSetConverter::NewLC();if(converter->PrepareToConvertToOrFromL(KCharacterSetIdentifierGbk, iEikonEnv->FsSession())!=CCnvCharacterSetConverter::EAvailable) User::Leave(KErrNotSupported); TText8 *str = (TText8*)"新年快乐"; TInt state=CCnvCharacterSetConverter::KStateDefault; TPtrC8 source( str ); iInfoText = HBufC::NewL( source.Length() ); TPtr16 ptr = iInfoText->Des(); if(CCnvCharacterSetConverter::EErrorIllFormedInput == converter->ConvertToUnicode(ptr, source, state)) User::Leave(KErrArgument); //Leave if error in conversion.CleanupStack::PopAndDestroy(); //clean for converter随后你就可以Draw出中文字体了,前提是你设备内有中文字库

6.获取IMEI串号

     #include <plpvariant.h>void DeviceUtils::GetImei(TDes& aImei){#ifndef __WINS__ //真实设备 // This only works on target machine TPlpVariantMachineId imei; PlpVariant::GetMachineIdL(imei); aImei.Copy(imei);#else //模拟器 // Return a fake IMEI when working on emulator _LIT(KEmulatorImei, "000000000000000"); aImei.Copy(KEmulatorImei);#endif}

7.震动
     用CvibraControl API,6.1的机器上没VibraCtrl.lib和VibraCtrl.DLL,从N-GAGE机器上COPY一份就行。模拟器上直接COPY N-GAGE SDK里面的。7.0的SDK可以直接使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值