The N95 SDK is out get your hands on it now. The FP1 contains the S60 device emulator, API implementations, documentation, and sample applications as previous SDK’s.
Updated version of Dictionary now available for free and works on Symbian S60 (Series 60) 3rd edition.
Features and specifications:
Websters English Dictionary.
Built-in indexes find words in a fraction of a second.
Includes parts of speech (noun, verb etc).
Uses 6Mb disk space for the program and data.
Installs to main memory or memory card (Memory card recommended)
On E Series phones, if you get the message, “Invalid certificate, cannot install”, change the setting in App. Manager from “signed only” to “all software”
Symtopia.com is a new site that from Simon Judge which lists S60 3rd Edition and UIQ 3.0 (Symbian 9.1) applications. All applications are native C++ with no Java listings.
If you are a developer you can have your application listed on the website with an easy one click Add Link button located on the site.
There are a whole lot of freeware applications all searchable by category.
In Simon’s words these are the main reasons he put up Symtopia:
Here are my general impressions having visited the various developer web sites, forums and existing (mainly Handango-based) directories…
The 80/20 principle seems to apply. There are a few developers producing large numbers of titles. Prior to Symbian 9.1 there were many more developers each producing fewer titles. Maybe the developers producing the large number of titles were those who previously made a good profit pre- Symbian 9.1.
There is approximately three times as many S60 applications as UIQ applications. This might be explained by the fact that UIQ 3.0 devices and SDKs trailed S60 by about a month. However, I still can’t envisage the number of UIQ 3.0 reaching the same as S60 (now) in a months time.
There’s evidence of developers stalling during development (e.g. FExplorer, Papyrus, Blackballer) due to complexities of platform security.
There are some instances of end-users automatically assuming older (pre-Symbian 9.1) software will run on Symbian 9.1 devices leading to consumer frustration.
Flash Lite adoption is growing at a very rapid rate. It is most probably because it is so easy to code for and there are so many Flash designers/developers out there today that have now found a new media outlet – mobile phone users.
So watch out Symbian (C++) and Java Micro Edition (JavaME,J2ME) you have a new contender in the arena.
Symbian OS software developers cellphonesoft has just released Swiss Manager, a composite system utility for UIQ3. It provides task manager, file manager and system information services, giving you more access to and more knowledge about your phone.
Swiss Manager is an essential addition to your UIQ3 device which features:
* Management of running programs (task information, task switch, task exit)
* Release memory by exiting all running programs at once, optionally when closing the flip
* Navigation throughout the phone’s drives and their entire file system
* File management (copy, move, delete, rename)
* Displaying the amount of free memory and disk space
* Useful system information (device characteristics, system uptime, battery level, IMEI number, etc.)
Use this code for the 2nd edition. Note that the first half of the if statement is just so that the code works on the emulator. This is because the emulator uses a Dynamic Link Library (DLL), therefore we need to employ library functions. However the overall outcome is the same.
TRequestStatus start; TServerStart starter(start); #ifdef __WINS__ // On the Windows emulator the process is a DLL RLibrary lib; lib.Load(KBinaryName, BinaryUid); TLibraryFunction export1 = lib.Lookup(1); TThreadFunction threadFunction = reinterpret_cast (export1()); TName name(KBinaryName); // Randomness ensures a unique thread name name.AppendNum(Math::Random(), EHex); // Now create the server thread const TInt KMinHeapSize=0x1000; const TInt KMaxHeapSize=0x1000000; RThread thread; thread.Create(name, threadFunction, KDefaultStackSize, &starter, &lib, NULL,KMinHeapSize, KMaxHeapSize, EOwnerProcess); lib.Close(); #else // Phone hardware RProcess process; process.Create(KBinaryName,starter.AsCommand(), BinaryUid); #endif
This code only works on S60 3rd Edition.
You can use it to invoke an executable from with your application. Make sure you cleanup after youself and don’t leave any rouge applications running in the background.
RProcess server; server.Create(KServerName, KNullDesC); CApaCommandLine* commandLine = CApaCommandLine::NewL(); commandLine->SetExecutableNameL(KExecutableName); commandLine->SetProcessEnvironmentL(server); RApaLsSession ApaSession; ApaSession.Connect(); ApaSession.StartApp(*commandLine); ApaSession.Close(); delete commandLine;
Nokia has now released a PC version of the software upgrade for your phone. The supported handsets for this magical ability include the Nokia N70, N72, 6131, 6630, 6680, 6681 and 6682. The Nokia 6131 supports OTA (Over-The-Air) updates. The software ( Software Updater ) updates your phones software / OS (operating system) and checks for updates on the phone via a PC connection. It is reccomeded that you check for new updates on a monthly basis to keep your phone functioning with the latest and greatest. This will also be great for software developers, ie S60 application developers; they can ensure that their application will work on a specified target device provided they have the XX-YY-ZZZZ date software update.
What you need:
Series 60 SDK
Communicator 9200 SDK version 0.9 or higher
etel.h from Communicator 9200 SDK
etelbgsm.h from Communicator 9200 SDK
Copy etel.h and etelbgsm.h to the Symbian6.1Series60Epoc32Include directory.
Link your app to gsmbas.lib and etel.lib.
Use this code:
RBasicGsmPhone phone; RTelServer server; User::LeaveIfError( server.Connect() ); // load a phone profile _LIT(KGsmModuleName, "phonetsy.tsy"); User::LeaveIfError( server.LoadPhoneModule( KGsmModuleName ) ); // initialize the phone object RTelServer::TPhoneInfo info; User::LeaveIfError( server.GetPhoneInfo( 0, info ) ); User::LeaveIfError( phone.Open( server, info.iName ) ); MBasicGsmPhoneNetwork::TCurrentNetworkInfo netinfo; User::LeaveIfError( phone.GetCurrentNetworkInfo( netinfo ) ); Now you should be able to access the fields of MBasicGsmPhoneNetwork::TCurrentNetworkInfo which are .iCellId .iLocationAreaCode .iNetworkInfo.iShortName Once you have grabbed the info use this code to clean up: phone.Close(); server.UnloadPhoneModule( KGsmModuleName ); server.Close();
All the code should work for the 6600 as well. You have the option of
just compiling with the 1.2 SDK or copying the headers to the 2.0 SDK .
Explore the other functions and data available through these objects as well. The headers should provide you with enough information to figure out what they are. Not all of them are completely implemented. According to a Forum Nokia post you can get to the information by:
- ManufacturerId, Serial No: GetPhoneInfo()
- BER, battery status: GetX – async version
- Signal Strength: SignalStrengthNotification()
Use the NotifyChangeOfCurrentNetwork, so that works as well.
The time is now! Mobile technology is to sky rocket with the consumer base forever upgrading their mobile phones. Java-enabled phones together with Symbian OS phones make life and business much easier. Download the Midlet Development Kit and Symbian SDK and get started. Unleash your website to the wireless network. Deliver real time content to your clients via mobile.