"Google App Inventor for Android is the complete guide to App Inventor for Android, Google's new visual language for building mobile apps. With App Inventor, you program by piecing together blocks that represent the phone's functionality. Because it's like putting together a puzzle, even non-technical people can use App Inventor to create mobile apps. With App Inventor you don't need to write a single line of programming code, and can still create apps that take advantage of all of an Android smart phone's features including the accelerometer, GPS, messaging, contacts, the web and more. This book provides you with a series of fully worked out apps that you can create, download and use on your Android phone. Best of all, the apps come with complete "source blocks", fully explained in easy to understand terms, which you can customize for your own use or use as a model for building the next "killer app". The sample apps are accompanied by a section on App Inventor Designs Patterns that serves as an invaluable reference and explains computer science concepts in simple terms. Google App Inventor for Android is the perfect companion for your app exploration, and will have you creating your own Android apps in no time"--Provided by publisher. "This book provides you with a series of fully worked out apps that you can create, download and use on your Android phone"--Provided by publisher. Machine generated contents note: Who This Book Is For -- pt. I Getting Up and Running with Google App Inventor -- pt. II Designing Your Own Apps: Step-by-Step Guides -- pt. III Reference and Appendixes -- Downloadable Project Files and Bonus Content -- About This Book -- Part I -- ch. 1 Building Your First App While Exploring the Interface -- Starting a New Project -- Getting Familiar with Design View -- The Palette column -- The Viewer column -- The Components column -- Media column -- The Properties column -- Adding Components to Your New Project -- Adding a Button component -- Adding a Label component -- Adding an Image component -- Adding a Sound component -- Renaming the Screen component -- Renaming the Image component -- Renaming the Label component -- Renaming the Button component -- Renaming the Sound component -- Adding sound for the Sound component -- Adding images for the Image component -- Understanding properties -- Setting Image component properties -- Setting Label component properties -- Setting Button component properties -- Setting Sound component properties -- Introducing the Blocks Editor -- Previewing Built-in Blocks -- Placing Your Button Component Blocks -- Placing Your Sound Component Blocks -- Putting the final touches on your project -- Saving your new application -- The Save As button -- The Checkpoint button -- Packaging your app -- Using the Show Barcode option -- Using the Download to This Computer option -- Using the Download to Connected Phone option -- Managing Your Projects -- Downloading your project source code -- Uploading your project source code -- Deleting a project -- Loading an existing project -- ch. 2 Programming and Design Fundamentals -- Clarifying Your Design Idea -- Getting Primitive with Your Design -- Starting Easy, Getting More Complex -- Mastering the Fundamentals of Programming Terminology -- Events -- Methods -- Properties -- Variables -- Procedures -- Part II -- ch. 3 SounDroid: Creating an Android Sound Machine -- Creating SounDroid 2.0 -- Your design -- Your primitives -- Your progression -- New components -- New blocks -- Getting Started on SounDroid 2.0 -- Adding components for the sound loop mechanism -- Enabling more control over sound looping -- Expanding the SounDroid Project: SounDroid 3.0 -- Your design -- Design goals -- Your primitives -- Your progression -- New components -- New blocks -- Getting Started on SounDroid 3.0 -- Building the logic for the timer counter -- Defning the stop and start timer procedures -- Adding the procTimer procedure to the button event handlers -- ch. 4 OrderDroid: A Maintainable Mobile Commerce App -- Creating the OrderDroid Application -- Your design -- Your primitives -- Your progression -- New components -- New blocks -- Getting Started on OrderDroid 1.0 -- Adding New Components to OrderDroid 1.0 -- Gathering your form data to be e-mailed -- Creating an e-mail -- Creating OrderDroid 2.0 -- Your design -- Your primitives -- Your progression -- New components -- New blocks -- Getting Started on OrderDroid 2.0 -- Adding navigational elements -- Storing multiple items and formatting them for display -- Building the display procedure for the varShoppingCart list -- Updating the shopping cart display -- Finishing the shopping cart -- The e-mail procedure -- ch. 5 AndroidDown: A Location-Aware Panic Button -- Creating the AndroidDown Application -- Your design -- Your primitives -- Your progression -- New components -- Getting Started on AndroidDown 1.0 -- Refining the interface -- Locating the user's position with LocationSensor -- Finalizing the location and phone number functionality -- Creating AndroidDown 2.0 -- Your design -- Your primitives -- Your progression -- New components -- New blocks -- Getting Started on AndroidDown 2.0 -- Building your button event handlers -- Creating your button events -- Sending the message -- Finalizing the procLocationWait procedure -- ch. 6 AlphaDroid: An Alphabet Tracing Game -- Creating AlphaDroid 1.0 -- Your design -- Your primitives -- Your progression -- New components -- New blocks -- Getting Started on AlphaDroid 1.0 -- Picking colors -- Understanding dragging and touching events -- Changing the BackgroundImage property -- Further refining the Canvas1. Touched event handler -- Setting up button event handlers -- Putting the finishing touches on the drawing functionality -- Creating AlphaDroid 2.0 -- Your primitives -- Your progression -- New components -- Beginning AlphaDroid 2.0 -- Making Andy move -- Managing the sprite at the edge of the canvas -- Handling sprite touch events -- ch. 7 PunchDroid: An Android Punch Bug Game -- Creating the PunchDroid Application -- Your design -- Your primitives -- Your progression -- Getting Started on the PunchDroid Application -- Handling the Settings page events -- Handling events on the main play screen -- Installing the PunchDroid Application -- ch. 8 Collection Assistant: A Barcode and Database Application -- Creating Collection Assistant 1.0 -- Your design -- Your primitives -- New components -- New blocks -- Your progression -- Getting Started on Collection Assistant 1.0 -- Creating Collection Assistant 2.0 -- Your design -- Your primitives -- New components -- New blocks -- Your progression -- Getting Started on Collection Assistant 2.0 -- Challenging Yourself -- ch. 9 BlueChat: A Bluetooth Chat Client -- Creating the BlueChat Application -- Your design -- Your primitives -- New components -- New blocks -- Your progression -- Getting Started on BlueChat -- Challenging Yourself -- ch. 10 TwiTorial: A Twitter Application -- Creating the TwiTorial Application -- Your design -- Your primitives -- New components -- New blocks -- Your progression -- Getting Started on TwiTorial -- pt. III Blocks and Component Reference -- Built-In Blocks -- The Definitions drawer -- ProcedureWithResult -- Procedure -- Variable -- Name --5-- The Text drawer -- Text -- Equals (=) -- Join -- Text Less Than (<), Text Greater Than (>), and Text Equals (=) -- Trim -- Upcase and Downcase -- Starts at -- Contains -- Split at First -- Split at First of Any -- Split at Any -- Split -- Split at Spaces -- The Math drawer -- Random Integer -- Random Fraction -- The Control drawer -- While -- Close-Screen-with-Result -- Get Start Text -- For Range -- My Blocks -- My Definitions -- Component blocks -- Basic palette components -- PasswordTextBox -- Media palette components -- Camera -- ImagePicker -- VideoPlayer -- The Social palette -- ContactPicker -- EmailPicker -- PhoneCall -- PhoneNumberPicker -- The Sensors palette -- AccelerometerSensor -- Orientation Sensor -- The Lego Mindstorms palette -- The Other Stuff palette -- SpeechRecognizer -- TextToSpeech -- Not Ready for Prime Time Palette -- GameClient -- SoundRecorder -- Appendix A Setting Up Your Phone and Computer -- Setting Up Your Phone -- Installing Java on Your Computer -- Chrome -- Mozilla Firefox -- Internet Explorer -- Testing Java Web Start -- Testing your Java Web Start behavior -- Chrome -- Firefox -- Safari -- Internet Explorer -- Troubleshooting your Java installation -- Installing the App Inventor Extras -- Working with ADB (Android Debug Bridge) -- Opening a command prompt and navigating to App Inventor Extras -- Testing for device connectivity -- Adapting to Special Circumstances -- Using ADB to view the phone log in real-time -- Capturing the phone log to a file for notepad/textedit viewing -- Working with the Android Emulator -- Exploring the Android SDK and Other Emulator Options -- Troubleshooting Your Phone's Connection -- Verifying device driver installation for your phone -- Installing or reinstalling drivers for your phone -- Uninstalling your device drivers in Windows -- Manually installing custom drivers in Windows -- Appendix B Creating Your Own TinyWebDB -- Setting Up Your Google App Engine -- Customizing and Installing the TinyWebDB Service -- Bonus Chapter Sprite Interaction: A Physics Primer.