I want to make a splash screen for my application. I do not know where to put the jpg file. I have copied it to gfx folder in carbide.But what path shoul I give to open the jpg file. eg. _LIT(KtxMySplashImage,"\\private\\<My SID>\\splash.mbm" );
I want to make a splash screen for my application. I do not know where to put the jpg file. I have copied it to gfx folder in carbide.But what path shoul I give to open the jpg file. eg. _LIT(KtxMySplashImage,"\\private\\<My SID>\\splash.mbm" );
Basically the path depends solely on how you would want to store it. So indeed it is good idea to have them in your private folder, and in that cae you can use same path as you show already there. Do note though to determine the drive on runtime, as well as , do remember to add all required files into your pkg file as well.
I have little doubt. by private folder-> does it mean this path
C:\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\winscw\c\private
1>I have to copy my jpg file there?
2>Then I have .jpg file. Where do I get splash.mbm? or can I use splash.jpg?
3> If I copy it there, how I will deliver the app? do I need to create the image in the same path in phone after installing the app?the deliverables may not have the image there? I need the image to be embedded in the app. but after writing this I feel that I am going wrong somewhere in my understanding.
4>what is <MySID> in the path?I guess it is UID3 in mmp file?
Last edited by sandeepmhptr3; 2012-12-04 at 13:03.
You can get some code pieces from http://www.developer.nokia.com/Commu...ymbian_C%2B%2B, though the article does not contain a complete application.
Your private path is the \private\<SID> on any drive. <SID> is your Secure ID, in 8-digit hexadecimal format, without any (0x, $, h, etc.) prefix or postfix. Secure ID can be specified in the .mmp file with the SECUREID keyword. If it is not specified, it defaults to your UID (specified by the UID keyword, which is always present). The 0x100039ce is a common UID for all kind of graphical applications, so the other one is "yours" (usually 0xEsomething if you generate a new project with Carbide.c++)
You can use .jpg, but in that case loading it will require some work with CImageDecoder. It operates asynchronously by default, but actually it is possible to "straigthen" out with the EOptionAlwaysThread flag. See http://www.developer.nokia.com/Commu...ymbian_C%2B%2B, the second code snippet.
.mbm is the native bitmap format of Symbian, it can be loaded with a simple CFbsBitmap::Load call. It is built from .bmp images, the .mmp file supports it. If your SDK contains an example called "Graphics", containing files like ball.bmp, and background.bmp, you can check how its .mmp file creates the .mbm.
Here is a Wiki article about .mmp stuff, it also shows this bitmap magic: http://www.developer.nokia.com/Community/Wiki/MMP_file
Hi,
I have added the following code to the pkg file.
"....\hello_0xe7e6ddd5.exe\...\splash.jpg"-"c:\private\e7e6ddd5\splash.jpg"
I am not able to build sis files with this. I can build sis files without this line.
also i tried with
"$(EPOCROOT)epoc32\winscw\c\private\e7e6ddd5\splash.jpg" -"!:\private\e7e6ddd5\splash.jpg" the sis file is generated but still the code crashes
also with
;"splash.jpg" - "!:\private\e7e6ddd5\splash.jpg" ------- no sis file is generated
Also my original application is not running on device. I get error "Unable to execute file for security reasons."any idea how to resolve this error. I am trying to find out which lines give me this security concerns
so I am separating code in helloworld program and debugging..
Also I want to enable panic codes in my emulator. I am not getting panic codes for any crashes. In my ErrRd file it shows "ECHO is off". Also where to find panic codes from mobile device?
contents of epoc.ini
Code:configuration epoc_240x320.ini configuration epoc_240x320_keypadoff.ini configuration epoc_320x240.ini configuration epoc_320x240_keypadoff.ini configuration epoc_240x320_f.ini configuration epoc_240x320_keypadoff_f.ini configuration epoc_320x240_f.ini configuration epoc_320x240_keypadoff_f.ini PlatSecDiagnostics ON PlatSecEnforceSysBin ON PlatSecProcessIsolation ON PlatSecEnforcement OFF PlatSecDisabledCaps NONE LogToFile 1 LogToDebugger 1 JustInTime 0 JustInTime query _EPOC_DRIVE_D \epoc32\winscw\d _EPOC_DRIVE_E _EPOC_LocDrv_1 MegabytesOfFreeMemory 32 MultiMediaCardSize=16000 patchdata_apserv_dll_KApaLoadDataRecognizersOnDemand 1 etel_KPriorityClientSid 0x100058B3 WindowTitle S60 3rd Edition FP2 SDK v1.1 EXTENDED_PANIC_CODE_FILE true
Last edited by sandeepmhptr3; 2012-12-12 at 06:59.
The errrd file for the emulator is fine, its contents do not matter, just if the file exists or not. However there is an error message onyl if there is a panic (crash) somewhere. Does your code suddenly exit on the emulator?
For the device part, the security reasons stuff usually denotes some problem with the UID or the capability set. Some parts of this discussion suggests that you are using UID e7e6ddd5, which is fine, so the capability stuff could be the next one to check. In the .mmp file there is a line with keyword CAPABILITY. Check that, and also check the article http://www.developer.nokia.com/Commu...i/Capabilities - with self-signing (default case when you create a new project), the first 5-6 capabilities ("Basic" or "User grantable") can be used only.
I have a tab component in my application flow. I am setting it through resource in .rss file
The problem I am facing is-> the tab component is still present in the splash screen, whereas it should have come in the second screen.The views belonging to the tab are not there, only the top portion is showing. How can I fix it. Any suggestions?Code:RESOURCE EIK_APP_INFO { /**/menubar = r_menubar; /**/cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT; status_pane = r_service_mobile_status_pane; } RESOURCE STATUS_PANE_APP_MODEL r_service_mobile_status_pane { panes= { SPANE_PANE { id = EEikStatusPaneUidNavi; type = EAknCtNaviPane; resource = r_service_mobile_navi_decorator; } }; }
Why not keep splash screen as full screen view(when activating splash screen instead of passing clientRect(), pass ApplicationRect() )
I think I have to add something like this tp mmp file
START BITMAP <appname>.mbm
TARGETPATH \Resource\Apps
SOURCE <color-depth> <source-bitmap-list> -------------------what is this (source-bitmap-list takes path of group folder and not private folder)
END
Last edited by sandeepmhptr3; 2012-12-12 at 15:09.
mbm files are created for images with bmp extension. To draw a jpeg image, you can utilize CImagedecoder API, to convert the jpg image into draw-able bitmap:
http://www.developer.nokia.com/Commu...Symbian_bitmap
Also there is no need to mention anything for this in the mmp file, simple place the file in the path as desired & use the code as given in the link above.
new problem has arised.
when rotating the phone
1> for helloworld app: the image is rotated but has the same dimension as previious stage. so, it does not fill the view of phone.
2> for original app: it crashes "Kern EXE3"
Last edited by sandeepmhptr3; 2012-12-12 at 18:19.
1>my code got installed into device with additional capabilities.
Thanks for that
2>But i am still not getting panic codes. To test I have written a code-
CViewSplash* iSplashView ;
iSplashView->ClientRect();
iSplashView= new (ELeave) CViewSplash;
No panic code is shown. The emulator just vanishes.
3>My main concern now->
what line to add, to pkg file to enable loading image in splash view?
My pkg file->
Code:&EN ; standard SIS file header #{"hello"},(0xe7e6ddd5),1,0,0 ;Localised Vendor name %{"Vendor-EN"} ;Unique Vendor name :"Vendor" ;Supports Series 60 v 5.0 [0x101F7961], 0, 0, 0, {"Series60ProductID"} ;Files to install ;You should change the source paths to match that of your environment ;<source> <destination> "$(EPOCROOT)epoc32\release\$(PLATFORM)\$(TARGET)\hello_0xe7e6ddd5.exe" -"!:\sys\bin\hello_0xe7e6ddd5.exe" "$(EPOCROOT)epoc32\data\z\resource\apps\hello_0xe7e6ddd5.rsc" -"!:\resource\apps\hello_0xe7e6ddd5.rsc" "$(EPOCROOT)epoc32\data\z\private\10003a3f\apps\hello_0xe7e6ddd5_reg.rsc" -"!:\private\10003a3f\import\apps\hello_0xe7e6ddd5_reg.rsc" "$(EPOCROOT)epoc32\data\z\resource\apps\hello_0xe7e6ddd5.mif" -"!:\resource\apps\hello_0xe7e6ddd5.mif" "..\help\hello_0xe7e6ddd5.hlp" -"!:\resource\help\hello_0xe7e6ddd5.hlp" ;"....\hello_0xe7e6ddd5.exe\...\splash.jpg"-"c:\private\e7e6ddd5\splash.jpg" ;"splash.jpg" - "!:\private\e7e6ddd5\splash.jpg" "$(EPOCROOT)epoc32\winscw\c\private\e7e6ddd5\splash.jpg" -"!:\private\e7e6ddd5\splash.jpg" ; Add any installation notes if applicable ;"hello.txt" -"!:\private\e7e6ddd5\hello.txt" ;required for application to be covered by backup/restore facility "..\sis\backup_registration.xml" -"!:\private\e7e6ddd5\backup_registration.xml"
after the splas screen is over with its work, I want do delete it but it crashes.There is no crash if i do not delete thw view.can I delete a view?
Code:iSplashView = new (ELeave) CViewSplash; CleanupStack::PushL( iSplashView ); iSplashView->ConstructL(); AddViewL( iSplashView ); // transfer ownership to CAknViewAppUi CleanupStack::Pop( iSplashView ); iSplashViewId = iSplashView->Id(); SetDefaultViewL( *iSplashView ); -------------------------------------------------------------------------------------------------- CViewNormal* NormalView = new (ELeave) CViewNormal; CleanupStack::PushL( NormalView ); NormalView->ConstructL(iTabGroup); AddViewL( NormalView ); // transfer ownership to CAknViewAppUi CleanupStack::Pop( NormalView ); iNormalViewId = NormalView->Id(); // view id to get view from CAknViewAppUi SetDefaultViewL( *NormalView ); ActivateLocalViewL((iNormalViewId)); RemoveView (iSplashViewId ); delete iSplashView;
Last edited by sandeepmhptr3; 2012-12-05 at 09:17.
why not follow the view switching flow in symbian : http://www.developer.nokia.com/Commu...ews_on_Symbian