Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di...

18
Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Transcript of Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di...

Page 1: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Programming with Android: Calculator Example

Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria

Università di Bologna

Page 2: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example 2

Calculator: Outline

Today: How to build a Calculator? Define the layout of the application Create an application that uses this layout Add some sort of intelligence to the application Test it

Page 3: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout

Define the buttons, labels, cells and so onPlace them on the screenPay attention: Android powered phones are very

different in terms of resolutionsTry not to stick with absolute values/positioning (we

will see this later)

Page 4: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout definition

Page 5: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout definition

First Operand

Page 6: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout definition

First Operand

Operator

Page 7: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout definition

First Operand

Operator

Second Operand

Page 8: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout definition

First Operand

Operator

Second Operand

Result

Page 9: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout definition

First Operand

Operator

Second Operand

Result

Operators

Page 10: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout definition

First Operand

Operator

Second Operand

Result

Operators

Page 11: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: logic definition

Whenever a user selects a operand cell, a keyboard will pop up

Pressing an operator button will switch the focus from one operand to another (except for =)

We want to deal with float numbers

Page 12: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: events

We want to be warned when a user touches something on the screen Every time this happens, we will react with a set of actions The MVC pattern is relaxed that way (pros and cons)

We do not want the result to be focusable

Page 13: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout building

We will use a set of layoutsLayouts are grouped together following a hierarchyWhy not absolute positioning?

Page 14: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout building

We will use a set of layoutsLayouts are grouped together following a hierarchyWhy not absolute positioning?

Android has a wide range of devices Wide range of resolution Wide range of capabilities

Page 15: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: layout building

We will use a set of layoutsLayouts are grouped together following a hierarchyWhy not absolute positioning?

Android has a wide range of devices Wide range of resolution Wide range of capabilities

Need to build dynamic applications that performs different depending on the device

they're running in.

Page 16: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: hierarchy viewer

Page 17: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: Recap

Define a Layout– Pay Attention to devices heterogeneity

Features– Keyboard should pop up when needed

• Should not pop up on the result

– Switch from one cell to another when pressing operand• React to Events

Page 18: Programming with Android: Calculator Example Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.

Luca Bedogni, Marco Di Felice - Programming with Android – Calculator Example

Calculator: start

Let's start developing the calculator