Introduction to Symbian C++ Programming Huang, Chi-Chia 2009.02.05 1Context-Aware Group, Intelligent Agents Lab, NTU Based on Symbian OS Basics Workbook.

Slides:



Advertisements
Similar presentations
Chapter 18 Vectors and Arrays
Advertisements

1.00 Lecture 37 A Brief Look at C++: A Guide to Reading C++ Programs.
Constructor. 2 constructor The main use of constructors is to initialize objects. A constructor is a special member function, whose name is same as class.
Contents o Introduction o Characteristics of Constructor. o Types of constructor. - Default Constructor - Parameterized Constructor - Copy Constructor.
Introduction to Java Objects CSIS 3701: Advanced Object Oriented Programming.
Exception Handling The purpose of exception handling is to permit the program to catch and handle errors rather than letting the error occur and suffer.
Reviews for Exam 1 Chapter 1-4 CSc 212 Data Structures, Sec FG CCNY, Fall 2010.
Remote Unit Testing Brian Pruitt-Goddard Alex Riordan.
 2006 Pearson Education, Inc. All rights reserved Midterm review Introduction to Classes and Objects.
Exceptions David Rabinowitz. March 3rd, 2004 Object Oriented Design Course 2 The Role of Exceptions Definition: a method succeeds if it terminates in.
1 Lab Session-5 CSIT221 Spring 2003 Default and Parameterized Constructors Destructors Programming Exercise for building a template based class (demo required)
CS 225 Lab #2 - Pointers, Copy Constructors, Destructors, and DDD.
Review of C++ Programming Part II Sheng-Fang Huang.
OOP Languages: Java vs C++
Programming mobile devices Part II Programming Symbian devices with Symbian C++
Introduction to Object-oriented Programming CSIS 3701: Advanced Object Oriented Programming.
Introduction to C++. Overview C++? What are references Object orientation Classes Access specifiers Constructor/destructor Interface-implementation separation.
Programming Languages and Paradigms Object-Oriented Programming.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
Chapter 8 More Object Concepts
Muyowa Mutemwa Supervisor: W.D. Tucker Co-Supervisors: Prof. I. Venter; Mr. M Norman.
CSE 425: Object-Oriented Programming I Object-Oriented Programming A design method as well as a programming paradigm –For example, CRC cards, noun-verb.
Copyright  Hannu Laine C++-programming Part 3 Hannu Laine.
CS 11 C++ track: lecture 4 Today: More on memory management the stack and the heap inline functions structs vs. classes.
CS212: Object Oriented Analysis and Design Lecture 7: Arrays, Pointers and Dynamic Memory Allocation.
Programming mobile devices Part II Programming Symbian devices with Symbian C++ Environment and building applications.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Concurrent and.
Object-Oriented Programming in C++
More C++ Features True object initialisation
Monday, Feb 3, 2003Kate Gregory with material from Deitel and Deitel Week 5 Lab 1 comments Hand in Lab 2 Questions from Last Week Classes continued Lab.
Review of Stacks and Queues Dr. Yingwu Zhu. How does a Stack Work? Last-in-First-out (LIFO) data structure Adding an item Push operation Removing an item.
CS212: Object Oriented Analysis and Design Lecture 17: Virtual Functions.
Symbian Programming Overview Spring 2004: Symbian Larry Rudolph How to program Cellphone? Limited to Series 60 phones Java MidP 2.0 (see wiki,
CS-1030 Dr. Mark L. Hornick 1 Basic C++ State the difference between a function/class declaration and a function/class definition. Explain the purpose.
C++ 程序语言设计 Chapter 12: Dynamic Object Creation. Outline  Object creation process  Overloading new & delete.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 3- Introduction to Object Oriented Programming concepts Topic 3.4 Constructors, Overloading,
 2006 Pearson Education, Inc. All rights reserved Classes: A Deeper Look, Part 1.
Software Toolchains. Instructor: G. Rudolph, Summer Motivation Desktop Programmers typically write code on the same kind of machine on which it.
Classes, Arrays & Pointers. Compiler & Linker expectations file1.cppfile2.cppfilen.cpp …. file1.ofile2.ofilen.o …. Linker application (executable) Compiler.
Software Toolchains. Motivation 2 Write Run Edit, compile, link, run, debug same platform Desktop Write Run Edit, compile, link, debug on host; run on.
Memory Management.
Pointers and Dynamic Arrays
Exceptions David Rabinowitz.
Introduction to Computers Computer Generations
The C++ programming language
Module 9: Memory and Resource Management
Copy Constructor / Destructors Stacks and Queues
Mobile Learning Project Members Project Guide Ravindra Solanki
Default Constructors A default constructor is a constructor that takes no arguments. If you write a class with no constructor at all, C++ will write a.
Programming with ANSI C ++
Introduction Enosis Learning.
Introduction to Symbian C++ Programming
CS212: Object Oriented Analysis and Design
CMPE419 Mobile Application Development
Tsao, Lin-wei Li, Han-lin Hu, Sun-Bo
This pointer, Dynamic memory allocation, Constructors and Destructor
group work #hifiTeam
Introduction Enosis Learning.
Overview of Memory Layout in C++
Constructors and destructors
Destruction and Copying
Indirection.
Destructor CSCE 121.
Destruction and Copying
NAME 436.
The C++ programming language
CMPE419 Mobile Application Development
Rule of Three Part 1 & 2.
Threads CSE 2431: Introduction to Operating Systems
Introduction to Classes and Objects
Presentation transcript:

Introduction to Symbian C++ Programming Huang, Chi-Chia Context-Aware Group, Intelligent Agents Lab, NTU Based on Symbian OS Basics Workbook 3.1

Outline Setting up development environment Basic concept of Symbian C++ Porting to Cell phone Context-Aware Group, Intelligent Agents Lab2

Development Environment Java runtime environment Carbide C++ – Download from Forum.Nokia.comForum.Nokia.com – Account needed ActivePerl – Active Perl build 631 SDK – S60 3rd Edition, Feature Pack 1 – Download from Forum.Nokia.comForum.Nokia.com – Account needed Context-Aware Group, Intelligent Agents Lab3

Carbide C++ Context-Aware Group, Intelligent Agents Lab4

Carbide C++ Context-Aware Group, Intelligent Agents Lab5

Carbide C++ Context-Aware Group, Intelligent Agents Lab6

Carbide C++ Context-Aware Group, Intelligent Agents Lab7

Carbide C++ Context-Aware Group, Intelligent Agents Lab8

Carbide C++ Context-Aware Group, Intelligent Agents Lab9

Carbide C++ Context-Aware Group, Intelligent Agents Lab10

Carbide C++ Context-Aware Group, Intelligent Agents Lab11

Carbide C++ Context-Aware Group, Intelligent Agents Lab12

Carbide C++ Context-Aware Group, Intelligent Agents Lab13

Emulator Context-Aware Group, Intelligent Agents Lab14

Basic Concept of Symbian C++ Stack and Heap Leaves Two Phase construction Active Object Context-Aware Group, Intelligent Agents Lab15

Stack and Heap Stack – Object are delete automatically – Default size is 8kb Heap – Object must deleted by programmer using delete Example Context-Aware Group, Intelligent Agents Lab16

Leaves Leaves are used instead of C++ exception When there is a resource failure, the code “leave” The new operator has been overload to leave if insufficient memory is available – Use new (ELeave) Functions that can leave should end in “L” Context-Aware Group, Intelligent Agents Lab17

Two Phase Construction C++ constructor must never leave as the destructor will not be called Context-Aware Group, Intelligent Agents Lab18

Active Object Events are scheduled by the active scheduler Events are handled by active object Each application has an active scheduler The active scheduler runs in a loop in the application’s main loop Active objects have a: – TRequestStatus bas class member, iStatus, that is passed inro asynchronous functions – RunL() Function that is called when the action completes – DoCancel() function that is called when the action is cancelled Context-Aware Group, Intelligent Agents Lab19

Context-Aware Group, Intelligent Agents Lab20

Active Object Context-Aware Group, Intelligent Agents Lab21

Porting to Cell Phone Context-Aware Group, Intelligent Agents Lab22

Porting to Cell Phone Context-Aware Group, Intelligent Agents Lab23

Porting to Cell Phone Context-Aware Group, Intelligent Agents Lab24

Porting to Cell Phone Context-Aware Group, Intelligent Agents Lab25

Porting to Cell Phone Context-Aware Group, Intelligent Agents Lab26

Porting to Cell Phone Symbian Signed Context-Aware Group, Intelligent Agents Lab27