Help yourself to faster programming by purchasing my App Inventor 2 Guides from any of the following vendors – thank you very much!
Detailed descriptions of all the books are below, including Table of Contents and some sample chapters.
Where to Buy
- App Inventor 2 Introduction (Volume 1 e-book)
Step-by-step guide to easy Android programming
Buy from: Amazon, Google Books, Kobo Books, Apple iBooks - App Inventor 2 Advanced Concepts (Volume 2 e-book)
Step-by-step guide to Advanced features including TinyDB
Buy from: Amazon, Google Books, Kobo Books - App Inventor 2 Databases and Files (Volume 3 e-book)
Step-by-step TinyDB, TinyWebDB, Fusion Tables and Files
Buy from: Amazon, Google Books, Kobo Books - App Inventor 2 Graphics, Animation and Charts (Volume 4 e-book and printed book)
Step-by-step guide to graphics, animation and charts
Buy e-book from: Amazon, Google Books, Kobo Books - Price: US$5.99 (e-book), US$12.99 (printed book, 227 pages)
- The print version of Volume 4 has been discontinued due to rampant online theft of the product.
How to Read
While the e-books can be read on e-book reader devices[1], I recommend using the free e-reader software available from each e-book distributor for reading on your notebook or desktop computer:
- Your Amazon e-book library may be read online, through a browser, here.
- Amazon’s Kindle software for Windows and Mac OS X
- Kobo e-reader app for Windows, Android, iOS
- Google Books may be read in a web browser, or using the Google Play Books app on Android and iPad/iPhone.
Note [1] – images used in the e-books do not always display well on the e-book reader devices (e.g. Kindle). For this reason, use of computer-based e-book reader software is recommended.
Covers
App Inventor 2 Introduction (Volume 1)
Download Sample Chapter: App_Inventor_2_Introduction_Chap4.pdf
Where to Buy
Volume 1 – Description
MIT App Inventor 2 is the fast and easy way to create custom Android apps for smart phones or tablets. This guide introduces the basic App Inventor features – you can likely create your first simple app in an hour, and understand the basic components of App Inventor in a full day. App Inventor 2 is free to use and you can use it for commercial applications too.
App Inventor 2: Introduction is targeted at adult learners (high school and up) and shows how to design your app’s user interface with “drag and drop” interface controls to layout your app’s screen design. Then implement the app’s behavior with unique “drag and drop” programming blocks to quickly assemble the program in a graphical interface.
This tutorial covers the basics of the App Inventor user interface Designer and the Blocks programming editor, plus basic “blocks” programming concepts and tools for arithmetic, text processing, event handling, lists and other features.
INTRODUCTION
WHAT THIS GUIDE COVERS
ORGANIZATION OF THIS GUIDE
Tip – Learning to Program
RECOMMENDATION
SOURCE CODE DOWNLOAD
ACCESSING MIT APP INVENTOR
INTRODUCTION TO THE DESIGNER
INTRODUCTION TO THE BLOCKS EDITOR
PROGRAMMING THE APP’S BEHAVIOR
Tip – Events and Event Handlers
THE BUTTON EVENT HANDLER
TIP – AI2.APPINVENTOR.MIT.EDU
ORGANIZATION OF THIS GUIDE
SUMMARY
PRACTICE
1 – RUNNING APPS ON YOUR ANDROID PHONE
Tip – Where to Get an Android Phone
WI-FI METHOD FOR INSTALLING APPS
Tip – Automatic Real Time Code Updates
USB METHOD
ANDROID APPLICATION FILE DOWNLOAD
Building the .apk file
USING THE EMULATOR
SAVING AND LOADING SOURCE CODE
Loading .aia Source Code Files
SAVING .AIA SOURCE CODE FILES
SUMMARY
PRACTICE
2 – BUILDING A CALCULATOR APP USER INTERFACE
THE IMPORTANCE OF LAYOUTS
ADD A TABLE LAYOUT
SUMMARY
PRACTICE
3 – BUILDING THE CALCULATOR BLOCKS PROGRAM
CONCEPT OF CALCULATOR OPERATION
INTRODUCTION TO VARIABLES
Tip – Why is it called global instead of variable?
BLOCKS FOR IMPLEMENTING CALCULATOR KEYS
ADDING COMMENTS
IMPLEMENTING THE ARITHMETIC FUNCTIONS
PERFORMING THE ARITHMETIC OPERATION
RUN THE PROGRAM
SUMMARY
PRACTICE
4 – LAYOUTS IN DETAIL
THE VERTICAL LAYOUT
THE HORIZONTAL LAYOUT
NESTED LAYOUTS
LAYOUT SCREEN SIZE AND SCROLLING
TIP – CONSIDER AVOIDING “LONG” SCREENS
RESTRICTIONS ON LAYOUTS
Restriction on Screen Complexity
SUMMARY
PRACTICE
5 – APPS WITH MULTIPLE SCREENS
THE BOAT RENTAL APPLICATION
ADDING ADDITIONAL “SCREENS”
BLOCKS CODE TO SWITCH SCREENS
NEWCUSTOMER BLOCKS CODE
EXCHANGING VALUES BETWEEN SCREENS
RETURNING A VALUE FROM A SCREEN
RETRIEVING THE RETURNED VALUE IN THE CALLING SCREEN
“PARAMETERS”
HANDLING MULTIPLE SCREENS WITH RETURN VALUES
Using if-then-else blocks
Setting a Condition in the if-then Block
SUMMARY
PRACTICE
6 – INTRODUCTION TO TEXT
UPCASE AND DOWNCASE
JOIN – JOINING TEXT ITEMS TOGETHER
TEXT LENGTH
ISEMPTY
COMPARE TEXTS
TRIM TEXT FUNCTION
CHECKING THE CONTENT OF STRINGS
TEXT PROCESSING IN PRACTICE
EXTRACTING STRING SEGMENTS FROM TEXT
SUMMARY
PRACTICE
7 – ARITHMETIC IN APP INVENTOR
ARITHMETIC ORDER OF CALCULATIONS
TRIGONOMETRIC FUNCTIONS
SQUARE ROOT AND OTHER MATH FUNCTIONS
RANDOM NUMBER GENERATORS
SUMMARY
PRACTICE
8 – INTRODUCTION TO LISTS
CREATE
SEARCHING THE LIST
COMBINING LISTS
Local Grocer
Warehouse Store
OUTPUT A LIST TO THE SCREEN
CONVERTING LISTS TO COMMA SEPARATED VALUES
LISTS OF LISTS
SEARCHING A LIST OF LISTS
USING LOOKUP IN PAIRS
INTRODUCING FOREACH
TIP – CREATE, READ, UPDATE, DELETE
USING LIST TO CSV TABLE CONVERSION
OTHER LIST BLOCKS
Copy list
SUMMARY
PRACTICE
9 – ADVANCED TEXT FUNCTIONS
ADDITIONAL SPLIT FUNCTIONS
SUMMARY
PRACTICE
10 – MAKING CODE RUN MULTIPLE TIMES
USING THE FOR EACH FROM TO LOOP
LOCAL VARIABLES
WHY USE LOCAL VARIABLES?
INTRODUCTION TO THE FOR EACH LOOP
Tip – The “by” value may be negative
FAHRENHEIT TO CELSIUS CONVERSION TABLE APP
WHILE DO LOOP
SUMMARY
PRACTICE
App Inventor 2 – Advanced Concepts
Download sample chapter: App_Inventor_2_Advanced_Concepts_Chap1.pdf
Where to Buy
Volume 2 – Description
MIT App Inventor 2 is a fast and simple way to create custom Android apps for smart phones or tablets. Volume 2 in the series introduces debugging methods, explains additional controls not covered in Volume 1, introduces “agile” methods for developing a real world app, and provides sample code for using the TinyDB database.
The App Inventor 2 Tutorial series is targeted at adult learners (high school and up). App Inventor 2 provides a simplified “drag and drop” interface to layout your app’s screen design. Then implement the app’s behavior with “drag and drop” programming blocks to quickly assemble a program in a graphical interface.
Volume 1 of this series covered the basics of the App Inventor user interface Designer and the Blocks programming editor, plus basic “blocks” programming concepts and tools for arithmetic, text processing, event handling, lists and other features. Volume 2 builds upon Volume 1 to provide tips on debugging programs when the apps work incorrectly, how to us hidden editing features, and how to install your own apps on to your phone or tablet for general use. Code samples are provided for using the Notifier component for general use or for debugging, for user interface control tricks such as buttons that change color continuously or implementing the missing “radio buttons” component, using ListPicker and Spinner for list selections, and using the WebViewer to display web pages in your app. The book includes a large section on designing and building a sample real world application and finishes with a chapter on using the TinyDB database.
For readers of the blog, Chapters 4–8 are based on the tutorial already presented here. Chapter 2 and Chapter 9 on TinyDB are all new material.
Chapters
- Introduction
- 1 – App Inventor Tips
- 2 – Debugging App Inventor Programs
- 3 – User Interface Control Tricks
- 4 – Designing and Building a Real World Application
- 5 – Tip Calculator Version 2
- 6 – Tip Calculator Version 3
- 7 – Tip Calculator Version 4
- 8 – Tip Calculator Version 5
- 9 – Using the TinyDB database
App Inventor 2: Advanced Concepts
About the Author
Table of Contents
Introduction
Conventions
1 – App Inventor Tips
Cut, Copy and Paste within the App Inventor Blocks Editor
Windows
Mac OS X
Duplicating Blocks in the Blocks Editor
Windows
Mac OS X
Re-arranging, Collapsing and Zooming the Blocks View
Bonus Tip!
Backing Up: Saving App Projects to Your Computer
Backing Up: Use “Checkpoint” to save periodic “snap shots” of your project
Installing Apps on Your Phone
Building an App Using the QR Code Method
Where is the downloaded .apk file?
Download an App for Installation
Using App Inventor’s Official Documentation
Events
Properties
Methods
Back to the Documentation
2 – Debugging App Inventor Programs
Debugging
Overview
User input errors
Divide by zero errors
Off by 1 errors
Logic errors
Basic Strategies for Debugging
Review of Basic Debugging Techniques
Real Time Program Editing
Using Notifier to Alert the User to Problems
Adding a Progress Indicator to Notifier
Sample Program User Interface
Designer View
Blocks Code
3 – User Interface Control Tricks
Buttons: Changing Colors and Attributes
Designer View
Blocks Code
Implement Continuously Changing Control Colors
Designer View
Blocks Code
Hiding the Text Entry Keyboard
Radio Buttons
Designer View
Blocks Code
ListPicker
Using ListPicker
Building the ListPicker Sample Application
Tip – Find Out More About Lists
Using ListPicker Filters
Designer View
Blocks Code
Spinner
Designer View
Blocks Code
Changing the Spinner Choices Programmatically
Designer View
Blocks Code
WebViewer
Designer View
Blocks Code
4 – Designing and Building a Real World Application
Tip – Software Design and Agility
The Five Versions
Tip Calculator Version 1
The Tip Calculator User Interface
Blocks Code
How This Works
5 – Tip Calculator Version 2
The Tip Calculator User Interface
Blocks Code
6 – Tip Calculator Version 3
Designer View
Blocks Code
7 – Tip Calculator Version 4
Blocks Code
Key Features Shown
Tip – Refactoring and Software Testing
8 – Tip Calculator Version 5
The Tip Calculator User Interface
Designer View
Blocks Code
Summary of Versions 1 through 5
9 – Using the TinyDB database
Introduction to Databases
Terminology: TinyDB Versus Databases
TinyDB – Create, Retrieve, Update, Delete – and Search
Using the Task List App
Add Tasks
Delete Item
Search by Content
Clear All Tasks
Designer View: Screen1
Blocks Code: Screen1
Designer View: Add Item
Blocks Code: Add Item
Designer View: Edit Item
Blocks Code: Edit Item
Designer View: List Tasks
Blocks Code: List Tasks
Designer View: Search by Content
Blocks Code: Search by Content
App Inventor 2 Databases and Files (Volume 3)
Download sample chapter: App_Inventor_2_Databases_Chap1.pdf
Where to Buy
Volume 3 Description
App Inventor 2: Databases and Files is a step-by-step guide to writing apps that use TinyDB, TinyWebDB, Fusion Tables and data files for information storage and retrieval. Includes detailed explanations, examples, and a link to download sample code. This is the first tutorial to cover all of these App Inventor database and file features.
If your apps need to work with data or files – you need this book!
TinyDB stores data on your smart phone or tablet and is a primary way for App Inventor apps to save data, even when the app is no longer running or if the device is turned off.
TinyWebDB is similar to TinyDB, but stores your data on a remote server in the network cloud.
Multiple apps can share a TinyWebDB database, plus you can update the content of your TinyWebDB using just a web browser. This means you can distribute an app whose content can change over time – just by changing the values in TinyWebDB.
A big challenge is the need to set up a TinyWebDB server – this book shows how to do that through free services offered by Google.
Fusion Tables provide a powerful, cloud-based database system for App Inventor apps. Creating, retrieving, updating and deleting data is done using the industry standard Structured Query Language or SQL. Fusion Tables reside in the Google network cloud – this book shows you how to set up and configure Fusion Tables for you own apps using free services of Google. As your app requirements grow, Google’s cloud can provide low cost servers and bandwidth for your needs.
Underneath the Android OS user interface, there is a file system, similar to the file system found on Windows or Mac OS X. With App Inventor your apps can write and read data from files, and if using the special “CSV” format, App Inventor data can be shared with many spreadsheet programs. This book shows you how to create, use and access data files, and how to convert data to and from the CSV format.
Over 28,000 words. Over 250 screen shots and illustrations. Numerous sample programs and code. Amazon’s page count is 322 pages.
The link to the App Inventor source code download files is on “the copyright” page – about page 2 or 3 – in your e-reader version.
Updates and “errata” to the e-books are located on this page.
Chapters
- 1 – Introduction
- 2 – Using the TinyDB database
- 3 – Implementing Records Using Lists in TinyDB
- 4 – Simulating Multiple TinyDB Databases
- 5 – How to Use Multiple Tags in TinyDB
- 6 – Introduction and Setup: TinyWebDB
- 7 – Managing TinyWebDB in the Cloud
- 8 – Programming for TinyWebDB – Demo 1
- 9 – Adding a Tags List to TinyWebDB – Demo 2
- 10 – Handling Multiple Users with TinyWebDB – Demo 3
- 11 – Implementing a Student Quiz Application using TinyWebDB
- 12 – Introduction to Fusion Tables
- 13 – Developing Your Fusion Table App
- 14 – Using Text Files in App Inventor
Detailed Table of Contents
1 – Introduction
TinyDB
TinyWebDB
Fusion Tables
Which database component to use?
Choosing Which Database to Use
TinyDB
TinyWebDB
Fusion Tables
Text Files
Conventions
About the Sample Apps
2 – Using the TinyDB database
Introduction to Databases
Terminology: TinyDB Versus Databases
TinyDB – Create, Retrieve, Update, Delete – and Search
Source Code
Using the Task List App
Add Tasks
Delete Item
Search by Content
Clear All Tasks
Designer View: Screen1
Blocks Code: Screen1
Designer View: Add Item
Blocks Code: Add Item
Designer View: Edit Item
Blocks Code: Edit Item
Designer View: List Tasks
Blocks Code: List Tasks
Designer View: Search by Content
Blocks Code: Search by Content
3 – Implementing Records Using Lists in TinyDB
Source Code
The User Interface
Designer View: Screen1
Blocks Code: Screen1
Designer View: AddItem
Blocks Code: AddItem
Designer View: ListTasks
Blocks Code: ListTasks
Designer View: Delete
Blocks Code: Delete
Designer View: Search by Content
Blocks Code: Search by Content
Designer View: Edit Contact
Blocks Code: Edit Contact
4 – Simulating Multiple TinyDB Databases
Source Code
Designer View: Screen1
Blocks Code: Screen1
IMPORTANT NOTE
Designer View: AddItem
Blocks Code: AddItem
Designer View: ListTasks
Blocks Code: ListTasks
Designer View: Search
Blocks Code: Search
5 – How to Use Multiple Tags in TinyDB
Source Code
Designer View: Screen1
Blocks Code: Screen1
Designer View: AddItem
Blocks Code: AddItem
Designer View: Delete
Blocks Code: Delete
Designer View: List Contacts
Blocks Code: List Contacts
Designer View: Edit
Blocks Code: Edit
Designer View: Search by Content
Blocks Code: Search by Content
Designer View: Select by Employee ID
Blocks Code: Select by Employee ID
Designer View: Select by Name
Blocks Code: Select by Name
Designer View: Admin
Blocks Code: Admin
6 – Introduction and Setup: TinyWebDB
Setting Up Your Own TinyWebDB Service
Setting Up TinyWebDB in the Google Cloud
Installation Steps (Short version)
Overview
Short Version
Installation Instructions (Long version)
Step 1 – Install Python
Step 2 – Install Google App Engine Launcher
Step 3 – Download customtinywebdb.zip
Step 4 – Set up Google Account
Step 5 – Run Google App Engine Launcher
Step 6 – Return to Google App Engine Launcher
Important Steps
Step 7 – Return to the App Engine Launcher program.
Step 8 – Quick Test
Problems
7 – Managing TinyWebDB in the Cloud
Use the TinyWebDB Web Interface to Get and Store Values
Management of the Database
Tip – Enabling Datastore Admin Features
Selecting your database
Delete individual records in the TinyWebDB Database
Delete the content of a database
Deleting a Project
8 – Programming for TinyWebDB – Demo 1
Source Code
The User Interface
Designer View
Blocks Code
TinyDB: Synchronous Operation
TinyWebDB: Asynchronous Operation
9 – Adding a Tags List to TinyWebDB – Demo 2
Source Code
The User Interface
Designer View
Blocks Code
Simple Explanation of GotValue
Processing Multiple Pending GetValue Requests in GotValue
10 – Handling Multiple Users with TinyWebDB – Demo 3
Deadlocks
Source Code
The User Interface
Designer View
Blocks Code
Timer Operation
Timer Event Tags Management
11 – Implementing a Student Quiz Application using TinyWebDB
Source Code
The User Interface
Database View
Setting up the Questions Database
Designer View: Screen1
Blocks Code: Screen1
Designer View: DoQuiz
Blocks Code: DoQuiz
12 – Introduction to Fusion Tables
What is a Fusion Table?
Setting Up a Fusion Table Service
Tip – Keep Track of Key Data As You Create Tables
Key Steps
Create Your Fusion Table
Define the Table Layout
Gather the Table ID
Sharing Your Table
Creating a Google Group for Sharing [Optional Step]
One More Group Step!
Generating an API Key For Your App Access
13 – Developing Your Fusion Table App
CREATE
“Forbidden” Message?
READ
DELETE
UPDATE
MULTIREAD
Short Introduction to Structured Query Language (SQL)
SELECT
DELETE
INSERT
Designer View: Screen1
Blocks Code: Screen1
Designer View: Create
Blocks Code: Create
Designer View: Read
Blocks Code: Read
Designer View: Delete
Blocks Code: Delete
Designer View: Update
Blocks Code: Update
Designer View: MultiRead
Blocks Code: MultiRead
14 – Using Text Files in App Inventor
Source Code
Designer View
Blocks Code
Using CSV Format Files
The Super Easy Way to Import a CSV File
Where is testfile2.txt stored on your phone?
Using the AI 2 Companion
When Built as a .apk File
Step 1: Install File Manager
Step 2: Create a file folder to store your app data files
Step 3: Find the file!
Step 4: Sending the File to your computer
App Inventor 2 Graphics, Animation and Charts (Volume 4)
Step-by-step guide to Graphics, Animation and Charts
The App Inventor 2 guides introduce the fast and simple way to develop Android apps using MIT App Inventor, the software development system that runs in your browser to create apps that run on your smart phone and tablet.
Volume 4 introduces the use of graphics drawing features, including general graphics features, animation and charting. Charting refers to the creation of line, column and other types of charts commonly used in business and finance.
This book series is targeted at adult learners (high school or secondary school and up) who are interested in producing real world applications (rather than games). Hence, these books focus on features suitable for creating business, productivity and educational applications. Volume 4 assumes the reader is familiar with the basics of App Inventor programming; start with Volume 1 if you are new to App Inventor.
Each example provides code you can adapt or modify for use in your own programs so that you can create graphics, simple animation or charts in your own apps.
WHERE TO BUY
Please see the links at the top of this page.
Learn How To Create These Charts
Theory, design and sample code is provided for all of the following charts, plus more, including using sprites for animation, using “finger touch” to fling objects around the screen, using the accelerator and orientation sensor so that tilting the phone can control animation on screen.
Simple Line Chart
Simple Line Chart in Landscape Screen Orientation
Multiple Line / Data Series Charts
Line Chart With Regression Equation
Regression a way to find an equation that is the closest fit to the original data. Once the equation is calculated, the equation may then be used to draw a line across the chart showing predicted values.
Scatter Strip Chart
A scatter chart draws simple dots at the X, Y pair for each data element. A Scatter strip chart takes incoming data as a live data stream, and animates those points from right to left across the screen. New data points arrive at right, while the entire display of points scrolls to the left.
Strip Chart Recorder
This chart draws a line graph as new data arrives, at right. This type of chart might be in a heart monitor, for example, or in a voltage monitor that continuously monitors an input voltage. Data could arrive from a remote device over Bluetooth (such as from an Arduino board connected to sensors).
Use Image Picker
Animation Drawing – Wheel Rotates on Screen
The text shows how to create arbitrary animation in App Inventor apps. This wheel actually rotates as it moves across the screen.
Draw Column Charts
Table of Contents
ABOUT THIS BOOK
Web
Updates and Errata For this Book
Download Source Code for this Book
Disclaimer
About the Sample Apps and Blocks Code
Tip – Prevent the screen from rotating
Download Source Code
Video Tutorials
Conventions
INTRODUCTION TO GRAPHICS AND ANIMATED GAMES
In This Chapter
Video Tutorials for this Chapter
Bouncing Ball Animation-Ball1
Coordinate System
Selecting a Directional Heading
Coordinate System and Heading Summary
Ball1 – The User Interface
Source Code File
Designer View
Blocks Code
Ball2 – Using Sliders for Speed and Heading
Source Code
Designer View
Blocks Code
Ball3 – Adding a 2nd Ball
Source Code
Designer View
Blocks Code
Ball4 – Detecting Collisions
Source Code
Designer View
Blocks Code
Ball5 – Adding a Finger Touch Response
Source Code
Designer View
Blocks Code
IMAGE SPRITES
In This Chapter
Video Tutorials for this Chapter
The User Interface
Designer View
Blocks Code
Remove the Original Ball1 Object
Full Blocks Code
Where does the name “Sprite” come from?
Using Finger Touch to Control the Sprite Movement
Source Code
Designer View
Blocks Code
ORIENTATOIN SENSOR
In This Chapter
Video Tutorials for this Chapter
What the Sample Program Does
Tip: Turn off Auto-Rotate on your phone
Source Code
Designer View
Introduction to the Orientation Sensor
Blocks Code for Using the Orientation Sensor
How the Orient Button Works
Full Blocks Code
THE CANVAS
In This Chapter
Video Tutorials for this Chapter
Source Code
Introduction to the Canvas
User Interface
Designer View
Blocks Code
Picking and Saving Images
Flip: Multiple Canvases
ANIMATION METHODS
In This Chapter
Video Tutorials for this Chapter
Or scan this QR code
Animating Images
Source Code
User Interface
Designer View
Blocks Code
Using Multiple Images to Create Animated Subjects
Source Code
User Interface
Designer View
Blocks Code
Using a Sprite to Create an Animated Wheel That Moves
Source Code
User Interface
Designer View
Blocks Code
Using Multiple Canvas Objects for Animation
Source Code
User Interface
Designer View
Blocks Code
LINE CHARTS
In This Chapter
Video Tutorials for this Chapter
Source Code
User Interface
Designer View
Blocks Code
Scaling the Data
Line Charts With More than One Data Series
Global Variables
Data Initialization
Button Event Handlers
DrawEntireChart
Remaining Procedures are Unchanged
COLUMN CHARTS
In This Chapter
Video Tutorials for this Chapter
Source Code
User Interface
Designer View
Blocks Code
Initialization
Button Event Handlers
Chart Drawing
Scale Data
Draw X, Y Axis and Chart Title
DrawBox and DrawSolidBox Support Procedures
Using DrawLine to Draw a Rectangle
SCATTER PLOT CHART
In this Chapter
Video Tutorials for this Chapter
Source Code
User Interface
Designer View
Blocks Code
Initialization
Event Handlers
Drawing the Chart
Scaling the Data
DrawBox, X and Y Axes and Title
SCATTER PLOT WITH REGRESSION
In this Chapter
Video Tutorials for this Chapter
Source Code
User Interface
Designer View
Blocks Code
Initialization
Event Handlers
Drawing the Entire Chart
Calculating the Regression Equation
STRIP CHART RECORDER
In this Chapter
Video Tutorials for this Chapter
Source Code
User Interface
Designer View
Components List
Blocks Code
Initialization
Event Handlers
Data Generation
DrawBox, X and Y Axes and Title
STRIP CHART LINE RECORDER USING CANVAS FLIPPING
Video Tutorials for this Chapter
User Interface
Source code
Designer View
Blocks View
WHERE TO BUY
Please see the links at the top of this page.
Greetings, been scurrying the net to buy your ebooks and i must confess its so disgusting that i CANNOT! please dont you sell your book as hard copy?
LikeLike
I am sorry, at this time the book is available only as an e-book from Amazon, Apple, Google, Barnes and Noble Nook and Kobo books. I am interested in learning more about the difficulty you are having in purchasing the e-book as it is intended to be easily available worldwide.
There are services available for me to make a printed version of the book available through Amazon and I am going to look into doing that. I am nearing completion of Volume 2 of the tutorial series (a little secret – there will also be a Volume 3 not too long after as I keep coming up with more ideas for tutorials!)
Ed
LikeLike
Edward M plz would you help me to solve the problem for connecting Chat app to tinyWebdb ,when i made chat app and send message it gives a message “Communication with the web service encountered a protocol exception” why this message comes???plz tell me
LikeLike
I am not familiar with the specific message. However, from the wording, here is what it probably means – when the chat app is communicating with the TinyWebDB, the two components exchange a set of messages back and forth in a precise way. The definition of the messages that go back and forth is known as the protocol. The error message most likely means that one side of the link is expecting a specific message, but is receiving something else instead.
I have not worked with TinyWebDB myself so I have not looked into the specific details…. Ed
LikeLike
Hi
I wish to purchase these 3 books as eBooks to be read on a computer and not a Kindle, Apple devise or Android. Can you please advise if this is possible?
Thank you
LikeLike
Hi Michelle,
All 3 e-books may be purchased at Amazon (or Google Play Books). In the case of Amazon books, you can download free reader software at Amazon that runs on Windows and Mac OS X. This is how I read a lot of book material, using the Amazon application on my PC or notebook computer.
The Amazon Kindle app for PCs is a free download, available at http://www.amazon.com/Amazon-Digital-Services-Inc-Download/dp/B00UB76290/ref=sr_1_1?ie=UTF8&qid=1460053495&sr=8-1&keywords=kindle+app+for+pc
Volume 4 – on graphics, animation and charts, is almost ready for publication. I am going through the printed proofs right now and finalizing video tutorials that go with the book. I hope that volume 4 will be available within a week. I will post information about it here on the web site! Volume 4 will be available as both an e-book and as a printed book.
Ed
LikeLike
Hello,
Is tehere a complete ExampleteApp tasklist_TinyDB to Download?
When yes, where can I find it. Thank You for your help.
LikeLike
I am not sure I understand what type of TinyDB app you are looking for.
You can search my website for TinyDB related posts using this link http://appinventor.pevest.com/?s=tinydb.
You may also look in the MIT App Inventor Gallery. Log in to your appinventor.mit.edu account, and then on the projects page, click on “Gallery” near top left of the page. There you can search for related apps in the Gallery, and load them into your appinventor account.
Finally, volume 3 of my ebook App Inventor 2 Databases and Files, has several chapters and much sample source code for TinyDB apps. You can learn more about this inexpensive e-books here: http://appinventor.pevest.com/?page_id=33
I hope you can find a solution from one of those links! There are lots of examples available!
Ed
appinventor.pevest.com
LikeLike
Hi ED, I am a professional (not a programmer for many years), and am excited to go through your books for some of my training. I purchased App Inventor 2 Advanced Concepts (Volume 2 e-book), and cannot find where to download the example code. Can you help me, please?
Thanks, Curtis
LikeLike
Hi Curtis,
I just sent you an email with the link. It’s also in the Preface pages at the very beginning of the book, just after the Title page.
Hope that works for you!
Ed
LikeLike
Hi Edward,
I am thoroughly enjoying working through your App Inventor series. I have reached the end of Book 1 and find that the explanation for the last app (square root using while do loop) is not clearly explained.
Further, the blocks in the code downloaded from learn2c.org are too small to figure out. Could you help by sending a enhanced (larger) image of the last 2 blocks in the book?
Thanks.
LikeLike
Hi Binoy and thank you for asking about that. Oddly, I was just reading that text myself last night looking at improvements!
This little spreadsheet may help understand how the square root concept works.

