9781133597209_PPT_ch03

advertisement
Chapter 3: Engage!
Android User Input,
Variables, and
Operations
Objectives
In this chapter, you learn to:
• Use an Android theme
• Add a theme to the Android Manifest file
• Develop the user interface using Text Fields
• State the role of different Text Fields
• Display a hint using the Hint property
• Develop the user interface using a Spinner control
• Add text to the String table
Android Boot Camp for Developers using Java
2
Objectives
•
•
•
•
•
•
•
•
(continued)
Add a prompt to the Spinner control
Declare variables to hold data
Code the GetText() method
Understand arithmetic operations
Convert numeric data
Format numeric data
Code the SetText() method
Run the completed app in the emulator
Android Boot Camp for Developers using Java
3
Android Themes
• Engaging the user by requesting input customizes
the user experience each time the application is
executed
• A theme is a style applied to an Activity or an
entire application
• The default theme is a title bar (often gray) with a
black background
Android Boot Camp for Developers using Java
4
AndroidThemes
Figure 3-3 Default Theme
(continued)
Figure 3-4 Holographic Theme
• Previewing a Theme
– Check the main.xml file in the emulator to see what
your screen looks like
Android Boot Camp for Developers using Java
5
AndroidThemes
(continued)
• Coding a Theme in the Android Manifest File
– Insert this code into the AndroidManifest.xml file
android:theme="@android:style/Theme.Black.NoTitleBa
r“
Figure 3-10 Adding the theme to the Android Manifest File
Android Boot Camp for Developers using Java
6
Simplifying User Input
– The onscreen keyboard is called a softkeyboard
• Input can be in the form of tapping or gestures (using
two fingers to pan, rotate, or zoom)
• Primary design challenge is to simplify user
experiences
• Use legible fonts, simplify input, and optimize each
device’s capabilities to maximize user experience
Figure 3-13 Onscreen keyboard
Android Boot Camp for Developers using Java
7
Simplifying User Input
•
(continued)
Android Text Fields
– Text Fields are the most common type of mobile
input
•
•
•
•
•
Can be free-form plain text
Numbers
A person’s name, password, email, phone number
A date
Multiline text
Android Boot Camp for Developers using Java
8
Simplifying User Input
(continued)
Figure 3-12 Types of Text Fields controls
Android Boot Camp for Developers using Java
9
Simplifying User Input
(continued)
• Adding a Text Field
– Use the Id property
in the Properties
pane to enter a
name that begins
with the prefix txt
– Use descriptive
names like
txtTickets instead of
txtText1
Figure 3-14 TextView control added and formatted
Android Boot Camp for Developers using Java
10
Simplifying User Input
(continued)
• Setting the Hint Property for the Text Field
– A hint is a short description of a field visible as lightcolored text (called a watermark)
Figure 3-17 Hint added to text Field control
Android Boot Camp for Developers using Java
11
Simplifying User Input
(continued)
• Coding the EditText Class for the Text Field
– A variable is used in programming to contain data
that changes during the execution of a program
– Final variables can be initialized but cannot be
changed
– Insert this code to create a variable:
final EditText tickets=(EditText) findViewById(R.id.txtTickets);
Android Boot Camp for Developers using Java
12
Simplifying User Input
(continued)
Figure 3-18 Coding the EditText class for the Text Field
Android Boot Camp for Developers using Java
13
Simplifying User Input
(continued)
• Android Spinner Control
– A Spinner control is similar to a drop-down list for
selecting a single item from a fixed list
– The spinner control displays a list of strings called
items in a pop-up window
– A string is a series of alphanumeric characters that
can include spaces
Android Boot Camp for Developers using Java
14
Simplifying User Input
(continued)
• Using the String Table
– A file named strings.xml is part of all Android apps
and contains a list of commonly used strings
– Android loads the resources from the project’s String
table
– Android can select text using Localization which
allows for changing text based on the user’s
preferred language
– A prompt is used to display instructions at the top of
the spinner control
Android Boot Camp for Developers using Java
15
Simplifying User Input
(continued)
• Adding a Spinner Control with String Array
Entries
– A Spinner property named Entries connects the
String Array to the Spinner control
• Coding the Spinner Control
Figure 3-26 Coding the Spinner Control
Android Boot Camp for Developers using Java
16
Simplifying User Input
(continued)
• Adding the Button, TextView, and ImageView
Controls
Figure 3-27 Adding a Button control
Android Boot Camp for Developers using Java
17
Simplifying User Input
(continued)
Figure 3-28 Coding the button
Android Boot Camp for Developers using Java
18
Simplifying User Input
(continued)
Figure 3-29 Adding a TextView control to display results
Android Boot Camp for Developers using Java
19
Simplifying User Input
(continued)
Figure 3-30 Assigning the TextView control to a variable
Android Boot Camp for Developers using Java
20
Simplifying User Input
(continued)
Figure 3-31 Adding a ImageView control
Android Boot Camp for Developers using Java
21
Declaring Variables
• Primitive Data Types
Table 3-1 Primitive data types in Java
Android Boot Camp for Developers using Java
22
Declaring Variables
(continued)
• String Data Type
– A string can be a character, word, or phrase
• Declaring the Variables
– Typically declared at the beginning of an Activity
– Variables must be declared before you can use them
Android Boot Camp for Developers using Java
23
Declaring Variables
(continued)
Figure 3-32 Declaring variables for the Activity
Android Boot Camp for Developers using Java
24
Declaring Variables
(continued)
• GetText() Method
– Read data stored in the EditText control with the
GetText() method
– Data is read in as a string, by default
– A Parse class is used to convert strings into
numbers
Table 3-2 Parse type conversions
Android Boot Camp for Developers using Java
25
Working with Mathematical Operations
• Arithmetic Operators
Table 3-3 Java arithmetic operators
Android Boot Camp for Developers using Java
26
Working with Mathematical Operations
(cont’d)
• Formatting Numbers
– Currency format requires a dollar sign, a comma (if
needed), a decimal point, and two decimal places
– Java has a class called DecimalFormat that
provides patterns, such as $###,###.## for
displaying on the Android screen
Figure 3-34 Calculating and formatting the ticket cost
Android Boot Camp for Developers using Java
27
Displaying Android Output
• GetSelectedItem() Method
– The GetSelectedItem() method returns the text label
of the currently selected Spinner item
• SetText () Method
– The SetText() method displays text in a TextView
control
Android Boot Camp for Developers using Java
28
Displaying Android Output
(continued)
Figure 3-35 Completed code
Android Boot Camp for Developers using Java
29
Summary
• Assign a theme to an Activity or an entire
application to prevent apps from looking too similar
• Define a theme in the Android Manifest file for each
Activity
• Use Text Fields to request input from users
• Use a control’s Hint property to provide guidelines
to users so they know what to enter
• Use the EditText class to extract text users have
entered and store that text in a variable
• Use GetText() to get data and SetText() to display
data
Android Boot Camp for Developers using Java
30
Summary
(continued)
• Strings.xml is part of every Android application
• You can edit a string in the strings.xml file to
update text anywhere in the application
• Use GetSelectedItem() to return the text of the
selected Spinner item
• To use a variable, you must first declare it
• Variables are declared at the beginning of an
Activity
• Convert variables to the correct data type using the
Parse class
Android Boot Camp for Developers using Java
31
Download