Basics
This section contains several tutorials that introduce some basic things you should know about Symbian OS if you want to develop C++ applications for this platform (no matter it is a Series 60 or a UIQ app). If you are new to Symbian, you should browse this section first !
About Symbian UIDs
Tutorial posted April 21st, 2008 by er.khalidA short introduction to Symbian UIDs
Do's and Dont's of Symbian programming
Tutorial posted March 26th, 2008 by raghav_anThis tutorial provides an insight to good programming practices and practices that can preferably avoided while programming in Symbian environment.
CNTMODEL Panics
Tutorial posted October 30th, 2007 by ericHere is the list of CNTMODEL panics. These are not documented in my working SDK and may happen when you are dealing with contacts.
Introduction to Y-Browser plugin development
Tutorial posted September 18th, 2007 by yuccaThis article will teach you the basics to write your own plugin for the popular Y-Browser file explorer. In general Y-Browser plug-ins are Ecom plug-ins, which are returning defined Y-Browser base class implementations. For file handler all plug-in instances are CCoeControl based containers which are also required to implement some additional interface functions. These additional interface function are then called by the Y-Browser when these plug-ins are utilized.
Top 5 common mistakes to cause memory leaks in Symbian C++ applications
Tutorial posted August 21st, 2007 by jonathanEven in a relatively large scale Symbian applications developed in multiple locations by many different people, the different ways to cause memory leaks are not as diverse as one might think.
Here's a list so that once you've read through it you'll be sure to avoid more than two thirds of the most common beginner mistakes and slip ups that cause memory leaks in Symbian C++ applications.
Widgets on S60: Web Runtime
Tutorial posted November 15th, 2007 by dcrochaEarly in 2007, Nokia announced the Web Runtime (WRT) technology as one of the great news for the S60 platform. This technology will be available with all S60 3rd. Edition Feature Pack 2 devices and allows development of applications (called widgets) for S60 smartphones using standard Web technologies such as: XHTML, CSS (Cascading Style Sheets) and JavaScript, besides bringing cutting-edge Web 2.0 applications to your device with the use of AJAX (Asynchronous JavaScript And XML).
In this article we'll introduce the Web Runtime technology, will show what's the importance of it for the quick and easy building of mobile applications, besides presenting the tools you'll need to develop widgets using WRT. We'll also build a simple example application to show you how the whole development cycle works.
Memory - Have you ever wondered what kind of memory is present in your device?
Tutorial posted October 19th, 2007 by indrajit.tapada...Memory is used to hold stuff on your devices. Phone numbers, pictures, programs, music files, they all need memory to work. Ignoring old technology no one uses anymore and exotic technology that hasn't been released to the mass market yet, there are two types of memory: RAM and ROM. They're similar in that they both hold stuff. Their main differences involve speed and power.
auto_cleanup (an auto_ptr equivalent for R classes)
Tutorial posted August 22nd, 2007 by makomAn implemetation for cleaning up an instance of Symbians typical R classes automatically. As we all know an instance of an R class usually has to be cleaned up via a call to a certain cleanup method (e.g. Close(), Disconnect(), Release() etc.) For implementing the auto_cleanup class which should be agnostic of this cleanup method I have choosen to use a functor class...
Inside CBase class - Six Essential Questions
Tutorial posted August 1st, 2007 by rensijieIf you can answer the following questions, you can skip this article, because you are a Symbian programmer with strong curiosity. If you are not sure about some answers, I recommend you to read this ariticle, because CBase class is essential in Symbian OS and it's interesting to know some features of this class. The questions are:
1. Why does cleanup stack has 3 versions of PushL() including PushL( CBase *aPtr )?
2. Why does CBase have a public virtual destructor?
3. How is CBase derived object initialized to binary zeroes?
4. ...





