Symbian三种定时器的使用
来源:互联网 发布:数据分析咨询公司 编辑:程序博客网 时间:2024/06/05 16:58
原文出处:http://blog.csdn.net/Jenhwa/archive/2008/07/01/2602819.aspx
Symbian可用定时器种类: CTimer,RTimer,CPeriodic,CHearBeat
1.CPeriodic用法:因其简易性,最常被使用,需要实现回调函数。
class CMyTimer : public CBase
{
public:
CMyTimer();
void StartTimer();
void CancelTimer();
static TInt Loop(TAny* aPtr);//回调函数
private:
CPeriodic* iTimer;
}
CMyTimer::CMyTimer()
{
iTimer=CPeriodic::NewL(CActive::EPriorityStandard);
StartTimer();
}
void CMyTimer::StartTimer()
{
iTimer->Start(500000,500000,TCallBack(Loop,this));//请求只需发送一次
}
void CMyTimer::CancelTimer()
{
iTimer->Cancel();
}
TInt CMyTimer::Loop(TAny* aPtr)
{
//循环体,可以在此加入代码
}
2.RTimer用法:需要配合CActive对象进行使用
class CMyTimer : public CActive
{
public:
CMyTimer();
private:
void RunL();
void DoCancel();
void StartTimer();
private:
RTimer iTimer;
}
CMyTimer::CMyTimer()
:CActive(EPriorityStandard)
{
iTimer.CreateLocal();
CActiveScheduler::Add(this);
StartTimer();
}
void CMyTimer::RunL()
{
if(iStatus.Int()==KErrNone)//iStatus为CActive的成员变量,切勿自己定义
{
//循环体,可以在此加入代码
StartTimer();
}
}
void CMyTimer::DoCancel()
{
iTimer.Cancel();
}
void CMyTimer::StartTimer()
{
if(IsActive())return;
iTimer.After(iStatus,500000);
SetActive();
}
3.CTimer用法:CTimer需要被继承使用,CTimer封装了对RTimer的使用
- Symbian三种定时器的使用
- Symbian三种定时器的使用
- Symbian三种定时器的使用
- 【转】Symbian三种定时器的使用
- symbian三种定时器的使用
- Symbian三种定时器的使用
- Symbian三种定时器的使用
- Symbian三种定时器的使用
- 三种定时器的使用
- 定时器的三种使用
- 关于Symbian的定时器
- 三种不同的定时器 使用
- cocos2dx三种定时器的使用
- cocos2dx三种定时器的使用
- cocos2dx三种定时器的使用
- 三种定时器Timer的使用
- cocos2dx三种定时器的使用
- Android三种定时器的简单使用
- 提高多GPU编程与执行效率 CUDA 4.0初探
- JavaScript中的this和prototype
- C语言编程开发中用好位操作符
- 单循环链表(头指针指在头结点)『3』
- C++学习总结_声明一个对象并实现声明类的方法
- Symbian三种定时器的使用
- 轻松搞定 android apn 设置
- 软键盘输入
- 安装Android SDK ,Manager:failed to install错误解决办法!
- swf版本控制问题
- struts2框架介绍
- 黑基网
- 集成声卡使用SONAR 8.5播放midi无声的一种解决办法
- Windows下下载Android源代码的方法