Archive for 09月, 2007

如何在Symbian程序中显示中文资源

可以通过以下几步来实现:

1,复制一个xxx.rls字符串文件,改名为xxx31.rls。

2,然后把里面的英文都改成为中文,在头上加入:CHARACTER_SET UTF8

3,用记事本打开,然后另存为UTF-8格式。

4,用UltraEdit打开,在 高级-〉配置-〉常规中点掉“自动检测UTF-8格式文件”。手动删除头上的三个字符。

5,在rss文件头部加入:#ifdef LANGUAGE_01
#include “xxx.rls”
#elif defined LANGUAGE_31
#include “xxx31.rls”
#endif

6,加入到Symbian工程中,修改MMP文件,LANG 01 31,即可编译通过,并生成xxx.r31。

7,修改PKG文件,将原来的RSC后缀名改为R31,注意,_Reg的也要改!

“$(EPOCROOT)Epoc32\data\z\resource\apps\ClockSSConfig.R31″  -”!:\resource\apps\ClockSSConfig.rsc”

就这么简单,赫赫~

Popularity: 9% [?]

Add comment 09月 30th, 2007

Symbian Freeware Signing操作流程

1,到Symbiansigned网站上去申请几个Protected UID,每天可以申请20个。需要登陆,在My Symbian Signed的左边栏UIDs/Request,操作非常简便。

2,先用Carbide.C++写一个你的程序,向导建立工程的时候用申请到的UID,或者可以用随机生成的UID。各有优缺点:随机生成的UID可以用自签名,即carbide帮你搞定了,适合初学者,或者不打算symbiansigned的程序。用申请到的UID,就必须用开发者证书去sign生成的sis,才能装到手机上进行测试。

如果起先用的随机生成的UID,后来想symbiansign了,其实也很简单,只需要把随机UID改为ProtectedUID,原则是把能改的都改掉。我犯过一个小错误
“..\sis\backup_registration.xml”  -”!:\private\随机UID\backup_registration.xml” 这个东西忘了改了,结果就是安装到一半,然后告诉我“无法安装”。花了近两个小时才找到原因!

3,UID改好之后,可以找个SymbianAppTestLite先测一下你的程序,如果没有什么问题就可以提交到SymbianSigned去Freeware测试了

4,到www.symbiansigned.com,登陆后在MySymbianSigned–Applications–Submit Freeware。

点submit后一共六步,先接受两个协议,在确认提交一个zip包,里面有sis,pkg和readme,然后填入你的个人信息,第五步填入提交的应用程序的信息,最后upload那个zip包。

Popularity: 6% [?]

Add comment 09月 28th, 2007

解决图标问题和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

Symbian Signed Test Criteria

仔细阅读了《Symbian Signed Test Criteria》 v2.11.0。总结如下经验:

1,Symbian9所有的二进制文件都放在\sys\bin\目录下,命名冲突概率非常大,所以最好以下方式命名:MyBinName_UID.dll(exe)

2,如果你的程序预装在手机或者存储卡中,需要用Makesis命令生成myapp.SIS文件和myapp_stub.sis文件,同时sign。

Symbian Signed的测试用例(Test Cases)主要分为两部分:Generic Test Cases和Extended Set Capability Test Cases。

其中Generic Test Cases应该被所有Symbian应用程序满足,而Extended Set Capability主要是针对Symbian V9的。

一,Generic Test Cases主要包含:

1,Packaging and Installation,其中包含8个小点

1.1 ACS Publisher ID,要签名的sis文件必须被一个有效的ACS Publisher ID签名过。

1.2 Installation and Startup,程序的安装必须和用户手册相符,一般在5秒内应该启动完成,或者有进度条提示启动过程

1.3 File Creation Location,一般而言,应用程序只在安装盘符中创建文件,除非特殊声明

1.4 Uninstall,卸载时应该删除所有原来安装的文件,以及所有应用程序运行过程中下载或创建的文件

1.5 Installation to all Memory Locations,应用程序应该能安装到所有存储媒体中

1.6 Reinstall,应用程序在被删除后可以重新安装

1.7 UID and Device ID,确保UID和VID必须正确。

    UID: 0×20000000–0×2FFFFFFF,VID:0×70000000–0×7FFFFFFF或者VID=0

1.8 SIS File Version Information,SIS文件的版本信息应该和帮助,说明书和About对话框中的版本信息一致

2:General Usage Tests,其中包含4个小点:

2.1 System Features and OS Friendly,应用程序不能影响系统和其他应用程序的使用

2.2 Stress Test,进行15分钟左右,可以正确处理异常情况,而不会导致手机崩溃或停止响应

2.3 Scalable UI Compliance,支持Scalable UI,不同的分辨率和显示模式

2.4 SIP Session establishment,当收到请求时应用程序应当能建立一个SIP连接

3,Memory Usage,其中包含2个小点:

3.1 Low Memory Startup,应用程序可以比较好的处理低内存情况下的启动,当因低内存退出时可以显示相应出错信息

3.2 Low Storage Memory During Execution,当存储空间不够时,程序应该退出并通知用户该情况

4,Phone Functionality,主要包含2小点

4.1 Service Interruption,当遇到中断时(电话,短信等),程序应该暂停并保存相应状态,并且正确处理该中断。

