28 December 2005
Photos of new smartphone Nokia N95
13 December 2005
Names of nul string descriptors in Symbian
_LIT(KNullDesC,"");
_LIT8(KNullDesC8,"");
_LIT16(KNullDesC16,"");
They are declared in e32std.h file.
06 December 2005
Secret of full-duplex audio on Nokia 6630 and 6680 has been revealed
24 November 2005
Opera have released new version of browser for Symbian Series 60
Opera 8.5 for S60 also includes customizable keypad shortcuts, enhanced image handling and more extensive language support. There is new languages in Opera. Opera also have its Small-Screen Rendering (SSR) technology, which dynamically reformats full Web pages for mobile devices to give the best possible user-experience. SSR keeps as much of the original page design and layout as possible while gently adapting the page to fit the width of the screen, eliminating the need to scroll around horizontally.
Also Opera 8.5 can correctly run AJAX web pages, what is very helpful in modern web.
Opera browser is shareware software with 14-days trial period. After this you can buy Opera 8.5 to continue using the browser. Opera 8.5 is a free upgrade to owners of previous versions of Opera. For example, on some models of Nokia phones Opera browser is preinstalled and you don't have to pay for upgrade.
You can download Opera Mobile and buy it.
21 November 2005
Symbian mobile phones: Semapedia - wikipedia in real life
- you have to create a Semacode which contains URL to Wikipedia site. You can do it online on their site;
- then you have to print this semacode tag and place it on a real world object, for example on the Microsoft headquarter in Redmond;
- now anyone who wants to get information about this thing can use mobile software for Nokia cameraphones with Symbian OS;
- you have to install this software reader on the phone and launch it; (also there are readers for J2ME cameraphones)
- now you can point the camera of your phone at semacode tag and load page from Wikipedia about this object.
This project can become wide popular because of its simplicity and usefulness. Lets wait awhile.
17 November 2005
Nokia Wireless Presenter v2.0
Nokia have released a new version of its Wireless Presenter for Nokia 6680 phone.
With Wireless Presenter you can use your Nokia 6680 to control PowerPoint presentations, music players and other Windows applications. Nokia Wireless Presenter software allows you to access your Windows desktop applications via Bluetooth wireless technology. You need to install this software in both your PC and your Nokia 6680 to remotely control the mouse and keyboard functions.
You can download this application here. 1.8Mb English
16 November 2005
Call of SetPriority() in audio classes in Symbian Series 60 programming
But in some cases standard Symbian applications and services can interrupt your audio input/output, for example, beeping of key pressing. You will get KErrDied error code then. What we should do to avoid this? The solution, recommended by Nokia developers is to setup priority of your client to 80, like this:
iAudioPlayer->SetPriority( 80, EMdaPriorityPreferenceTimeAndQuality );
So you won't be interrupted by other clients and will not block audio at all for clients with higher priority.
14 November 2005
Mobile Symbian podcast catcher for S60 phones
But recently such software was created by Mobiedge. It is Mobiedge Radio - a Wireless/Wired Podcasting Client. As developers claim: "Mobiedge Radio is a podcatcher (podcasting client) that runs on an S60 mobile phone. You can use it to download, read, manage your subscribed podcasting feeds on your phone."
You can buy this software application at Handago here.
If you have purchased Mobiedge Newspaper software you don't need to buy this one, just upgrade to version 1.1 of Mobiedge Newspaper.
07 November 2005
The new Sony Ericsson P990 smartphone was announced
The Sony Ericsson P990 will be the first commercially available smartphone to adopt Symbian OS v9.1 and the UIQ 3 software platform.
262 k color
Flash Memory: 128MB
Shared memory for storage: Up to 80MB user free memory
External memory: Up to 4GB Memory Stick Duo Pro
Max JAR Size: Unlimited (but depending on available storage)
Max SIS Size: Unlimited (but depending on available storage)
Video recorder/player
QWERTY, QWERTZ, AZERTY and Russian keyboard options
Jog Dial
QuickShare
MusicDJ
PlayNow
4GB Memory Stick Duo Pro
Flight mode
FM radio
Press release says:
Developers can program in C++ or Java to create powerful professional and personal productivity tools for the P990. The smartphone is based on Sony Ericsson's Java Platform 3 (JP-3) and supports four new JSRs including Web Services (JSR 172). It is the twentieth phone from Sony Ericsson to support Mobile Java 3D with JSR 184. The P990 supports both CDLC and CDC Java environments, and standard Java applications can run in both flip-open and flip-closed modes.
03 November 2005
New Nokia Symbian-smartphones N71, N80 and N92
With the browsing experience accentuated by its huge high resolution color display (320 x 240 pixels, up to 262,144 colors), the Nokia N71 supports the new Nokia Web Browser with Mini Map. A pocketable entertainment system, the Nokia N71 keeps people entertained with digital music, videos and stereo FM radio and is the latest member of the Nokia XpressMusic family.
Nokia N80 is the first ever handset to enable seamless home media networking between compatible TVs, audio systems and PCs.
Nokia N92 is, the first integrated DVB-H mobile device in the Nokia Nseries range for watching broadcast TV programs.
For more info go to Nokia site.
Want to look at new Symbian UIQ smartphone SonyEricsson 990 with opened flip?
31 October 2005
Do action for all files in some directory on all drives in Symbian
void ForAllMatchingFiles(RFs& aSession, const TDesC& aWildName, const TDesC& aScanDir)
{
TFindFile file_finder(aSession);
CDir* file_list;
TInt err = file_finder.FindWildByDir(aWildName,aScanDir, file_list);
while (err==KErrNone)
{
TInt i;
for (i=0; i < Count(); i++)
{
TParse fullentry;
fullentry.Set((*file_list)[i].iName, &file_finder.File(),NULL);
// Do something with the full Symbian OS filename
DoOneFile(aSession, fullentry.FullName());
}
delete file_list;
err=file_finder.FindWild(file_list);
}
}
26 October 2005
Pics of Symbian smartphone Nokia N71 prototype
More about writable descriptor
TPtr8 iWriteDes(iHeapDes->Des());
22 October 2005
How to convert TInt64 to string on Symbian?
TInt64 n = 123456789;
TBuf<64> tInt64;
tInt64.AppendNum( n );
tSomeString.Format( “I have this value - %S”, &tInt64 );
20 October 2005
How to assign writable descriptor in Symbian
HBufC8* iHeapDes = HBufC8::NewL(KSIZE);
And then you want to store writable descriptor for later use like this:
TPtr8 iWriteDes(NULL,0);
iWriteDes = iHeapDes->Des();
But iWriteDes don’t becomes what you really wanted. Because you make mistake in previous line of code, you haven’t assigned descriptor, you just trieв to copy the data contained in heap descriptor to you writable descriptor. The right code will look like this:
iWriteDes.Set( iHeapDes->Des() );
Now you got correct writable descriptor in iWriteDes.
19 October 2005
How to kill another process by its name
TFullName theName;
TFindProcess process;
while ( process.Next( theName ) != KErrNotFound )
{
if ( ( theName.Find( KPROCNAME ) != KErrNotFound ) )
{
RProcess aProcess;
aProcess.Open( process );
aProcess.Kill(0);
aProcess.Close();
}
}
18 October 2005
Do you know how to convert to AMR using CMMFCodec?
First of all we declare missing declaration from old AmrCodec.h from Series 60 1.0 SDK:
class TAmrEncParams
{
public:
inline TAmrEncParams();
public:
TInt iMode; // encoding mode 0-7 (0=MR475,1=MR515,...,7=MR122,
default 7)
TInt iDTX; // DTX flag (TRUE or default FALSE)
};
TAmrEncParams::TAmrEncParams() :
iMode(7), iDTX(0) {}
And we will also declare UIDs of AMR codecs:
#define KAdvancedUidCodecPCM16ToAMR 0x101FAF68
#define KAdvancedUidCodecAMRToPCM16 0x101FAF67
This is the function that convers PCM data to AMR-NB (note that CMMFPtrBuffer class you can use only on Series 60 2.0 FP2 SDK, on earlier SDKs you have to use CMMFDescriptorBuffer). Size of aDes parameter is supposed to be equal to 320 bytes.
HBufC8* ConvertFromPCMToAMRNBL( const TPtr8& aDes, TInt aMode )
{
TAmrEncParams taepParams;
taepParams.iMode = aMode;
cmmfcCodec = CMMFCodec::NewL(TUid::Uid(KAdvancedUidCodecPCM16ToAMR ));
CleanupStack::PushL( cmmfcCodec );
cmmfcCodec->ConfigureL( TUid::Uid(KAdvancedUidCodecPCM16ToAMR), ( const TDesC8& ) taepParams );
ptrbPCM16 = CMMFPtrBuffer::NewL();
CleanupStack::PushL( ptrbPCM16 );
ptrbPCM16->SetPtr( aDes );
desbAMRNB = CMMFDescriptorBuffer::NewL( 32 );
CleanupStack::PushL( desbAMRNB );
TCodecProcessResult result = cmmfcCodec->ProcessL( * ptrbPCM16, * desbAMRNB );
if ( ( result.iStatus != TCodecProcessResult::EProcessComplete )
( result.iSrcBytesProcessed != ( TUint ) aDes.Length() ) )
return NULL;
CleanupStack::Pop( 2 ); // cmmfcCodec, ptrbPCM16
HBufC8* pAMRData = desbAMRNB->Data().AllocL();
CleanupStack::Pop( 1 ); // desbAMRNB
return pAMRData;
}
16 September 2005
ScreenFTP
09 August 2005
Full duplex audio on Nokia 6630, 6680
I hope soon this feature will be at public access to all developers.
05 August 2005
There is new newsgroup at publicnews.symbiandevnet.com news-server
"Just as with the other newsgroups on this server, Symbian has created discussion.Symbian.Signed to be a free, public, self-help discussion forum fordevelopers using the Symbian Signed process. Please feel free to post (andanswer!) any questions about Symbian Signed in this group instead of in theother ones on this server. Again, just like the other groups, this forum will beread/monitored by Symbian staff who will respond on a 'best effort' basis to tryand help the community, but we can't offer any *guaranteed* answers in any fixedtime-frame. As usual, however, we will do our best! We will also attempt to turnany questions which arise regularly in to FAQs to help other developers infuture."
news://publicnews.symbiandevnet.com/discussion.Symbian.Signed
04 August 2005
EHeretic - port of the Raven/Id first person shooter game Heretic to the A92x, A1000, Pxxx phones.
http://home.comcast.net/~stevesprojects/#EHeretic
symbiancodex.com
There is a new site http://www.symbiancodex.com/ created by Simon Judge. The idea of this site is to create search mechanism through the most of opened code sources for Symbian in public access. Sometimes it's more effective than searching across all of the Internet via Google.
08 July 2005
CEikDialog usage hint
iDialog->PrepareLC(the _Resource_Id);
// manual altering parameter, for exampe iDialog->SetTextL(the_String);
// and then call RunLD function
iDialog->RunLD();
22 April 2005
Common products UIDs
Series 60
Series 60 v0.9 0x101F6F88
Series 60 v1.0 0x101F795F
Series 60 v1.1 0x101F8201
Series 60 v1.2 0x101F8202
Series 60 v2.0 0x101f7960
Series 60 2nd Edition 0x101f7960
Series 60 2nd Edition + Feature Pack 1 0x101F9115
Series 60 2nd Edition + Feature Pack 2 0x10200BAB
Nokia 3650 0x101F7962
Nokia 6600 0x101F7963
Nokia 6620 0x1020216B
Nokia 6630 0x101F7964
Nokia 7610 0x101FD5DB
Nokia 7650 0x101F6F87
Nokia N-Gage 0x101F8A64
Siemens SX1 0x101F9071
Series 80
Series 80 v2.0 0x101F8ED2
Nokia 9300 0x101F8ED1
Nokia 9500 0x101F8DDB
UIQ
UIQ v2.0 0x101F617B
UIQ v2.1 0x101F61CE
SonyEricsson P80x 0x101F80BE
SonyEricsson P90x 0x101FBB35
Development platforms
Series5mx 0x1000118a
Brutus board 0x10005f60
Cogent board 0x10005f61
Win32Emulator 0x10005f62
WinC 0x10005f63
CirrusLogic 7211 board 0x1000604f
How to add this UIDs in your .pkg files:
Example for UIQ 2.0:
(0x101F617B), 2, 0, 0, {"UIQ20ProductID"}
Example for Series 60 2.0:
(0x101F7960), 0, 0, 0, {"Series60ProductID"}
It is generally preferable to use the Series 60 vX.X UIDs unless your application is only targeted at a very specific phone. Note that there is a known issue in the Series 60 Developer Platform 2.0, Nokia 6600, firmware version 3.42.1 described in
"Developer Platform 2.0: Known Issues", current version of this document you can find here.
UIDs was found here.
21 April 2005
Using of CErrorUI
"CErrorUI provides a mechanism for applications to display a standard error message dialog to the user. Typically, this could be used to warn a user about Out Of Memory (OOM) conditions.
CErrorUI displays an error of the form:
context : error text
in a dialog box. The context of the error is usually the application or the subsystem where the error occurred. CErrorUI uses an instance of CTextResolver to derive the error text and error context from the error code. The context may be automatically selected (default) or may be set by the caller from a limited range.
When using automatic context (ECtxAutomatic) be aware the wrong context may be shown. If CTextResolver cannot decide the context from the error code, it may display a blank context or as the previous context that was displayed. The actual context text that is displayed depends on the SDK version used to build the application. For example; the error text for KErrCancel may display as 'System : System Error' or 'General : System Error'.
Utility class to display error notes by applications. This is the default error display class to be used by applications. The features of the class are: maps given error to error text to be displayed displays error note using timed, global note does not display error if it is already "on" offers a reference to internal TextResolver instance Usage (typically as instance variable)
iErrorUI = CErrorUI::NewL(); // iCoeEnv can be given as argument, no need to that though
// ... some code causing an error ...
if ( err != KErrNone )
iErrorUI->ShowGlobalErrorNoteL(err); "
Note that you need link your app to commonui.lib to use CErrorUI.
There is no plugin realization for CVideoRecorderUtility on the Nokia 6600 phone
19 April 2005
New Nokia Developer Newsletter, April 19, 2005
Tip of the Week: SMS Data to Your MIDlets
You can catch incoming messages from Midlets even if the MIDlet is not running when the SMS arrives. There is an example: MIDP 2.0: Wireless Messaging API Example MIDP_2_0_Wireless_Messaging_API_Example_v1_0.zip
New Nokia 8800 phone
Series 40 Developer Platform 2.0
CLDC 1.1
MIDP 2.0
Nokia UI API Wireless Messaging API (JSR-120)
Mobile Media API (JSR-135)
Bluetooth API (JSR-82 /except OBEX)
Java Technology Wireless Industry rel. 1 (JSR-185)
FileConnection and PIM API (JSR-75)
Mobile 3D Graphics API (JSR-184)
From Java™ MIDP to C++ for Symbian OS
How to migrate in game development from Java MIDP to Symbian C++. The story from from Spoon Interactive Arts of Manila, Philippines. Migrating_SymbianOS_Java_v1_0.pdf, 744 kB.
and more...
12 April 2005
New article about Bluetooth Symbian programming on Forum Nokia
This article describe how Symbian OS Bluetooth APIs give applications access to RFCOMM, L2CAP, SDP, and HCI.
This is pdf document, size 709.0 KB, direct link here.
Forum Nokia also have some good examples about using Bluetooth on Symbian. Another good example can be found in the sources to the book "Developing Series 60 Applications" available from here.