Synopses & Reviews
Android is a software toolkit for mobile phones, created by Google and the Open Handset Alliance. It\'s inside millions of cell phones and other mobile devices, making Android a major platform for application developers. That could be your own program running on all those devices.
Within minutes, Hello, Android will get you started creating your first working application: Android\'s version of \"Hello, World.\" From there, you\'ll build up a more substantial example: an Android Sudoku game. By gradually adding features to the game, you\'ll learn the basics of Android programming. You\'ll also see how to build in audio and video support, add graphics using 2D and 3D OpenGL, network with web pages and web services, and store data with SQLite. You\'ll also learn how to publish your applications to the Android Market.
The #1 book for learning Android is now in its third edition. Every page and example was reviewed and updated for compatibility with the latest versions. Freshly added material covers installing applications to the SD card, supporting multi-touch, and creating live wallpaper. You\'ll also find plenty of real-world advice on how to support all the Android versions in use today-everything from Cupcake (Android 1.5) to FroYo (Android 2.2) and beyond.
If you\'d rather be coding than reading about coding, this book is for you.'
Create mobile services and applications regardless of your computer programming knowledge. This extraordinary book introduces you to App Inventor for Android, a powerful tool that exposes you to the world of computer programming, so you can create technology rather than merely consume it.
You don't need years of training to build your own Android apps. This book teaches you how to quickly design and code apps for anything from texting to location awareness to data storage on the Web, using App Inventor's unique visual interface. Ideal for beginning and intermediate Android developers, hobbyists and makers, and students of any age, App Inventor will help you turn your great idea into a full-functioning app in no time.
- Take advantage of App Inventor's GPS-location sensor: Build an app shows the location of friends or colleagues at a concert or conference, or one that gives you a custom tour of your school, workplace, or a museum.
- Use an Android device's phone features: Write an app that periodically texts "missing you" to loved ones, an app that responds to texts automatically when you're driving, and an app that reads incoming texts aloud.
- Communicate with the Web: Create Android apps that talk to your favorite web sites, such as Amazon and Twitter.
Yes, you can create your own apps for Android phones—and it's easy to do. This extraordinary book introduces App Inventor for Android, a powerful visual tool that lets anyone build apps for Android-based devices. Learn the basics of App Inventor with step-by-step instructions for more than a dozen fun projects, such as creating location-aware apps, data storage, and apps that include decision-making logic.
The second half of the book features an Inventor's manual to help you understand the fundamentals of app building and computer science. App Inventor makes an excellent textbook for beginners and experienced developers alike.
- Design games and other apps with 2D graphics and animation
- Create custom multi-media quizzes and study guides
- Create a custom tour of your city, school, or workplace
- Use an Android phone to control a LEGO® MINDSTORMS® NXT robot
- Build location-aware apps by working with your phones sensors
- Explore apps that incorporate information from the Web
- Learn computer science as you build your apps
About the Author
David Wolber is the Chair of Computer Science at the University of San Francisco, and teaches App Inventor in a course at USF. He worked with the App Inventor team, and authored the advanced tutorials found on the App Inventor site. The apps created by his students- mostly humanities and business majors with no prior programming experience-have been chronicled in articles of The New York Times, San Francisco Chronicle, Tech Crunch, Fortune.CNN.com, and Yahoo News.
Harold (Hal) Abelson, a professor of Electrical Engineering and Computer Science at MIT, has a longstanding interest in using computation as a conceptual framework in teaching. He has played a key role in fostering MIT institutional educational technology initiativeI, and is a founding director of Creative Commons and Public Knowledge. Hals book, Turtle Geometry, written with Andrea diSessa in 1981, presented a computational approach to geometry that has been cited as "the first step in a revolutionary change in the entire teaching/learning process."
Ellen Spertus is an Associate Professor of Computer Science at Mills College, where she has taught with App Inventor, and a Senior Research Scientist at Google, where she was one of the App Inventor developers. She and her work have been written about in Wired, USA Today (which described her as "a geek with principles"), and in The New York Times (as one of three "women who might change the face of the computer industry"). In addition to her many technical publications, her writings have appeared in the book She's Such a Geek: Women Write about Science, Technology, and Other Nerdy Stuff and in the magazines Technology Review, Chronicle of Higher Education, Odyssey: Adventures in Science, and Glamour.
Liz Looney is a senior software engineer at Google, where she helped develop App Inventor and is a member of the Robotics Task Force. She has over 20 years of experience in creating programming tools and holds a bachelor's degree in Computer Science from The University of New Hampshire.
Table of Contents
Dedication; 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; Chapter 1: Hello Purr; 1.1 What You'll Learn; 1.2 The App Inventor Environment; 1.3 Designing the Components; 1.4 Adding Behaviors to the Components; 1.5 Packaging the App for Downloading; 1.6 Sharing the App; 1.7 Variations; 1.8 Summary; 12 Customizable Apps; Chapter 2: PaintPot; 2.1 What You'll Learn; 2.2 Getting Started; 2.3 Designing the Components; 2.4 Adding Behaviors to the Components; 2.5 The Complete App: PaintPot; 2.6 Variations; 2.7 Summary; Chapter 3: MoleMash; 3.1 What You'll Build; 3.2 What You'll Learn; 3.3 Getting Started; 3.4 Adding Behaviors to the Components; 3.5 The Complete App: MoleMash; 3.6 Variations; 3.7 Summary; Chapter 4: No Texting While Driving; 4.1 What You'll Learn; 4.2 Getting Started; 4.3 The Complete App: No Texting While Driving; 4.4 Variations; 4.5 Summary; Chapter 5: Ladybug Chase; 5.1 What You'll Build; 5.2 What You'll Learn; 5.3 Designing the Components; 5.4 Getting Started; 5.5 Animating the Ladybug; 5.6 Displaying the Energy Level; 5.7 Adding an Aphid; 5.8 Adding a Restart Button; 5.9 Adding the Frog; 5.10 Adding Sound Effects; 5.11 Variations; 5.12 Summary; Chapter 6: Paris Map Tour; 6.1 What You'll Learn; 6.2 Designing the Components; 6.3 Setting the Properties of ActivityStarter; 6.4 Adding Behaviors to the Components; 6.5 Setting Up a Virtual Tour; 6.6 Variations; 6.7 Summary; Chapter 7: Android, Where's My Car?; 7.1 What You'll Learn; 7.2 Getting Started; 7.3 Designing the Components; 7.4 Adding Behaviors to the Components; 7.5 The Complete App: Android, Where's My Car?; 7.6 Variations; 7.7 Summary; Chapter 8: Presidents Quiz; 8.1 What You'll Learn; 8.2 Getting Started; 8.3 Designing the Components; 8.4 Adding Behaviors to the Components; 8.5 Making the Quiz Easy to Modify; 8.6 Switching the Image for Each Question; 8.7 Checking the User's Answers; 8.8 The Complete App: The Presidents Quiz; 8.9 Variations; 8.10 Summary; Chapter 9: Xylophone; 9.1 What You'll Build; 9.2 What You'll Learn; 9.3 Getting Started; 9.4 Designing the Components; 9.5 Creating the Keyboard; 9.6 Recording and Playing Back Notes; 9.7 Variations; 9.8 Summary; Chapter 10: MakeQuiz and TakeQuiz; 10.1 What You'll Learn; 10.2 Getting Started; 10.3 Designing the Components; 10.4 Adding Behaviors to the Components; 10.5 The Complete App: MakeQuiz; 10.6 TakeQuiz: An App for Taking the Quiz in the Database; 10.7 TakeQuiz: Modifying the Blocks to Load the Quiz from the Database; 10.8 The Complete App: TakeQuiz; 10.9 Variations; 10.10 Summary; Chapter 11: Broadcast Hub; 11.1 What You'll Learn; 11.2 Getting Started; 11.3 Designing the Components; 11.4 Adding Behaviors to the Components; 11.5 The Complete App: Broadcast Hub; 11.6 Variations; 11.7 Summary; Chapter 12: NXT Remote Control; 12.1 What You'll Learn; 12.2 Getting Started; 12.3 Designing the Components; 12.4 Adding Behaviors to the Components; 12.5 Variations; 12.6 Summary; Chapter 13: Amazon at the Bookstore; 13.1 What You'll Learn; 13.2 What Is an API?; 13.3 Designing the Components; 13.4 Designing the Behavior; 13.5 Customizing the API; 13.6 Variations; 13.7 Summary; Inventor's Manual; Chapter 14: Understanding an App's Architecture; 14.1 Components; 14.2 Behavior; 14.3 Summary; Chapter 15: Engineering and Debugging an App; 15.1 Software Engineering Principles; 15.2 Debugging an App; 15.3 Summary; Chapter 16: Programming Your App's Memory; 16.1 Named Memory Slots; 16.2 Properties; 16.3 Defining Variables; 16.4 Setting and Getting a Variable; 16.5 Setting a Variable to an Expression; 16.6 Summary; Chapter 17: Creating Animated Apps; 17.1 Adding a Canvas Component to Your App; 17.2 The Canvas Coordinate System; 17.3 Animating Objects with Timer Events; 17.4 High-Level Animation Functions; 17.5 Interactive Animation; 17.6 Specifying Sprite Animation Without a Clock Timer; 17.7 Summary; Chapter 18: Programming Your App to Make Decisions: Conditional Blocks; 18.1 Testing Conditions with if and ifelse Blocks; 18.2 Programming an Either/Or Decision; 18.3 Programming Conditions Within Conditions; 18.4 Programming Complex Conditions; 18.5 Summary; Chapter 19: Programming Lists of Data; 19.1 Creating a List Variable; 19.2 Selecting an Item in a List; 19.3 Using an Index to Traverse a List; 19.4 Creating Input Forms and Dynamic Lists; 19.5 Lists of Lists; 19.6 Summary; Chapter 20: Repeating Blocks: Iteration; 20.1 Controlling an App's Execution: Branching and Looping; 20.2 Repeating Functions on a List Using foreach; 20.3 A Second foreach Example: Displaying a List; 20.4 Repeating Blocks with while; 20.5 Summary; Chapter 21: Defining Procedures: Reusing Blocks; 21.1 Eliminating Redundancy; 21.2 Defining a Procedure; 21.3 Calling a Procedure; 21.4 The Program Counter; 21.5 Adding Parameters to Your Procedure; 21.6 Returning Values from a Procedure; 21.7 Reusing Blocks Among Apps; 21.8 A Second Example: distanceBetweenPoints; 21.9 Summary; Chapter 22: Working with Databases; 22.1 Storing Persistent Data in TinyDB; 22.2 Retrieving Data from TinyDB; 22.3 Storing and Sharing Data with TinyWebDB; 22.4 Storing Data with TinyWebDB; 22.5 Requesting and Processing Data with TinyWebDB; 22.6 GetValue-GotValue in Action; 22.7 Setting Up a Web Database; 22.8 Summary; Chapter 23: Reading and Responding to Sensors; 23.1 Creating Location-Aware Apps; 23.2 Using the Orientation Sensor; 23.3 Using the Accelerometer; 23.4 Summary; Chapter 24: Communicating with Web APIs; 24.1 Talking to Web APIs That Generate Images; 24.2 Talking to Web Data APIs; 24.3 Creating Your Own App Inventor-Compliant APIs; 24.4 Summary; Colophon;