140 likes | 238 Views
Explore the architecture of S60 platform, learn about location-based applications, and delve into the design and implementation of a location-based application on S60. Understand the different layers, views, and architecture design involved, as well as the testing process.
E N D
Introduction to S60 • Created by Nokia on top of Symbian OS • Licensed to different mobile manufacturer, e.g. Sumsung, LG, etc • Some built-in applications are provided, e.g. calendar, phonebook, etc • Third-party developers can implement applications easily by using the APIs provided by S60
Introduction – Architecture • First layer consists of AppArc and CONE. • AppArc is the abbreviation for Application Architecture, which provides the basic structure for all the applications • CONE stands for Control Environment. It enables interaction with the window server and provides a mechanism for creating user interface and handling user interface events. • Second layer Uikon provides a device-independent application framework. User interface (UI) libraries in this layer are fundermental to all Symbian OS devices. • Third layer Avkon, which is built on the Uikon application framework, provides S60 specific UI functionalities. • The forth layer consists of classes for a typical UI applicaiton.
S60 – View architecture • Traditional Symbian OS control-based architecture • Views also known as containers are inherited from CCoeControl and they are initialized and managed by AppUi directly. AppUi also takes the responsibility for handling view switching.
S60 – View architecture • Avkon view switching architecture • View specific controllers derived from CAknView in addition to the main controller AppUi • AppUi is derived from CAknViewAppUi, which provides additional funtions for Avkon views' registration, activation and deactivation.
S60 – View architecture • Dialog-based architecture • Similar to traditional architecture concerning that AppUi owns the UI controls directly. • Containers are derived from one of dialog classes instead of from CCoeControl directly. • Suitable when the dialog is for the main view
Difference compared to conventional C++ • Naming Convention • Trap harness, instead of try catch in traditional C++ programming • Two phase construction, NewL, NewLC
Location based application • Widely used • Different location technology, GPS, Assisted GPS, network • S60 provide generic APIs to handle location information • No need to worry about which technology is in use • Different location based applications • Nokia Maps • Nokia Chat • Sports Tracker
Application developed in the thesis - Trecker • Three different views • Location view – provide basic information, e.g. speed, time, distance, • Compass view – provide a customized compass, which points to true north and destination • Map view – show the map
Architecture design • TreckerModel keeps location information like speed, distance, etc • TreckerDb is responsible for parsing XML file which contains location information and stores the information • TreckerLc is responsible for tracking the location update and informs other components. It is also responsible for some simple calculation. • TreckerMapLc is responsible for map related calculation, e.g. transformation between geographical coordinates to Cartesian coordinates • TreckerMap is the map specific control
Testing • The application is tested in Otaniemi area • Main functions are tested