4.2 Application Functionality After Reboot,程序当突然失去电源后重起后可以正常运行,而不会导致panic或停止响应

5,User Control,主要有4个小点:

5.1 Task List,程序可以通过taks list关闭

5.2 Privacy statement dialog,当程序第一次启动时显示,告知用户capability的使用情况

5.3 Billable Events,当程序需要进行付费操作时应该弹出对话框告知用户

5.4 Backup and Restore Compliance,应用程序不能和Symbian的这项功能冲突

二,Extended Set Capablities主要是对能力(Capability)的限制,分为三部分:

1,Declarative:ProtServ,ReadDeviceData,WriteDeviceData,SwEvent,

               TrustedUI,SurroundingDD,PowerMgmt

2,Phone manufacturer Approval:NetworkControl, MultimediaDD, AllFiles, CommDD, DiskAdmin

3,Phone Manufacturer Grant:TCB, DRM

Waivers — 免责条款

有些应用程序由于特殊情况,并不能完全符合上述的测试规范,可以申请一个免责

Popularity: 5% [?]

Add comment 09月 26th, 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

如何使后台运行的程序获取按键事件

基本思路:

首先程序运行时注册按键事件,然后将程序转入后台运行,当按键事件发生后在AppUi的HandleKeyEventL中处理。

相关代码如下:

void CClockSSAppUi::SetCaptureKey()
 {
    // If there is another handle, we have to cancel it first.
    CancelCaptureKey();
    // This will capture scan code of the keypress.
    iHandleCaptureKey = CCoeEnv::Static()-> RootWin().CaptureKeyUpAndDowns(
      KOkKeyScanCode, EModifierShift, EModifierShift PRIORITYCAPTUREKEY);
       
    //// WARNING: We need to capture the normal code of keypress otherwise
    // the key event will be sent to another application.
    iHandleCaptureKey2 = CCoeEnv::Static()-> RootWin().CaptureKey(
      KOkKeyCode, EModifierShift, EModifierShift PRIORITYCAPTUREKEY);
 }

TKeyResponse CClockSSAppUi::HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
 {
 if ((KOkKeyScanCode == (TUint) aKeyEvent.iScanCode) && (EEventKeyDown == aType)
          && ((aKeyEvent.iModifiers & EModifierShift) == EModifierShift) )
          {
          CAknGlobalNote* globalNote = CAknGlobalNote::NewLC();
          globalNote->ShowNoteL(EAknGlobalInformationNote, _L(”Captured KEY!”));
          CleanupStack::PopAndDestroy();
          }
 }

 需要注意的是:如果你的是多view程序,并且调用了AppUi::AddToStackL接收按键事件,那么在这些控件OfferKeyEventL的处理中对于不相关的键事件一定要返回EKeyWasNotConsumed,好让AppUi最后能处理。

因为这个问题,研究了近3个小时,sigh。。。

Popularity: 10% [?]

1 comment 09月 22nd, 2007

中国互联网现状

研究了一下《第20次中国互联网络发展状况统计报告》,由CNNIC进行,可以说是最最权威的互联网报告了,摘录一下比较宏观以及自己感兴趣的内容:

截至2007 年6 月,中国网民总人数达到1.62 亿,仅次于美国2.11 亿的网民规模,位居世界第二。但普及率仍然偏低,只有12.3%,低于全球17.6%的平均水平。

在各种接入方式中,宽带网民数达到1.22 亿;以手机为终端的无线接入网民数达到4430万。

全国2.16 亿学生中,网民数量已有5945 万,互联网普及率达到27.5%。

截至2007 年6 月底,中国拥有的IPv4 地址数达到1.18 亿个,排名世界第三;中国大陆地区域名总数已达到918万个,其中CN 域名总数达到615 万个,占67%,COM域名230万个,占25%。

目前中国国际出口带宽总量为312,346Mbps,连接的国家有美国、俄罗斯、法国、英国、德国、日本、韩国和新加坡等。互联网国际出口只能通过中国运营商连出,中国公用计算机互联网的国际出口带宽数最多,达到155,705Mbps,其次是中国网通,达到122,066Mbps;中国教育和科研计算机网(CERNET)4,796,中国移动互联网(CMNET)8,260。

使用手机上网渐成风气,目前已有1/4(27.3%)的网民使用手机上网。

总体网民上网高峰仍旧集中在20 点和21 点,最高峰是20 点。
有超过60%的网民经常在这一时点上网,次高峰在14 点。低谷则是凌晨到早上8 点。

互联网功能已经至少拓展到四个方面:信息渠道、沟通、娱乐和生活助手。

Popularity: 6% [?]

Add comment 09月 21st, 2007

Symbian Sign Failed

The app failed during signing because of the following reason:

Unallocated UID/SID: 6ef7f58. Check that all the UIDs used in your SIS
(including the UID used in your .pkg) file correspond to those allocated to
you by Symbian from www.symbiansigned.com.

看来还是会sign的,要好好看看test criteria,提交一个比较好的版本!

Popularity: 5% [?]

Add comment 09月 21st, 2007

Older Posts


标签

Calendar

09月 2007
    Oct »
 12
3456789
10111213141516
17181920212223
24252627282930

Posts by Month

Posts by Category