这款软件是2006年德国世界杯赛程软件,应用于诺基亚S60平台。本软件完全开源,大家可以在下面的链接下载。
安装文件:http://www.codechina.net/down//2006/06/60/worldcup(1)-5723.rar
源代码:http://www.codechina.net/down//2006/06/631/Kalendar-9727.rar
列一下涉及的技术点.
A. Splash屏幕(淡入淡出)
B. Custom界面(这个是比较出彩的地方..:P)
C. 文件读写(MStreamBuf)
D. 跳转WAP BROWSER?(这个不算了吧)
A. 想作类似效果的可以直接参考Logo.cpp直接在代码中修改
iSkinBG=iEikonEnv->CreateBitmapL(filename,EMbmKalendarskinBg_main);把EMbmKalendarskinBg_main替换为你的.mbg文件中的enum值即可.简单说一下原理.用计时器将两张图片(一张是logo图像,一张是空白图像)循环进行alpha运算.运算到一定时间后调用appui中的HandleCommandL切换到主视图,这里的代码写了蠢了.写这篇文章时才发现一个计时器就够了.而我用了两个.谁有兴趣可以改一下.
B. Custom界面
不少人对这个比较感兴趣.都以为是Custom Ctrl.其实写控件作这事就有点大炮打蚊子了.可以用一个idx+draw可以轻松搞定.KJAVA里面也常用这种方法.其实Draw函数在大多数时候足够用了.下层页面的逻辑相对复杂一些.但是用这种方式也可以解决.
C. 文件读写.
用RFileReadStream的人比较多吧.但RFileReadStream实现seek功能比较麻烦.可以查一下SDK中inline MStreamBuf *Source();MStreamBuf可是个好东西.具体用法请参照void CKalendarAppUi::GetKalendarL(TInt aDayIdx)
D. 跳转WAP BROWSER.
NOKIA FROUM上的代码.大家都看过吧.不在多说