|
|
|
| 蔡鸟的一些学习笔记,就算是在这做个backup |
编辑:jjLuckystar 审核:rocks 文章来源:CNJM论坛精华
关键词:无 发表日期:2004-01-14 17:44:39 浏览次数:6012次 |
|
|
|
|
本文版权归原作者,中国JAVA手机网收录本文的目的是让更多人阅读到此文章。转载请注明出处为中国JAVA手机网<www.cnjm.net>
来自:http://www.cnjm.net/tech/article725.html [这个贴子最后由jjLuckystar在 2004/01/14 05:48pm 第 1 次编辑]
/******************************************************* 工具使用 *******************************************************/ 1.epocswitch
JAVA手机网[www.cnjm.net] 安装多个版本的S60 SDK环境切换工具。我先安装了SDK1.2,然后安装了SDK2.0。 在使用本工具之前请确认你所安装的其中一个sdk可用,即可以编译,调试你的应用程序。 具体使用方法:
JAVA手机网[www.cnjm.net] --在win2000下打开系统环境变量设置,选择名为path的环境变量, 删除原来存在的SDK安装设置的环境变量,如D:\Program Files\Common Files\SYMBIAN\Tools; 编辑以下内容并确认保存: %EPOCPATH%;D:\Program Files\Microsoft Visual Studio\VC98\Bin;D:\Perl\bin; --epocswitch目录下内容(D:\Symbian\6.1\Series60\Series60Tools\epocswitch) 拷贝到系统目录下(D:\epocswitch)。 --清除settings文件内容,设置settings文件为以下内容,保存 [S60_1.2] EPOCROOT=\Symbian\6.1\Series60\ EPOCPATH=D:\Symbian\6.1\Shared\epoc32\tools;D:\Symbian\6.1\Shared\epoc32\gcc\bin;%path%; EPOCICON=D:\Symbian\6.1\Series60\Series60Tools\epocswitch\sampleicons; [S60_2.0]
JAVA手机网[www.cnjm.net] EPOCROOT=\Symbian\7.0s\Series60_v20\ EPOCPATH=D:\Program Files\Common Files\SYMBIAN\Tools;D:\Symbian\7.0s\Series60_v20\epoc32\gcc\bin;%path%; --启动epocswitch会在系统托盘生成应用程序的图标,右键单击选择你需要的环境。 2.mmpclick 该工具主要用来在资源管理器中导航到工程文件mmp所在,提供右键菜单 编译工程,生成vc6工程文件等功能。用法如下: --在1.2版本SDK安装目录(D:\Symbian\6.1\Series60\Series60Tools\mmpclick) --拷贝mmpclick目录下内容到(D:\mmpclick) --注册目录中的两个dll文件即可
JAVA手机网[www.cnjm.net] 3.mbmviewer 1.2SDK中,该工具存在D:\Symbian\6.1\Series60\Series60Tools\mbmviewer 使用方法: --启动该程序,选择你所需要查看的mbm文件,即可浏览到其中的图片内容。 4.epoctoolbar 该工具主要用来集成在vc6 IDE中,方便程序员开发应用程序。例如提供类向导。 使用方法如下: --在1.2SDK,导航到D:\Symbian\6.1\Series60\Series60Tools\epoctoolbar
JAVA手机网[www.cnjm.net] --拷贝其中dll文件到<your visual studio>\Common\MSDev98\Addins --启动vc6 --选择菜单Tools-->Customize --选择Add-ins and Macro Files页 --选中EPOC Toolbar Add-in --关闭该对话框即可 5.applicationwizard 该工具在D:\Symbian\6.1\Series60\Series60Tools\applicationwizard目录,主要用来集成到vc6 IDE 方便程序员生成Symbian OS vc项目工程。使用方法: --拷贝目录中内容到d:\Program Files\Microsoft Visual Studio\Common\MsDev98\Template目录即可 --启动vc6
JAVA手机网[www.cnjm.net] --新建项目 --选择Series60 appwizard v1.9 或者Series60 appwizard v2.0 6.smsinbox 该工具用来模拟发送/接受sms信息
JAVA手机网[www.cnjm.net] Running SMS Inbox: ================== --Copy SMS Inbox epoc32 -directory on top of the SDK epoc32 -directory --Start emulator and the SMS inbox application in the emulator
JAVA手机网[www.cnjm.net] --Leave the SMS inbox application running on the back while testing the SMS sending/receiving.
JAVA手机网[www.cnjm.net] (press applications key) --When SMS is sent the sms is copied to smsout folder. --For receiving SMS the message is copied to smsin folder. The SMS inbox application automatically recoqnize the messages from smsin folder. -- Normal SMS viewer and editor can be used for editing sms messages. 7.S60 SDK安装全攻略 --去www.nokia.com下载Serier 60 SDK for Symbian OS
JAVA手机网[www.cnjm.net] --在win2000下安装visual studio 6.0 --去www.microsoft.com下载visual studio 6.0 sp3或更高版本并安装 --下载ActivePerl-5.8.0.806-MSWin32-x86,可以从google搜索得到。安装。 --下载安装jre1.3.1版本并安装 --安装先前下载的Series 60 SDK --以上所有安装的软件强烈建议在同一个驱动器下 --用epocswitch工具设置环境变量 --编译工程时,如果提示nmake.exe出错,找不到该文件,就搜索到该文件并把该文件拷贝到../system32/目录下
JAVA手机网[www.cnjm.net] --同样,如果提示谋dll找不到,就搜索到该dll,并拷贝到相应目录。
来自:http://www.cnjm.net/tech/article725.html
|
|
|
相关文章
暂无相关文章
|
|
| 最新评论
|
| jjLuckystar 在 2004-01-14 17:51:35 发表的评论: |
我错了请大家多多包涵阿 中文资料参考不多,看得有些术语可能有错误 |
| jjLuckystar 在 2004-01-14 17:46:34 发表的评论: |
/*************************************************** 框架研究杂七杂八 ***************************************************/ 1.创建应用程序 #include "RetroApplication.h" GLDEF_C TInt E32Dll(TDllReason) { return KErrNone; } //创建一个新的应用程序对象,并返回指向该对象的基类对象指针 //APPARC.H // base class for applications; allows creation of documents & file stores + display of app icon and name. //CApaApplication,该类是应用程序的基类,允许创建文档和文件存储,显示应用程序图标和名称。 //类的继承结构 //CRetroApplication<--CAknApplication<--CEikApplication<--CApaApplication<--CBase EXPORT_C CApaApplication * NewApplication() { return (new CRetroApplication); }
2. 应用程序对象 class CRetroApplication:public CAknApplication { public: // from CEikApplication //返回应用程序UID TUid AppDllUid() const; protected: // from CEikApplication //创建新的文档对象,并返回指向该对象的基类对象指针 // CApaDocument is base class for documents; allows insertion of glass doors. //CApaDocument 该类是文档类的指针,允许玻璃窗户的插入 //类的继承结构 //CRetroDocument<--CEikDocument<--CApaDocument<--CBase CApaDocument* CreateDocumentL(); } 3. 文档对象 class CRetroAppUi; class CEikApplication; class CRetroDocument : public CEikDocument { public: //NewL 调用NewLC,NewLC调用ConstructL static CRetroDocument* NewL(CEikApplication& aApp); static CRetroDocument* NewLC(CEikApplication& aApp); ~CRetroDocument(); private: void ConstructL(); CRetroDocument(CEikApplication& aApp); //创建应用程序用户界面对象,并返回指向该对象的基类对象指针 //类继承体系 //CRetroAppUi<--CAknAppUi<--CEikAppUi,MEikStatusPaneObserver,MCoeViewDeactivationObserver //CEikAppUi<--CCoeAppUi, MEikMenuObserver, MCoeMessageObserver, MObjectProvider //CCoeAppUi<--CCoeAppUiBase<---CBase ///** * The CCoeAppUiBase class is the abstract base class for all application-wide user interface classes. */ CEikAppUi* CreateAppUiL(); };
4. 用户界面对象 class CRetroAppView; class CRetroAppUi : public CAknAppUi { public: //创建应用程序视图,用户能看到的真正的界面。 //视图类继承体系 //CRetroAppView<--CCoeControl<-- CBase, MObjectProvider /** * The CCoeControl class is the base class for all controls. */ void ConstructL() { BaseConstructL(); // Create the application view // iAppView = CRetroAppViewOld::NewL(ApplicationRect()); iAppView = CRetroAppView::NewL(ApplicationRect()); AddToStackL(iAppView); } CRetroAppUi(); ~CRetroAppUi(); public: // from CEikAppUi //处理菜单命令 void HandleCommandL(TInt aCommand); // The Uikon framework calls this function immediately before the menu pane is activated void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); private: //CRetroAppViewOld* iAppView; CRetroAppView* iAppView; }; 5 . 视图对象 class CImageFactory; class CRetroEngine; class CRetroAppView : public CCoeControl { public: static CRetroAppView* NewL(const TRect& aRect); static CRetroAppView* NewLC(const TRect& aRect); ~CRetroAppView(); public: // from CCoeControl void Draw(const TRect& aRect) const; TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); public: void StartGameL(); TBool IsPlaying(); void StopGame(); private: void ConstructL(const TRect& aRect); CRetroAppView(); private: TKeyHandler iKeyHandler; CImageFactory* iImageFactory; CRetroEngine* iEngine; }; 6. 资源编辑 菜单 在#include "RetroBlaster.hrh"文件中添加ERetroGameExit enum TRetroCommands { ERetroGameStart = 300, ERetroGameStop, ERetroGameExit }; 在资源文件中,添加MENU_ITEM {command = ERetroGameExit; txt = "MyExit";} RESOURCE MENU_PANE r_retro_menupane { items = { MENU_ITEM {command = ERetroGameStart; txt = "Start Game";}, MENU_ITEM {command = ERetroGameStop; txt = "Stop Game";}, MENU_ITEM {command = EAknSoftkeyExit; txt = "Exit";}, MENU_ITEM {command = ERetroGameExit; txt = "MyExit";} }; } 在appUi,HandleCommandL函数中添加 case ERetroGameExit: Exit(); break; 在appUi,DynInitMenuPaneL函数中添加 aMenuPane->SetItemDimmed(ERetroGameExit,EFalse); 7 在命令行模式下用bmconv创建multibitmap文件 把几个bmp图片融合到一个文件中,并产生.h和.mbm文件供程序使用。程序可以通过这些文件 把位图加载到屏幕。 例如:在命令行,导航到c:\mywork\image目录下,此目录有图片image1.bmp,image2.bmp,image3.bmp 执行bmconv /hmyHeadFile.h myMbmFile.mbm /4image1.bmp /1image2.bmp /c16image3.bmp //myHeadFile.h c:\mywork\image\myHeadFile.h // Generated by BitmapCompiler // Copyright (c) 1998-2000 Symbian Ltd. All rights reserved. // enum TMbmImages { EMbmImagesImage1, EMbmImagesImage2, EMbmImagesImage3 }; //appView.h /** background bitmap */ CFbsBitmap* iBackgroundImage; /** "sprite" image */ CFbsBitmap* iSpriteImage; /** "sprite" mask */ CFbsBitmap* iSpriteMask; //appView.cpp 使用 #include "myHeadFile.h" _LIT (KMultiBitmapFilename,"c:\\System\\Apps\\Graphics\\myMbmFile.mbm"); // Load in the bitmap images from the multi bitmap file iBackgroundImage = NBitmapMethods::CreateBitmapL(KMultiBitmapFilename,EMbmImagesImage1); iSpriteImage = NBitmapMethods::CreateBitmapL(KMultiBitmapFilename,EMbmImagesImage2); iSpriteMask = NBitmapMethods::CreateBitmapL(KMultiBitmapFilename,EMbmImagesImage3); |
|
|
|