android apps, learn android programming, android for beginners, android
This Page
About Our Tutorials

Prev Page - Android For Beginners Article Next page, First Tutorial - Coding the Manifest.xml file

Android App Coding - A Beginner's Guide to Making Android Apps

About Our Tutorials

Our Free Android Tutorials are for those who want to learn how to make their own Android App; using AIDE ; on their Android Tablet or cell phone - for personal use, business, or both. If you have android version 4, 5, or 6, 7; you can use the example code in our tutorials. Version 8 and 9 is also compatible.

As of August 2019, Android 9 (API28) is the latest version of the android platform.

The tutorials are sectioned: Tutorials I, Tutorials II, Tutorials III, Tutorials IIII (Material Design), and Tutorials V, which explore the topics of App Metrics, App Monetization, and App Distribution.

In the following section, you can read about the app topics that are covered in each of the 'Tutorials' sections I - IIII, and topics that are discussed in Tutorial V are also outlined.

Tutorials I

The first tutorials explain in detail the coding pages within an android app (7 tutorials-reading time: about 30 mins);

Tutorials II

(14 tutorials -total reading time 1-1.5 hour; interactive time to complete each app, about 1 hour per tutorial)

In these tutorials, you begin by creating your own android app; a simple one page app containing one activity.

To create your first app you will use a 'template' app; making it easy to create and learn at the same time.

Your app is created using AIDE,(an android app used for Creating Android Apps on your Android Tablet or Smartphone)

Once your app is created; we then edit the app and this is how we learn to code Android Java/XML.

Learn to add buttons, text, images; learn to code background color: screen orientation;

learn to code layout types like Linear layout, Frame layout, Horizontal Scrollview;

learn how to code a customized style, a pre defined system theme; and how to implement a Toast Text Message; learn how to use 'android:id' in coding elements.

Tutorials III

In tutorials III, we will make apps with additional functionalities and features.

In our first tutorial, we first learn about Shape Drawables, the various types of, and how to implement a shape drawable line into our android app
A drawable line is a great for sectioning your app for any number of purposes.

WebViews - Ideal for bringing web links into your apps interface. In making this app, we will learn when to use a webview, and how to add one to your app. Android Tutorial WebView - how to add one to your android app

Splash Screen - Splash screens are shown to your users before the first app page; and as the name suggests, they are usually a matter of seconds; ideal for promoting products, coupons, deals, or just adding your own logo for branding.

With a timed splash screen you can use any seconds you like; although preferably 1, 2, or 3 seconds. In this tutorial we will make an app with a Splash Screen

Gradient Drawables - Adding style and color to your app's interface (UI) can be done using a variety of methods such as background colors, and android platform themes; which we have learned in our previous tutorials. Gradient drawables can also be used for this purpose.

Gradient drawables are used to add more than one color to your app elements such as: buttons, textviews, and layout backgrounds.
Typically, you use two similar colors;
one lighter and the other darker;
however, any combination of colors can be implemented.

In this tutorial, you will make an app with several gradient drawable colors, and learn how to create the different types; and then add them to your app buttons and the Linear Layout background. Android Tutorial - Gradient Drawable App

In the next 3 tutorials, we learn to make android apps with Fragments.
Fragments were added to the Android Platform in API 11. Fragments are ideal for modulizing your app's interface. There are many ways to design and customize your app interface using fragments.

For our tutorials we will make apps with these Fragments:
a weighted fragment, a listview fragment, and a tabbed fragment.

With a 'weighted fragment app' you add two fragments to the screen; and then section them by using a 'percentage of calculation'. Each fragment
is given a weight.

A 'listview fragment app', has two fragments; and can be used to itemize and list any number of items in your app.

And, a 'tabbed fragment app', is two or more fragments that are tabbed and you can browse each tab which contains its own fragment(screen view).

Share Intents - Sometimes, you might want to share images and text from your app with other apps on your device or to social networks like Twitter and Facebook. To share data like this, we need to code an 'Intent', in this case, a Share Intent.
You can add a share intent method to an app your making which will allow the user to share text and images.

