Intro of Symbian

Symbian Contacts

Agenda

n    Symbian OS and Subsystems

n    Series 60 Platform

n    Contacts Model

n    Phone Book Engine

n    Series 60 Application UI

n    Example Application

Symbian Shakeholders

Symbian Licensees

Symbian OS

n     EPOC Platform

n    Electronic Piece of Cheese

n     Many key features that have a significant impact on mobile application development.

n    Highly object oriented

n    Pre-emptive multitasking

n    Event driven programming interface

n    Protected memory

Symbian OS (Cont.)

n    Extensive use of user mode servers

n    Extensive use of plug-in architectures

n    Highly efficient power mgmt sub-system

n    More than an OS

n   PIM and communication applications is included with Symbian OS
n   Provides application programming framework

Symbian OS (Cont.)

n    Developer Resources

n    Forum Nokia

n   http://www.forum.nokia.com/

n    Symbian Developer Network

n   http://www.symbian.com/developer/

 

Symbian Subsystems

Symbian Subsystems (Cont.)

n      Application Engines

n     Provides access to the application data of the core applications (such as Agenda and Contacts).

n      Application Services

n     Provides a range of utility services to applications (from logging and system information, to vCard and vCalendar handling).

n      Application Protocols

n     Contains components for using the connectivity standard, SyncML, and the Web HTTP protocol.

n      Application Framework

n     Defines the application structure and its basic user interface handling.

Symbian UI Reference Platforms

n    Series 60

n    Series 80

n    Series 90

n    UIQ

n    Others

Series 60 platform

n    For one-hand operated smart phone.

n    Series 60 SDK provided by Nokia.

n    Technical requirements of Series 60 SDK:

n    Windows NT/2000/XP environment

n    500 MB of free disk space or more

n    Microsoft Visual C++ 6.0 or Visual C++ .NET

Application Architecture

n     Application Engine

n    Application Model

n    Deal with the algorithms and data structures needed to represent the applications data.

n     Application UI

n    App

n    Deal with the on-screen presentation of the application data and the overall behavior of the application.

 

Contacts Model

n    A core feature of Symbian OS.

n    Purpose

n    Store, manipulate, and retrieve contact data.

n    Make it straightforward for new applications to access contacts data.

 

Contacts Model Architecture

n     Contacts Database

n    A contacts database contains a number of contact items.

n    One default database provides contact data to the Contacts application itself (contacts.cdb).

n     Contact Item

n    Each contact item contains a number of contact fields.

n     Contact Field

n    Each field has storage for a single object (text, binary, or a date/time value).

Contacts Database

n     CContactDatabase

n    Handle all interaction with a contact database.

n     MContactDbObserver

n    Be notified of database changes made by other clients.

n     CContactItemViewDef

n    Indicate which field data should be retrieved.

Contact Item

n      CContactItem

n     Abstract base class.

n      CContactCard

n     Contact cards.

n      CContactCardTemplate

n     Contact templates, which set the initial fields for other contact items.

n      CContactGroup

n     Contact groups, which hold a set of associated contact item IDs.

n      CContactOwnCard

n     Own card, which is a contact card that contains information about the device's owner.

Contact Field

n     CContactItemField: contact field interface.

Each field has:

n      A content type: CContentType.

n    One UID identifies the field's type.

n    Another optional UID identifies a vCard property to which the field type maps.

n     A storage type: TStorageType.

n    Identify the type of data (text, binary, contact ID, data/time) stored in a contact item field.

 

Contacts API

n    Reference

n    Symbian OS: Using Contacts APIs

n    Symbian Developer Library: API Reference

 

Contacts API (Cont)

n      Contacts Database Management

n     Open, close, get/set drive/path/name, compress, recover

n      Accessing Contact Item

n     Adding a contact item

n     Reading a contact item

n     View definitions

n      Searching the Database

n     Iterating through contacts

n     Creating subsets using filters

n     Finding contact items

n      Notification of Changes

n      vCards

n     Import, export

Phone Book Engine

n    The Series 60 Platform alternative to the contacts model.

n    More suited to the needs of the Series 60 Platform developer.

 

 

Phone Book API

n    Reference

n    Series 60 Developer Platform 1.0/2.0: Using the Phone Book Engine

n    Series 60 API Reference

 

 

Phone Book API (Cont)

n      Phone Book Database Management

n      Accessing Phone Book Item

n     Opening a phone book item

n     Creating new phone book item

n      Searching the Phone Book

n     Iterating through contacts

n     Phone number matching

n     Finding text strings in contacts

n     Speed dialing

n      Change Notification

n      vCards and Compact Business Cards

 

Phone Book API (Cont)

n    Phone Book Dialogs

Series 60 Application UI

n     Series 60 UI Layer (Avkon)

n    Provide a set of UI components.

n    Dialog: customizable containers
n    Query: for simple data (text and numeric) entries
n    Form: for containing controls
n    Popup Notes: for flashing up important information
n    Listbox and Grid: for displaying data
n    Options Menu

n    Provide an application framework.

Application Framework

n      Reference

n     Series 60 Application Framework Handbook

Application Framework (Cont)

n       Application

n      Operate as a startup object and define the application's properties.

n      Create the document.

n       Document

n      Store the applications persistent state.

n      Launch the AppUi.

n       AppUi

n      Handle application-wide events such as Options menu commands, opening/closing files and the application losing focus.

n      It can own many Views. It is also responsible for switching between Views.

n       View

n      Display data on the screen

n      Be notified of updates by an observer mechanism

n      Pass user commands back to the AppUi.

Model-View-Controller (MVC) Paradigm

n       Model

n      Encapsulates the application state

n      Exposes the application functionality

n      Notifies the View of Changes

n      Responds to state Queries (from the View)

n       View

n      Renders the Model

n      Receives updates from the Model

n      Sends user input to the Controller

n       Controller (AppUi)

n      Defines application behavior

n      Maps user actions to Model updates

n      Selects Views for response

 

Example Application

n    PhoneBkEx

n    Build and Run

n    Reference

n   Symbian OS: Getting Started with C++ Application Development
n   Introduction to Series 60 Applications for C++ Developers

n    ...

 

Search Phone Book

n    Iterating through contacts using CPbkContactIter

n    Finding text strings in contacts

n    CPbkContactEngine::FindLC()

n    CPbkContactEngine::FindAsyncL()

n   Observer to receive updates about the search progress
n   MIdleFindObserver::IdleFindCallback()
n    every sixteenth item
 

 

Q & A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值