Upload
zona
View
63
Download
7
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Chapter 3: Engage! Android User Input, Variables, and Operations
ObjectivesIn 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
2Android Boot Camp for Developers using Java
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
3Android Boot Camp for Developers using Java
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
4Android Boot Camp for Developers using Java
Android Themes (continued)
• Previewing a Theme– Check the main.xml file in the emulator to see what
your screen looks like
5Android Boot Camp for Developers using Java
Figure 3-3 Default Theme Figure 3-4 Holographic Theme
Android Themes (continued)
• Coding a Theme in the Android Manifest File– Insert this code into the AndroidManifest.xml file
android:theme="@android:style/Theme.Black.NoTitleBar“
6Android Boot Camp for Developers using Java
Figure 3-10 Adding the theme to the Android Manifest File
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
7Android Boot Camp for Developers using Java
Figure 3-13 Onscreen keyboard
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
8Android Boot Camp for Developers using Java
Simplifying User Input (continued)
9Android Boot Camp for Developers using Java
Figure 3-12 Types of Text Fields controls
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
10Android Boot Camp for Developers using Java
Figure 3-14 TextView control added and formatted
Simplifying User Input (continued)
• Setting the Hint Property for the Text Field– A hint is a short description of a field visible as light-
colored text (called a watermark)
11Android Boot Camp for Developers using Java
Figure 3-17 Hint added to text Field control
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);
12Android Boot Camp for Developers using Java
Simplifying User Input (continued)
13Android Boot Camp for Developers using Java
Figure 3-18 Coding the EditText class for the Text Field
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
14Android Boot Camp for Developers using Java
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
15Android Boot Camp for Developers using Java
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
16Android Boot Camp for Developers using Java
Figure 3-26 Coding the Spinner Control
Simplifying User Input (continued)
• Adding the Button, TextView, and ImageView Controls
17Android Boot Camp for Developers using Java
Figure 3-27 Adding a Button control
Simplifying User Input (continued)
18Android Boot Camp for Developers using Java
Figure 3-28 Coding the button
Simplifying User Input (continued)
19Android Boot Camp for Developers using Java
Figure 3-29 Adding a TextView control to display results
Simplifying User Input (continued)
20Android Boot Camp for Developers using Java
Figure 3-30 Assigning the TextView control to a variable
Simplifying User Input (continued)
21Android Boot Camp for Developers using Java
Figure 3-31 Adding a ImageView control
Declaring Variables• Primitive Data Types
22Android Boot Camp for Developers using Java
Table 3-1 Primitive data types in Java
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
23Android Boot Camp for Developers using Java
Declaring Variables (continued)
24Android Boot Camp for Developers using Java
Figure 3-32 Declaring variables for the Activity
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
25Android Boot Camp for Developers using Java
Table 3-2 Parse type conversions
Working with Mathematical Operations
26Android Boot Camp for Developers using Java
• Arithmetic Operators
Table 3-3 Java arithmetic operators
Working with Mathematical Operations (cont’d)
27Android Boot Camp for Developers using Java
• 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
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
28Android Boot Camp for Developers using Java
Displaying Android Output (continued)
29Android Boot Camp for Developers using Java
Figure 3-35 Completed code
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
data30Android Boot Camp for Developers using Java
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
31Android Boot Camp for Developers using Java