In this tutorial we learn how to code a simple share intent for text.
For sharing images we must create a Share Intent for Images, which you can learn to code in this tutorial, how to share an image using a share intent method

Media Player - is a code class for android that allows you to play media; like audio, video and stream data as well. In its simplest form, you can have a audio file play automatically when an app page loads into the screen view. There are also many player controls you can add. In this Media Player Audio tutorial; we will make an app to play an audio file with two buttons; Play and Pause.
Media Player with Audio

Video Player - having a video player allows you to play videos within your android app. There are several coding methods you can use to do this; for this app we are using the Video View and Media Controller methods. Learn how to code a video player in this tutorialCoding Video Player

Localization - Localizing your app for languages from different regions of the world is something you can implement to give your app more exposure and potentially more downloads and sales.
In this app tutorial, you can learn how to code support for languages. Localize Your App
World Languages

ListView - ListView is a common user interface in android apps. Basically, it allows you to list items in a row format. You can have one, two or more lines of data in a row. The data can be just text, or text and images, or just images. You can customize listview as you like.
And, ListView is scrollable once your rows exceed the physical parameter of your device view.
In these next two tutorials you can learn to code a simple listview, and a listview that displays a 'toast' message.

Android Tutorial, Coding a Simple ListView

How To Code Android, ListView with Toast Message

Sliding Drawers are often used in UI designs for apps. Sliding drawers do as the name suggests; they slide out from the side of the app, and can be returned to original slide positions using Toggle like handle. They can slide from the sides or top or bottom of the app view.

In these following tutorials, you can learn to code a sliding drawer, and a sliding drawer with a listview.
Android Tutorial, Sliding Drawer

Android Tutorial, Sliding Drawer with ListView

Tutorials IIII

These tutorials introduce you to the Material Design classes which include many new code classes and improved updates to older classes. In tutorials IIII, you will make apps with some of the new code classes of Material Design, including 'Elevated View' ,'Shadowed Container' and how to implement a basic 'Toolbar'.

You will also makes apps with the new 'Themes' available to use in Material Design. Material Design code classes were added in Android version 5 API 21. Some of these new code classes are considered important because of their improved functionality over some older but similar code classes while others for new design layouts or features like 'Floating Tabs', 'Recycler View', and new 'Color Blends' for the user interface (UI).

Tutorials V

Tutorials V cover the recommended components of app development which are added once your app has been built, tested, and is ready to be added to the various app stores, your website, and social media platforms where users can download your app.

In Tutorials V, you will learn about the most common 'Metrics Tools' used in analyzing mobile app performance, including methods used to determine user behaviour.

App Monetization allows you to add advertising to your app, charge a fee for updates or premium features in your app, and also charge for removing ads from your app.

And App Distribution is the marketing of your app to the app stores like Google, Amazon, and the many smaller venues where android apps are downloaded by users.

In these tutorials we explore the various online websites, (free and paid), that offer these essential app services.

View Our Android Apps Developed Using AIDE With the android programming language Java/XML, the language you'll learn in these tutorials.

How To Code

Each tutorial app is developed using a mobile coding environment, specifically AIDE; which is designed for coding on android devices like tablets.

We are using the android java/xml coding language. This language is also compatible and can be coded in a Desktop environment, specifically Android Studio; which is designed for coding on desktop computers.

Android Studio is free to download, install, and they have many all-free learning guides you can use.

Testing Your New App

Although Android Studio does not have an actual mobile platform for testing your newly developed apps, it does have an emulator which can mimic many of the android platform requirements for app testing.
With AIDE, the testing process is somewhat simpler; as your newly developed app needs only to be installed on your android tablet to test it.

AIDE Features

AIDE is a coding editor for coding and compiling your app codes, and building your apk app package. To use the AIDE app on your android device, you need at least android version 4. It also has many tweek options you can manage, including the ability to self save files for you. It is recommended you toggle on this editor feature, in case you do forget to save any pages you code.

Template App

