Author: Felicia Kamriani & Krishnendu Roy
Publisher: Packt Publishing
Audience: Anyone who wants to make an Android app
Reviewer: Ian Stirk
This book aims to teach you how to create Android apps using App Inventor 2. How does it fare?
Many of us have probably had an idea for a mobile app, this book aims to show you how to take that idea, and use the knowledge gained from this book, to create your own Android apps.
It assumes no prior development experience, although any development experience (e.g. coding macros) will give you a head start in understanding some of the underlying concepts.
The book consists of around 220 working pages, with many diagrams/screenshots, spread over eight chapters.
Below is a chapter-by-chapter exploration of the topics covered.
Chapter 1 Unleashing Creativity with MIT App Inventor 2
The book opens with a short discussion on the diverse range of apps available, and the assurance this book could help you create your own useful apps. This chapter gives an overview of the development environment (App Inventor 2), its purpose, and some example apps you could build. Additionally, some developer tasks are outlined (e.g. brain-storming, design, development-lifecycle).
App Inventor is a free web-based tool that allows you to create apps in a fun drag-and-drop manner. App Inventor has two main screens, the Designer Screen allows the creation of the app’s interface (e.g. layout of buttons), and the Blocks Editor screen that allows the creation of behaviours (e.g. play a sound when a button is pressed) - both have a colourful drag-and-drop interface.
The chapter continues with some interesting example apps that have been created with App Inventor. These should give you some idea of the range of features available to your apps.
This chapter provides a gentle introduction to the App Inventor environment, what it is, the kind of apps you can create, and your role in developing apps.
The chapter is easy to read, with everything explained in a clear step-by-step fashion, there are useful explanations, diagrams/screenshots, encouragement, and website links for further information. These traits apply to the whole of the book.
Chapter 2 Setting Up MIT App Inventor 2
Beginnings are important. Get it right and things can progress, get it wrong and things may suddenly stop, never to proceed. So this chapter on how to get App Inventor up and running should be of critical importance.
The chapter provides step-by-step guidance on how to signup to a Google account (needed to access App Inventor), and how to login to App Inventor – both with screenshots. This is followed with details on how to download the App Inventor Companion app (this is needed to test/run your app on your mobile or computer), and then shows how to connect to App Inventor via WiFi, an emulator, or a USB cable. Having achieved this, you’re ready to start building your apps.
I was pleased the chapter included both step-by-step guidance and lots of screenshots, these should prove invaluable for the beginner. For me, getting the setup correct is paramount in an introductory book.
Chapter 3 Navigating the App Inventor Platform
The previous two chapters set the background, this chapter builds your first app, a game called Fling. Step-by-step guidance is given on creating the app’s User Interface in the Designer, together with using the various Blocks (visual programming units) that provide the behaviours (e.g. what happens when you press a button).
For the beginner or a developer new to app development, this chapter is ideal, with plenty of guidance, clear instructions, and helpful screenshots. After finishing this chapter, you’ll have a basic understanding of the App Inventor environment, and the approach used to create apps. Subsequent chapters build upon and enhance this basic understanding.
Chapter 4 Fling App – Part 2
This chapter extends the app started in chapter 3. The basic app is extended by adding a scoring feature, and its complexity increased by added various levels of difficulty. Some defects/bugs are corrected, and enhancements made by updating the Reset and Play button functionality.
This chapter highlights some of the thinking that occurs when developers take over or extend an app, including revisiting and amending existing code. The importance of thinking about your changes (away from the computer) together with their consequences, is noted.
Chapter 5 Building an Event App
Here you create a new app to organise an event (e.g. a party). In the process of creating this app, additional App Inventor functionality is used, including:
Again, everything is explained clearly in a step-by-step manner. There’s a helpful section on the licences associated with different images. There’s a useful discussion of the Backpack feature, which allows sharing of code blocks between screens. Some of the screens created here are empty shells, and will be populated via a database, which is introduced in the next chapter.
Chapter 6 Introduction to Databases
This chapter extends the base Event app created in the previous chapter. Information about the guests attending the event will be stored in a database on a central server. The app uses Google Fusion Tables as its database (other options are TinyWebDB which is viewed as too insecure, and FirebaseDB which is still at an ‘experimental’ stage of development).
The chapter opens with step-by-step instructions on how to create a Google Fusion Table, in essence you create columns for different types of data, that store rows of related data. Next, the RSVP screen is enhanced, allowing the user to record their information, which is subsequently stored in the table you’ve just created. Saving the screen data to the table involves Google Authentication, a service email account, and a database connection – each of these are explained with examples.
In a similar manner, the Guest screen is created. This screen aggregates the data in the table, allowing any user to see who else is attending – again everything is clearly explained.
This chapter provides some much needed enhancements to the Events app. Knowing how to store data in a central database should prove useful in your own apps.
Chapter 7 Learning About Loops with a Raffle App
Loops are programming structures that allow something to be repeated until a condition is met (e.g. accept user input until the user enters the text ‘end’). This chapter illustrates the use of the loop by creating a Raffle app.
In the Raffle app, users submit a text to the raffle organiser (i.e. ‘enter me in the raffle’), their mobile number is then saved, later the organiser runs the Raffle app, looping around the submitted mobile numbers, selects a winner, and then notifies the winner and losers automatically. Each step of the Raffle app is described in detail.
This chapter builds an interesting Raffle app. Walking through the development steps and examining the code created should give you ideas for use in your own apps.
Chapter 8 Expanding Your Mobile App Development Skills
Having created three apps, this chapter looks at where to go next to improve your app skills. Areas examined include:
Design principles (e.g. look at other apps’ usability)
Design tools (e.g. design on paper)
App Inventor extras (e.g. shortcuts, help, backups)
How to share your app
This chapter provides useful details of areas that you should examine next, allowing you to continue your education.
This book aims to teach you how to create Android apps using the App Inventor environment, and easily succeeds. The book is easy to read, with useful explanations, plenty of step-by-step instructions, helpful diagrams, and website links for further information. Additionally, the book provides heaps of positive encouragement, and makes learning fun.
The book provides some interesting and useful apps that you might want to extend for your own purposes. Additionally, the apps covered will give you some indication of App Inventor’s capabilities, and are sure to give you ideas for your own apps.
The book is a useful introduction to app development using App Inventor, but be aware there are many other features in the tool that have not been discussed.
App Inventor is not only a great tool for creating apps, it also provides an excellent entry point for introducing programming in general. I would certainly recommend it as a first programming ‘language’.
Since the App Inventor development environment is very much a visual tool, involving colourful coding blocks, the colour filled eBook has the advantage over the black and white print book.
Overall, if you want to create an app, or start programming in general, this book is a great place to start. Recommended.