Posts filed under 'Symbian时钟屏保'

解决图标问题和Freeware对话框乱码问题

开发过程中发现:用FP1编出来的sis,其图标无法正常显示在MR的手机上(N80和N73都显示空白),如FP1手机(N95)可以正常显示。

解决方法:都用MR编

Carbide.C++ 1.2中右键点工程,选择属性,选择”Carbide build Configuration”,在Active Configuration中点Manage,并选中MR的sdk,然后用那个sdk编译,出来的sis可以正常显示图标!

 Freeware中要弹出一个对话框,告诉用户这是个freeware,英语的好办,没有任何问题。

但是翻译成中文后,保存为UTF-8,N80上出来的是乱码,而N95上又是对的。

比较好的方法,是将该文件保存为Unicode格式!!!

Popularity: 8% [?]

Add comment 09月 28th, 2007

时钟屏保1.2版发布!

如何安装:
1,需要自签名
2,安装签名后的程序
3,设置:
   N95:工具->主题模式->节电保护->Large clock
   N73,N80:工具->主题模式->选项->编辑->节电保护->Large clock 

根据论坛上朋友们要求 ,做了如下改进:

1,加入了设置选项,设置支持中文。

2,设置背景 -  白底黑字或者黑底白字。

3,设置分辨率 - 240*320 或者 352*416 适合不同手机分辨率,如N95和N80。

4,设置刷新时间 - 1秒或者1分钟,节电选项,1分钟时不显示秒针。

5,屏保显示时根据设置值立刻变化。

6,界面弄了一个手写的“钟”,作图太麻烦,自己随便写的,哈哈

模拟时钟配置    屏保效果(显示秒钟)

 欢迎提出改进意见~~~

Popularity: 7% [?]

2 comments 09月 24th, 2007

时钟屏保最新进展

经过两天的努力,终于搞定了SettingList显示配置项,退出后保存到二进制文件中,

同时ScreenSaverDLL也可以读取该文件的内容。

下一步要做的,

1,界面显示中文

2,ScreenSaver的ConstructL和InistialiseL只调用一次,需要考虑一个策略。

3,ScreenSaver的dll和rsc加入ClockSSConfig工程中,或者新弄一个GUI+DLL的工程?

4,细化,优化,准备symbian sign!

Popularity: 6% [?]

1 comment 09月 23rd, 2007

时钟屏保-配置思路

做一个GUI程序,界面就一个SettingList够了。把用户的配置信息保存到文件里。

本来想写个ini文件,但是后来发现,在ECom的DLL里面读写有问题:因为ini文件需要在Application里面重载一个函数,但是ECom的DLL中根本就没有Application。

接着的想法是直接用ReadStream,WriteStream写一个二进制文件,把配置的数据保存在二进制文件中,然后再在ECom的DLL中读出来。

文件的位置放在哪儿呢?

因为GUI和ECom的DLL是两个不同程序,所以也就不能放在private\E3B08845这种目录下面。

因为GUI能读到的话,EComDLL就读不到,反之亦然。

ps,hongkong nokia开发的那个程序好像可以放到那种目录下面的,不知道是如何实现的,有空研究一下!

最后还是最简单的方法实现吧,放到C:\data目录下总没有什么问题吧,赫赫。

Popularity: 7% [?]

Add comment 09月 23rd, 2007

时钟屏保升级为1.01版

论坛上好多人提了意见,下载也突破200次了,晚上花了2个钟头,改进的一些地方:

1.1版效果图

1,由白底黑字改为黑底白字,好像是稍微好看了一点

2,加入3,6,9,12四个整点,增加美观度 :-)
3,星期几加到了日期后面,改为3位统一显示,看起来比较清楚

4,最下面改为”Happy EveryDay :-)”,每天都应该开开心心的嘛,嘿嘿!

本来想去SymbianSign一下,省得别人下载了还要自己去sign!

不过好贵,要186欧元 = 1 940.35621 人民币!

可以考虑去弄个freeware~~~

 下一步做得:做一个GUI的设置程序,可以控制一下内容: 

a,支持大数字/模拟时钟切换

b,支持黑底白字/白底黑字选择

c,是否显示秒钟(每分钟刷新一次,可以更加省电)  

d,设置自己的话,默认为”Happy EveryDay :-)”

e,横向显示/竖向显示

f,看看是否有其他新的要求

Popularity: 6% [?]

1 comment 09月 19th, 2007

时钟屏保开发手记

本文参考NewLC的Tutorial,并通过自己创建一个dll工程实现

类需要继承CScreensaverPluginInterfaceDefinition,
并实现MScreensaverPlugin接口的一些虚函数
class CClockScreenSaver :
       public CScreensaverPluginInterfaceDefinition
  virtual TInt InitializeL(MScreensaverPluginHost *aHost);
  virtual TInt Draw(CWindowGc& aGc);
  virtual const TDesC16& Name() const;
  virtual TInt HandleScreensaverEventL(TScreensaverEvent aEvent,
					TAny* aData);
 
需要一个RSS文件,告诉ECom框架所需要的信息
需要一个ImplementationProxy.cpp文件,
Helps the ECom framework locating the interface implementations
MMP中,TARGETTYPE是PLUGIN  UID 是:0×10009D8D 0×06EF7F58
需要很多Capabilities,所以只能用开发者证书来sign
 
pkg文件中dll的位置应该放到sysbin下面
“C:Symbian9.2S60_3rd_FP1Epoc32releaseGCCEURELClockScreenSaver.dll”
-“!:sysbinClockScreenSaver.dll 
基本上就这些,总体感觉还是比较简单的。

模拟时钟的关键代码都在Draw函数中。
我这里用到了画圆,画线,TTimeTDateTime,字符串转换等。
 
最后show一下效果:

N73运行效果

Popularity: 6% [?]

Add comment 09月 18th, 2007


标签

Calendar

09月 2010
« Apr    
 12345
6789101112
13141516171819
20212223242526
27282930  

Posts by Month

Posts by Category