To begin each tutorial, we create a 'simple template android java/xml app'.
Then we need only replace the code on pages that we are using for the new app we want to create. All the remaining pages don't have to be edited.
And, we may have to create new pages as well.
Finally we build, RUN, Install and Open our newly created android app.

And, as we previously mentioned, the Example Code from any tutorial can be used with Android Studio; just choose android java/xml as the coding language.

Providing Image Resources

If a tutorial's app has a image or icon; we provide that as well for you to use.

Updating An App

Once you create an app from a tutorial, the app will reside on your tablet with your other tablet apps. You can make changes to the app(add or remove code), add additional functionality to your app;(more app components)or use it as a basis to make another app. Any changes made to the app will be updated when you 'File; Save RUN your app, then, Install, Open', your app.

Android Developer Website

Each tutorial also references the developer pages at Android Developer, where you can view all available coding properties for each Code Class we discuss.

You will learn many Code Classes, as we add them to the App. You can create your own App from the code from each of the tutorials.


Our 'android articles', which cover the topics of;

Creating your app keystore,
What is an apk analyzer tool,
Deciphering mobile metrics data points,
How to code for app compatibility with APIs,
and several more.

If you haven't already, do read the Article for Beginners:
gohere to read it

Java XML code snippets;
You can view specific coding tasks; by browsing the HOW TOs section of our side menu; where we have added each Tutorial; or by clicking the 'Code Examples by Task' link.

These Android Tutorials are using the Android Programming Language - XML Java, and we are using the Software Application AIDE to create, build, and run our Android Apps.

The AIDE application can only be installed on a Tablet or (android device), with a minimum Version Android 4

For these tutorials, we are using AIDE on a tablet with Android Version 4.2.2(API 18); and on a cell phone with android version 6.01(API 23) All the coding we use is considered 'standard codes', and should function without issues across all android platforms up to the current version of 9 which is API 28.

AIDE can be installed on any android device from version 4 to version 8.
Read about APIs

The 'AppProject' Pages

The app projects is where you find the apps you created.
In AIDE, goto left menu, then AppProject, then Select the app you created by the name you gave it.
You can also access your AppProjects files using your tablet's file manager. This is ideal to use when you want to move files or app resources like images from one app project to another app project.

Most of the app files you will code have a .xml extension. This makes it easy for coding purposes; as using xml files keeps the resources of your app separate from the java coded pages in your app. As you code, you will learn how these xml resource files are used.

Choosing a Coding Environment

As mentioned, you can code in either AIDE, or Android Studio. You can also code in AIDE, and then take a coded page(s) and add it to your Android Studio project. Just use the android java/xml coding language.

Once you understand the basics of making an app; it will be easier for you create and run your own apps, using AIDE or Android Studio using the programming language JAVA XML for android.

Download AIDE

AIDE is free to download(from Google Play) and install on your android cell or tablet; (tablet recommended, although some smart phones now have decent size screens; mine has a 5" screen size and i actually can code with it).

With AIDE(paid version), you get additional free lessons and you can add a 'keystore' to your app which is ideal if you want to submit your app(s) to the distribution markets like Google and Amazon. The 'keystore' provides your app with two key codes, one stays on the app and the other with the distrubutor of your app. When you make changes to your app and re submit it with those changes; the distributor matches your 'keystore' codes and they must both match. This provides a level of security for your apps.

AIDE's paid version is about $20 dollars(as of August 2019).

With the Free AIDE version:
create simple template apps using java/xml android, you can practice your coding using the coding editor,
read two free android programming basic lessons.

Market Places

Google and Amazon are the most used distribution markets for android apps, and there are many smaller markets as well such as Getjar, Opera, To submit your app to any of these you just need to read and follow their submission guidelines.

Joining Google Playstore

Google remains the largest android app distribution platform. Each day more than 1,000 new android apps are added, and they have over 3 million apps. They have a Developer Console, where you can add your apps, and add advertising or in app monetization to them. They have download stats and a sleuth of other features and app analytics you can choose to add to your apps. The cost to join the Developer Play Console is $25 US; one time fee. At their website you can read a detailed guide for submitting your app(s).

Joining Amazon AppStore

Amazon's app store has over 400,000 apps and for total number of apps they are considered third largest behind Googles and the IO Apple App store. As of this writing, joining and submitting your android apps is free at Amazon AppStore.

Like Google, they offer in-app monetization for you apps, and they also cross sync the advertising with Amazon to offer deals, discounts, and in app promos to app users. If you have an Amazon customer acccount, and use the same email for signing with Amazon Appstore, your AmazonApp store details are available as well.
You can read their detailed submission guide from their website(can be downloaded).

In addition to their Amazon AppStore, they have AWS, a free and paid developer platform for coding, and informative guides for web and app Analytics and the like.

Making Your Brand Mobile

In addition to market distribution for your app(s), you can have apps for download on your personal or business website and on social media. This is a great idea for branding your own niche. Be it food, drink, sport, knowledge, goods, digital goods, or fun; an app can be a way to get users to know your brand and get them to your website.

You can charge a download fee for the app(paypal) or you can have them free to download. Also, you can add app services for things like 'In-App Monetization', and 'Analytics' for each of your apps. In App Monetization lets you charge users within your app(upgrades-additional features) or you can have advertising in the app.

Analytics will provide you with 'STATS', on your apps' performance - including things like number of downloads, uninstalls, new users, entry and exit screens, time on a particular screen within your app, and where users tend to go within your app. These are good for fine tuning your app and making it more user friendly.

Having a Android App for your users to download is ideal for this, and easy to implement. Just make your app, then upload the .apk file to your server, make a link to it on your website. Users can then download your app. When they double click on the .apk file,the prompt will ask them if they want to install on their device. They choose YES, the app gets installed.

To open the app, they just double click on the APP ICON.(The app name).
No matter how you plan to market your new app it is a good idea to add a 'keystore' to it. This protects your app from hackers and proves you as the owner as one key code is on the app and the other you keep on your computer or with the app distributor. (like Amazon)

AIDE cannot be installed on desktop computers.

fyi: (We are not associated with AIDE in any manner; when I downloaded and installed our first version of AIDE(couple years ago), the AIDE app was mostly free to CODE and RUN apps and the paid version was about 10 dollars) Having said that, if you plan on publishing your app to Google and Amazon for profit, then do consider the paid version)

Learn Android Java/XML on Destop Computer

If your prefer to learn on Android Studio, for desktop;(on your computer) the required apps are free to install and use. There is a link to them on this page and each tutorial page.

To use the code from our tutorials with Android Studio; just copy paste the code into their coding editor, or create a page to paste the code onto; like mycode.txt, or use an online free note service like Evernote.
Evernote lets you copy and paste(anything from websites),and sync files added between devices and desktop. You can login from android device or desktop computer.

AIDE vs Android Studio

Whether you learn with AIDE tutorials or Android Studio SDK tutorials, the coding you will learn is the same as long as you choose Java XML as the program language.

If you create your app on your computer you will need to test it also in an android test environment; For desktop users of Android Studio; there is a program that will test your app in Android Studio, however, with AIDE, the process is much simpler because the app is already on your tablet, all you have to do is RUN and then INSTALL it.

There are some Android terms and meanings that would be helpful to know for these tutorials. Being familiar with them will likely make your reading/coding easier as you complete each tutorial. Each tutorial also has additional terms and meanings relevant to that particular android development topic.

Android Programming Java XML - Terms- Meanings- References

Here we explain some of them.

apk - is the package name of your android app. This file, example: myandroidapp.apk is the file you distribute to the market places if your going to market your app once you create it. Or, if you want to have it available on your website for download.

When you first create your app, you give it a App Name, and a Package Name. The app name is whatever you want to name it: example, JapaneseVerbs. The package name is named/saved using this format: com.domain.packagename.

If you have a domain name, that is usually used; so if you had a domain named; you might name your package like this:
com.japanese.learnverbs The package name cannot be changed once created; the app name can be changed within your appProject; just select the AppName Example: JapaneseVerbs, and longPress till you can choose either of: rename, or delete the file.

The apk file can be found in your appProject in the 'bin' folder. You will know its the app apk because of the .apk format at the end of the name.You can copy paste this from your files hierachy in your tablet's file manager - just look for 'AppProjects'; you cannot copy/paste it directly within AIDE editor.

You can also use an APK Analyzer to find the completed app apk file (.apk) within your tablet or cell phone's files. There are several on Google Play for free download. Some have advertising, and small fee to remove advertising.

This is also ideal if you need to find your apps 'certification number' which is required at some online web services that offer free api's for you to use in your app. The APK Analyzer tool will provide this information on all your devices apks. Just look for the app name once you initiate the APK Analyzer tool. Also Read Using an APK Analzyer Tool for Your Mobile Apps

keystore - is the folder you create to store the signed keys for your completed android app. Basically you first create the keystore in AIDE or Android Studio, and then you add the signing key once your have completed building your app. No need to have one until your android app is completed and your ready to distribute it to the markets or for your website. In AIDE, there is a tool for this in Settings. Also Read How to create a keystore for android apps

Android App - refers to an app that is written with Java XML
Android Native
- refers to an app that is written with C Java XML

Create new Project - means to create a brand new android app

AppProjects - when viewing your apps AppProjects is the first folder you will see, all projects(your apps) and then all files reside within this folder directory AppProjects/nameOfApp/

AIDE Sample App - is a ready made app,usually containing code for simple pages (textViews) for an app; written in Java XML, that you can create in AIDE. As of this writing, AIDE has 3 simple apps you can create: they are, Hello World, Tetris, Clock Widget.

Simple App -Same as sample app; AIDE for android app contains a few simple app templates, for easy beginner app creation. A simple app usually contains basic functionality as opposed to more complex apps with perhaps more components added.

The Hello World app has one Activity containing one view (one screen view) and the app name (you can specify or change) at top of app page, and one small logo for the app (image resource).

Because it is a simple app it has only a few pages of coding, and a couple of resource files for the text strings and the logo app image. This is a good app to choose for a novice first learning android java/xml, as you can add to it, yet it is simple enough to understand.

Git Respository - You will see the word GIT, amongst your files folders, usually placed at top of the hierachy. In the SETTINGS of AIDE, you can choose to have the files from each app you create added to the GIT respository.

GIT is a coding hub where developers can find code snippets, classes, and code specific references. It is a public forum, it is free; you can post your own code there, work on codes submitted by other developers. You can also have your own private hosted web page on Git with a paid account.

Code class - Most coding is referred to as classes, code class, or widget; also common is subclass and inherited class. Widget is common for code classes pertaining to the UI(user interface); such as ListView widget. These all basically mean a Code Class; or a code class from another code class or included within a code class hierachy.

Elements Within each Code Class, there are usually many elements; these elements are the code you can add to your app's code; for example the ACTIVITY Class has a textView element.

App Components- Usually refers to a necessary part of the app, like an Activity component. For example; Without the activity component, you would not be able to add a textVIEW element to your app ; as the activity must be declared in your coding in order to have a VIEW added. A VIEW element is a screen view - like a web page view.

xml is the file extension name added to most files in your Android Project that you can edit, and that you will create. When creating a page for xml just type the page name you want to create; the AIDE editor adds the file extension for you; then; look at your file hierachy to make sure file name is correct. example. myfile.xml

Code - Attributes - Values - Within each Code Class, there are Elements, and within Elements there are Attributes.
and; Attributes have values.
EXAMPLE. Code Class VIEW, has a TextView, and TextView is an Element;
this TextView element has its own Attributes;
like android:fontsize, android:fontcolor, android:layout_width,
and each of these have a value: example, android:fontsize= "25dp",
fontsize being the attribute and 25dp being the value for the attribute.
All code is usually presented as such.

Resources (also called res or res folder) Certain items in your app are placed in the resources; Like text, images, videos, you may add to your app. All such items are added to the resources folders in your app and the code referencing any or all of this type of code (the resources) can be placed in the androidmanifest.xml file, the layout file, java class file, or the strings file.

