Home Page Icon
Home Page
Table of Contents for
Dedication
Close
Dedication
by Ellen Spertus, Liz Looney, Hal Abelson, David Wolber
App Inventor
Dedication
A Note Regarding Supplemental Files
Foreword
Preface
A Blocks Language for Mobile Phones
What Can You Do with App Inventor?
Why App Inventor Works
What Kind of Apps Can You Build?
Who Can Build Apps?
Conventions Used in This Book
How to Use This Book
Acknowledgments
1. Hello Purr
What You’ll Learn
The App Inventor Environment
Designing the Components
Making a Label
Adding the Button
Adding the Meow Sound
Adding Behaviors to the Components
Making the Kitty Meow
Adding a Purr
Shaking the Phone
Packaging the App for Downloading
Sharing the App
Variations
Summary
I. 12 Customizable Apps
2. PaintPot
What You’ll Learn
Getting Started
Designing the Components
Creating the Color Buttons
Using Arrangements for Better Layouts
Adding the Canvas
Arranging the Bottom Buttons and the Camera Component
Adding Behaviors to the Components
Adding the Touch Event to Draw a Dot
Adding the Drag Event That Draws a Line
Adding Button Event Handlers
Letting the User Take a Picture
Changing the Dot Size
Using variables
Changing the values of variables
The Complete App: PaintPot
Variations
Summary
3. MoleMash
What You’ll Build
What You’ll Learn
Getting Started
Designing the Components
Placing the Action components
Placing the Label components
Adding Behaviors to the Components
Moving the Mole
Creating MoveMole
Calling MoveMole when the app starts
Calling MoveMole every second
Keeping Score
Resetting the Score
Adding Behavior When the Mole Is Touched
The Complete App: MoleMash
Variations
Summary
4. No Texting While Driving
What You’ll Learn
Getting Started
Designing the Components
Adding Behaviors to the Components
Programming an autoresponse
How the blocks work
Entering a Custom Response
How the blocks work
Storing the Custom Response in a Database
How the blocks work
Retrieving the Custom Response When the App Opens
How the blocks work
Speaking the Incoming Texts Aloud
How the blocks work
Adding Location Information to the Response
How the blocks work
Sending the Location As Part of the Response
How the blocks work
The Complete App: No Texting While Driving
Variations
Summary
5. Ladybug Chase
What You’ll Build
What You’ll Learn
Designing the Components
Getting Started
Animating the Ladybug
Adding the Components
Adding the Behavior
Displaying the Energy Level
Adding a Component
Creating a Variable: Energy
Drawing the Energy Bar
Starvation
Adding an Aphid
Adding an ImageSprite
Controlling the Aphid
How the blocks work
Having the Ladybug Eat the Aphid
How the blocks work
Detecting a Ladybug–Aphid Collision
How the blocks work
The Return of the Aphid
How the blocks work
Adding a Restart Button
Adding the Frog
Having the Frog Chase the Ladybug
How the blocks work
Having the Frog Eat the Ladybug
How the blocks work
The Return of the Ladybug
How the blocks work
Adding Sound Effects
Variations
Summary
6. Paris Map Tour
What You’ll Learn
Designing the Components
Setting the Properties of ActivityStarter
Adding Behaviors to the Components
Creating a List of Destinations
Letting the User Choose a Destination
How the blocks work
Opening Maps with a Search
How the blocks work
Setting Up a Virtual Tour
Finding the DataUri for Specific Maps
Defining the dataURIs List
Modifying the ListPicker.AfterPicking Behavior
How the blocks work
Variations
Summary
7. Android, Where’s My Car?
What You’ll Learn
Getting Started
Designing the Components
Adding Behaviors to the Components
Displaying the Current Location
How the blocks work
Recording the Current Location
How the blocks work
Displaying Directions to the Remembered Location
How the blocks work
Storing the Remembered Location Persistently
How the blocks work
Retrieving the Remembered Location When the App Launches
How the blocks work
The Complete App: Android, Where’s My Car?
Variations
Summary
8. Presidents Quiz
What You’ll Learn
Getting Started
Designing the Components
Adding Behaviors to the Components
Defining the Index Variable
Displaying the First Question
How the blocks work
Iterating Through the Questions
How the blocks work
Making the Quiz Easy to Modify
How the Blocks Work
Switching the Image for Each Question
How the Blocks Work
Checking the User’s Answers
How the Blocks Work
How the Blocks Work
The Complete App: The Presidents Quiz
Variations
Summary
9. Xylophone
What You’ll Build
What You’ll Learn
Getting Started
Designing the Components
Creating the Keyboard
Creating the First Note Buttons
Adding the Sound Component
Connecting the Sounds to the Buttons
Telling Android to Load the Sounds
Implementing the Remaining Notes
Recording and Playing Back Notes
Adding the Components
Recording Notes and Times
How the blocks work
Playing Back Notes
How the blocks work
Playing Back Notes with Proper Delays
How the blocks work
Variations
Summary
10. MakeQuiz and TakeQuiz
What You’ll Learn
Getting Started
Designing the Components
Adding Behaviors to the Components
Recording the User’s Entries
How the blocks work
Blanking Out the Question and Answer
How the blocks work
Displaying Question-Answer Pairs on Multiple Lines
How the blocks work
Calling the new procedure
Storing the Questions and Answers in a Database
How the blocks work
Loading Data from the Database
How the blocks work
How the blocks work
The Complete App: MakeQuiz
TakeQuiz: An App for Taking the Quiz in the Database
TakeQuiz: Modifying the Blocks to Load the Quiz from the Database
How the Blocks Work
The Complete App: TakeQuiz
Variations
Summary
11. Broadcast Hub
What You’ll Learn
Getting Started
Designing the Components
Adding Behaviors to the Components
How the Blocks Work
Adding Someone to the Broadcast List
How the blocks work
Broadcasting Messages
How the blocks work
Cleaning Up Your List Display
How the blocks work
Logging the Broadcasted Texts
How the blocks work
Storing the BroadcastList in a Database
How the blocks work
Loading the BroadcastList from a Database
How the blocks work
The Complete App: Broadcast Hub
Variations
Summary
12. NXT Remote Control
What You’ll Learn
Getting Started
Designing the Components
Non-Visible Components
Visible Components
Adding Behaviors to the Components
Connecting to the NXT
Displaying the List of Robots
How the blocks work
Making the Bluetooth Connection
How the blocks work
Disconnecting from the NXT
How the blocks work
Driving the NXT
How the blocks work
Using the Ultrasonic Sensor to Detect Obstacles
How the blocks work
Variations
Summary
13. Amazon at the Bookstore
What You’ll Learn
What Is an API?
Designing the Components
Designing the Behavior
Searching by Keyword
How the blocks work
Searching by ISBN
How the blocks work
Don’t Leave Your Users Hanging
How the blocks work
Scanning a Book
How the blocks work
Improving the Display
How the blocks work
Customizing the API
Variations
Summary
II. Inventor’s Manual
14. Understanding an App’s Architecture
Components
Behavior
An App As a Recipe
An App As a Set of Event Handlers
Event Types
User-initiated events
Initialization events
Timer events
Animation events
External events
Event Handlers Can Ask Questions
Event Handlers Can Repeat Blocks
Event Handlers Can Remember Things
Event Handlers Can Talk to the Web
Summary
15. Engineering and Debugging an App
Software Engineering Principles
Design for Real People with Real Problems
Build a Quick Prototype and Show It to Your Prospective Users
Incremental Development
Design Before Coding
Comment Your Code
Divide, Layer, and Conquer
Understand Your Language: Tracing with Pen and Paper
Debugging an App
Watching Variables
Testing Individual Blocks
Incremental Development with Do It
Activating and Deactivating Blocks
Summary
16. Programming Your App’s Memory
Named Memory Slots
Properties
Defining Variables
Setting and Getting a Variable
Setting a Variable to an Expression
Incrementing a Variable
Building Complex Expressions
Displaying Variables
Summary
17. Creating Animated Apps
Adding a Canvas Component to Your App
The Canvas Coordinate System
Animating Objects with Timer Events
Creating Movement
Speed
High-Level Animation Functions
EdgeReached
CollidingWith and NoLongerCollidingWith
Interactive Animation
Specifying Sprite Animation Without a Clock Timer
Summary
18. Programming Your App to Make Decisions: Conditional Blocks
Testing Conditions with if and ifelse Blocks
Programming an Either/Or Decision
Programming Conditions Within Conditions
Programming Complex Conditions
Summary
19. Programming Lists of Data
Creating a List Variable
Selecting an Item in a List
Using an Index to Traverse a List
Example: Traversing a List of Paint Colors
Creating Input Forms and Dynamic Lists
Defining a Dynamic List
Adding an Item
Displaying a List
Removing an Item from a List
Lists of Lists
Summary
20. Repeating Blocks: Iteration
Controlling an App’s Execution: Branching and Looping
Repeating Functions on a List Using foreach
A Closer Look at Looping
Writing Maintainable Code
A Second foreach Example: Displaying a List
Repeating Blocks with while
Using while to Synchronously Process Two Lists
Using while to Compute a Formula
Summary
21. Defining Procedures: Reusing Blocks
Eliminating Redundancy
Defining a Procedure
Calling a Procedure
The Program Counter
Adding Parameters to Your Procedure
Returning Values from a Procedure
Reusing Blocks Among Apps
A Second Example: distanceBetweenPoints
Summary
22. Working with Databases
Storing Persistent Data in TinyDB
Retrieving Data from TinyDB
Storing and Sharing Data with TinyWebDB
Storing Data with TinyWebDB
Requesting and Processing Data with TinyWebDB
GetValue-GotValue in Action
A More Complex GetValue/GotValue Example
Requesting Data with Various Tags
Processing Multiple Tags in TinyWebDB.GotValue
Setting Up a Web Database
Summary
23. Reading and Responding to Sensors
Creating Location-Aware Apps
GPS
Sensing Location with App Inventor
Checking Boundaries
Location Information Providers: GPS, WiFi, and Cell ID
Using the Orientation Sensor
Using the Roll Parameter
Moving Any Direction with Heading and Magnitude
Using the Phone As a Compass
Using the Accelerometer
Responding to the Device Shaking
Using the AccelerometerSensor’s Readings
Detecting Free Fall
Detecting Acceleration Using Calibrated Values
Summary
24. Communicating with Web APIs
Talking to Web APIs That Generate Images
Setting the Image.Picture Property to a Chart API
Building a Chart API URL Dynamically
Talking to Web Data APIs
Exploring the Web Interface of an API
Accessing the API Through TinyWebDB
Creating Your Own App Inventor–Compliant APIs
Customizing Template Code
Wrapping the Yahoo! Finance API
Summary
Index
About the Authors
Colophon
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
App Inventor
Next
Next Chapter
A Note Regarding Supplemental Files
Dedication
For Tomás, who reinvents me every day
.
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset