AIDE—Developing for Android on Android
Android, as a platform, is one of the fastest growing on the planet. It is available on smartphones and a series of different tablet sizes. Most devices also include a full spectrum of sensors that are available to programs you install, so it's a very inviting platform for development. The usual workflow involves installing a development environment on some other machine, either a Windows or Linux desktop or laptop. You then do all of your code writing, compiling and debugging there before you actually copy it and install it onto your Android device.
But, there may be times when you want to develop on the road or shorten the cycle by developing on your Android device itself. One of the better options for this is AIDE, the Android Java IDE. AIDE is distributed under a freemium model. The free version allows you to develop, compile and run your code. It also allows you to install to the device on which AIDE is running. However, if you want to generate APK files that can be used to install onto other devices, you need to purchase the full version.
In this article, I start by explaining how to install AIDE and create a new program, and then I cover what is involved in coding, debugging and running your new program. For more information, see the Google+ page.
Figure 1. AIDE is available as a free download from the Google Play store.
The first step is to install AIDE on your Android device. Open up the Play Store and do a search for "AIDE". The appropriate package should show up at the top of the list. If you are in doubt, verify that the developer is "appfour GmbH". AIDE takes up more than 12MB, so if you are running short on space, you can transfer the majority of it to an SD card, leaving 4.45MB in your device's main storage.
The very first time you start AIDE, it will pop up a dialog box where you can enter the details for beginning a project. In this dialog, you can enter an App Name and a Package Name. You also can select an app template from some built-in ones, such as "Hello World", "Tetris" and "Analog Clock Widget". These templates will set up the folders and files for your new project.
Figure 2. When AIDE starts up the first time, you are shown a dialog for your first project.
Once you click create, the files will be created in the folder /mnt/sdcard/appname (where appname is the name you gave your project), and this new project will be opened up in the IDE. The main part of the IDE consists of two panes. Their alignment depends on the size of the device on which you're running it. On my phone, the panes are one above the other, and on my tablet, the panes are side by side. The first pane is a file listing for your project, containing all the properties, resources and source files needed for an Android project. The second pane is the main editor, where the central file (MainActivity.java) gets loaded on project creation.
Figure 3. When you open a project, it gets pulled up into the IDE.
Figure 4. The tablet interface opens with panes side by side.
Joey Bernard has a background in both physics and computer science. This serves him well in his day job as a computational research consultant at the University of New Brunswick. He also teaches computational physics and parallel programming.
|September 2015 Issue of Linux Journal: HOW-TOs||Sep 01, 2015|
|September 2015 Video Preview||Sep 01, 2015|
|Using tshark to Watch and Inspect Network Traffic||Aug 31, 2015|
|Where's That Pesky Hidden Word?||Aug 28, 2015|
|A Project to Guarantee Better Security for Open-Source Projects||Aug 27, 2015|
|Concerning Containers' Connections: on Docker Networking||Aug 26, 2015|
- Optimization in GCC
- Using tshark to Watch and Inspect Network Traffic
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- Concerning Containers' Connections: on Docker Networking
- A Project to Guarantee Better Security for Open-Source Projects
- Firefox Security Exploit Targets Linux Users and Web Developers
- Where's That Pesky Hidden Word?
- My Network Go-Bag
- Doing Astronomy with Python
- Build a “Virtual SuperComputer” with Process Virtualization