Some commonly used resource folders are:

res/values/strings.xml(for text),

res/drawable(for images, animation xml files),

res/drawable-hdpi(for images),

res/raw(for videos, audios),

res/anim(for animation images and drawables),

res/values-countrycode/strings.xml(for localize languages),

res/menu(for appbar menu items).

if your want to add some text to your View, then you need to use the strings.xml file. This is where each coded 'text name' string is put. @string/mytextname, is how it is coded in your TextView element. The 'mytextname' is then referenced in the strings.xml file with the 'actual text' you want to add.

drawables refers to the images, graphics you add to show in your app for each app image element you specify, each image is referenced in code and placed in the resources/drawables

SAVE a file - after you edit or add new code to any of your apps file pages; you should save the code. Also, in settings of AIDE, you can choose to have the files save automatically after any changes made to them. Refer to SETTINGS, in AIDE. Click top right icon from AIDE, then choose, SETTINGS

RUN your app project - means to compile and update your code with any new code or changes you made; and you INSTALL and OPEN your app at the same time.

UPDATE YOUR APP- when you RUN your app, the prompts will ask you if you want to update your app - choose YES, then INSTALL, choose yes, OPEN, choose yes.

First tutorial - Android Manifest XML File

AIDE for creating Android Apps on your tablet or cell phone(android).
Free and Paid versions available. Paid version is recommended.

GoTo Aide

ANDROID STUDIO - for creating Android Apps on your desktop computer.
Free to Install and Use

GoTo Android Studio Learn more - Android Studio

The Java XML files we code(example tutorial codes) and the Android Apps we create in our Free Tutorials are compatible with Android Studio and AIDE. Just choose Java XML as your Programming Language.

You May Like:
Make Sushi Rolls at Home Pro Tips For Amateur Photographers Pro Tips

If you Like Our Free Android Tutorial - Give Us a Social Mention Share


Learning the App
Code Pages

Beginners Article
About Our Tutorials
Coding androidmanifest.xml
Coding main.xml
Coding strings.xml
Coding drawables


Learning To Code

Create A Simple
Android App

Change App Icon
Add Text and Style
Add Buttons To App
Placing Text
in Buttons

Change View
Background Color

Change Screen

Add Image to
Activity View

Add Horizontal
Scroll View

Add a Frame Layout
How to Add a Theme
To Your App

How To Code
a Customized Style

Code a
Toast Message

Coding Resource

Tutorials Organized by Task
Code Examples
by Task


Java XML
Adding Features,

Coding Shape
Drawable - Lines

Coding A WebView

Coding A Timed
Screen Splash

Coding A Gradient

Coding Fragments

Coding A
ListView Fragment

Coding a
Tabbed Fragment

Share Intent
for Text

Share Intent
for Images

Media Player
with Audio

Coding A
Video Player

Localize Your App
World Languages

Coding a
Simple ListView

ListView with
Toast Message

Android Sliding

Sliding Drawer
with ListView


Java XML

What is Material

Coding a Material
Design Theme

Coding a Layer List
With Elevation

Shape Drawables
Elevate - Rotate

Scrollable Elevated
Topic Cards

Photo Containers
With Shadowed

Simple CardView

View Animator
with Photo Array

View Animator
With Views

Simple Frame

Frame Animation
With Buttons

View Animation
Rotate, Scale,

Android Interpolators
with Spinner

Android AppBar
ToolBar Design


Optimizing Your Android App
Services and Tools
To Optimize Your App

Mobile App Keystore
APK Analyzer Tool

Mobile App Metrics
Mobile App
Monetization Methods

Mobile App Stores -
Distributing Your App


Clickable Button

Image Button
with Selector

Linear Layout
with weight attribute

Displays Message

Screen Density -
Coding Practices

AIDE - for tablets
Android Studio
-for computers

Launching Your Android App
How To Be

Android App Libraries
What are they and how
to implement them

How To
Implement ScrollView

WebView Browser
How To Add
a WebView

View all Articles here