140 likes | 235 Views
Design and Implement Location based application on S60. 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
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