To find the square root of 30, we initially guess the square root is 30 (which we know is wrong).
We then take 30 and divide it by our guess, which in this case is 30. This gives us a value of 1.
The average of our original number 30 and our divided value is 15.5. We select 15.5 as our new guess (or in the
code block, we call this “NewValue”).
Then we repeat this and take 30 divided by our new guess of 15.5. This gives us 1.93548.
We average our 15.5 guess with our new value of 1.9458 giving us 8.717, which becomes our new guess.
We repeat again using 8.717 as our new guess and divide 30 by 8.717, giving us 3.44. We average the
8.717 with 3.44 giving us 6.0795, use that as our new guess.
We keep doing this repeatedly until the difference between our new guess (NewValue in the code) and our
last guess (OldValue) has fallen to a small value (the code example uses just 0.1 but it could also be
0.01 or 0.001 or 0.0001 – that’s up to us as to how much accuracy we want).
Our while test code causes this cycle to repeat as long as the difference between our newvalue and oldvalue are large.
As long as the difference remains large, the while test condition is “true”, and the code inside the while block
continues to execute. However, once the difference becomes very small, then the test condition evaluates to “false” and the
the execution of the “do” section stops. We have found our approximate square root.
And you are correct – the blocks code in the last example seems to appear fuzzy and hard to read. Here is the
code block you need:
You can save or drag that image to your disk and then view it offline in larger size.
Ed
(Also, I answered this using my 3dcoldstreams WordPress user ID – no worries.)
LikeLike
Hi, I bought volume 4, about graphics, but I can’t find the downloadable source codes.
LikeLike
The URL is on page 2 of the e-book.
I just went there and downloaded the source code without a problem.
When the book was written, the web server used http:// and now uses https:// (secure communications)
I set up the server so that http:// is automatically redirected to https:// but just in case your browser is not handling that, you could also try typing in https:// and the web address from page 2, directly.
The web site had a separate WordPress plugin issue arise during the last day or so but I fixed that last night. It did not, however, affect downloading source code.
Hope that helps!
LikeLike