Mobile app programming for kids is fun because mobile apps are such a big part of their daily lives today. For example, what do listening to music, watching a funny video, or finding a nearby restaurant have in common? They can all be done on mobile apps!
At Create and Learn, we recognize that apps have become such an important part of life, and we show our students how to build Android apps from scratch in our Java for kids class.
But in order for these mobile apps to work, they need a platform to run on. Android is a top mobile operating system that runs on many devices. Building Android apps is a super fun way to see how the apps we use everyday come to life.
What is a mobile app? Why is mobile app programming important?
Mobile programs are pieces of software that can run on mobile devices like phones. We do not want to limit apps to only computers, so we can adapt them, or write completely new ones for mobile devices. Mobile programs have many different uses, ranging from practical purposes like a navigation app, to a program that runs a game. Given our phones are such an everyday part of life, mobile programs provide a high level convenience by running on our phones.
In our introductory mobile app classes, students learn the basics of mobile programming with a platform called Thunkable. This series introduces kids to topics like creating the layout of an app and sensors. In our new Android programming classes, we take computer programs that the kids have built in previous classes and show them the necessary changes to make it a mobile program.
What is Android?
Just like computers have operating systems, mobile devices have them— Android is an example of one. Operating systems allow a user to interact with a device’s software and hardware. Android was founded in 2003, acquired by Google in 2005, and the first Android device was released in 2008.
To make an Android app, we first write the code in Java, then convert this to an Android Package (APK) file, and then we can install this on a device. At Create and Learn, we use the Java code students have already written in our Java Primer classes. Then we use a free platform called Android Studio to build the mobile app, and we can see this run on an emulator. This platform also helps ease the transition from coding to a running app.
What makes Android special?
Android is open source, which means the source code used to write this software is available to the public. There are billions of Android devices around the world and millions of Android apps available for download. Android has risen to the top as the most common mobile operating system. Devices ranging from computers to smartphones to game consoles run the Android operating system.
We want our kids to have real-world skills so we teach them how to program with Android. Our instructors teach students app development from start to finish. Kids will see that they have many options for emulators where they can run their apps.
How do we actually build an app?
Making an app has two components. There’s building the frontend, which is what the user sees and interacts with. Then there’s the backend, which generally requires more code and is a larger component. This code manipulates the data associated with the app.
Android Studio - A coding tool for Android
Android Studio is a free integrated development environment (IDE) for building Android apps. It supports many cool features like code completion, style and formatting, and debugging prompts. There is a large editing window that makes it easy to write code and toggle between necessary files. Android Studio also automatically organizes the files based on Java source code, layout files, and images for the project.
One important feature of app development is the frontend since this is the visual layout the user interacts with. Android Studio contains two options for building a visual layout. One is the “Design” editor that allows you to specify the layout in a graphics window. It creates a mockup where you can interact with the components through clicking and dragging. There are menus that expand with more dropdown options to add components.
Another option is the “Code” editor that uses a language called Extensible Markup Language (XML). XML is easy to learn and allows for lots of powerful customization. The formatting and autocompletion supported by Android Studio helps to see common layout options and the way components build on top of each other. Both the “Design” editor and the “Code” editor support the same features; they just provide different ways of building the same layout.
The emulator is a free feature of Android Studio that you can launch to test your Android app from your computer without an actual phone. You can test your app on different devices and the emulator can simulate nearly all the features of a real device. Sometimes it is even easier and faster to test on an emulator than waiting for a device to connect through a USB.
How to learn mobile app programming
In Create and Learn classes, we learn by doing, so we teach our kids Android programming through building games. We show kids how to build an app from start to finish, from the planning stage to designing the layout to actually coding. We build off of previously learned skills in Java classes which is a great way to review past knowledge and expand it.
We start by showing the kids what changes they need to make in a Java computer program to make it suitable for Android. The cool part is that a lot of the Java code making up the core actions stays the same. We make edits to the Java code to support app interaction like allowing the frontend and backend to respond to each other.
Then we brainstorm the design and what we want our app to look like. We take the time to implement these design features. We specify design with Extensible Markup Language (XML). A view is a component on the screen like an image, text, or a button. XML allows for lots of customization of these views, like size, placement, color, or font. A layout is all the views on the screen. We can arrange layouts by orientation.
Finally we write the code to bring together the Java and the design, making sure all the components interact properly. This code is known as an activity. We want to tie together the app’s display and the Java code previously written. To do that, we need to take care of things like coding the set up for the app once it launches.
The activity may include changing the text depending on different actions in the app, showing different images on the screen, or responding to a button click. Our classes even go over cool features by delaying actions by a certain amount of time or leaving popups with different messages.
Throughout the coding process, we engage with the kids and reinforce key computer science concepts like conditional statements, loops, and object oriented programming. Android programming is an excellent complement for students who know or want to learn Java.
Building with Android - It’s free!
Join our Java Primer with Android classes. During class we use Android Studio to make Android apps, so students won't even need an Android phone to see an app run! We show kids how to launch a free emulator inside Android Studio so they can interact with their app. Plus, we teach kids how to build card games, memory games, graphics games, and more! And we highly encourage them to get creative with further customizations on their apps.
Brought to you by Sophie Andrews, Instructor at Create & Learn