Scroll to top

Are you a budding developer who knows the basics of Java and wants to make their first app using Android Studio? With the Play Store currently hosting 2.89 million Android apps and growing every minute, it's a great decision to learn and eventually master Android app development.

Get Started With Android Studio

To make an Android app, you need an Integrated Development Environment (IDE), and Android Studio is the official IDE for creating Android Apps.

Install Android Studio

To install and get started with Android Studio, check out my post on How to Use Android Studio

Understand Android Studio

Now that Android Studio is ready to use, you can start by creating your first project. Give your project a name and give it a unique package name too. Then, choose the minimum SDK you want to support with your app.

As it says beneath the Minimum SDK bar, with each API level, the features that you can use in your app increase. However, your app will run on fewer devices. The Create New Project dialog includes an estimator for the percentage of devices your app will run on.

Create a New ProjectCreate a New ProjectCreate a New Project

You will then be asked to select the layout of your app. Let's choose Empty Activity so that we have a lot of room to experiment and learn.

select app layoutselect app layoutselect app layout

Once you give your activity a name—let’s name it MainActivity for this tutorial—Android Studio will take a moment to create your first project. Now, you have in front of you the main code editor where you will be able to write the code for your app. 

main code editormain code editormain code editor

The big section on your right is the Editor Window, where you write the code of your app. On your left and below that are the tool windows. These let you easily navigate and work on a specific task of your project, for example browsing files or viewing debugging information.

The two bars that you see on top are the Toolbar, which allows you to perform common tasks in Android Studio, like building, running, and debugging apps, and the Navigation Bar, which lets you navigate through the project and the currently opened class file.

Take a few minutes to study the screen. It will make more sense once you start making an Android app with Java.

Now that you understand the basics of Android Studio, it is time to finally make your first Java Android app.

Java Android App Development

Now, if you look at the left side of your screen, you will see two folders. One of them holds your app’s code and is named after the title of your project. In this case, it would be MyFirstJavaApp. The other folder contains Gradle Scripts, which is a free tool Android Studio uses to turn your app’s code into .apk files.

First, you click to open the MyFirstJavaApp folder and access the code of your app. Then, you click on the app folder. This has three folders which hold different elements of your project: manifests, java, and res.

To start, select res, which contains a file called activity_main.xml. Clicking on this file will allow you to access the layout of your main Activity. On screen, it will look like this:

main Activitymain Activitymain Activity

The empty Activity that we chose has a ConstraintLayout, which is the root of the hierarchy, as you can see on the screen. It has just one element, TextView, that says Hello World. The constraint layout is a container for the components of your Activity and helps keep them spatially organized. 

You have two basic ways to make changes to your Activity layout:

  1. Edit the layout .xml file with the graphical user interface. You can drag and drop any elements of your choice to create your app. This is the default option and is accessed with the Design tab at the bottom of the window.
  2. You can also edit the layout .xml file directly by clicking on the Text tab. Here, rather than dragging and dropping the elements, you write the layout code for your app from scratch.

The first method is great for you if you do not have much experience with writing code and your focus is learning to make a Java app using Android Studio. However, if you love to write code and want to get better at writing apps, the second method would be your way to go.

Making the First Changes to Your App

Now you have myriad options open. Let’s experiment with changing the TextView a little. Open the code editor to see the code of TextView element which is going to look like this:

android:text="Hello World!"

Let’s change it to:

android:text="Envato Tuts+"

You can also change the text’s color and the font style, but I am not choosing to do that here. However, I have put the text in bold. Let’s run it on the AVD or the device to see how it looks.

app showing new textapp showing new textapp showing new text

Here is the code for these changes:

1
<?xml version="1.0" encoding="utf-8"?>
2
<android.support.constraint.ConstraintLayout xmlns:android="https://schemas.android.com/apk/res/android"
3
    xmlns:app="http://schemas.android.com/apk/res-auto"
4
    xmlns:tools="http://schemas.android.com/tools"
5
    android:layout_width="match_parent"
6
    android:layout_height="match_parent"
7
    tools:context=".MainActivity">
8
9
    <TextView
10
        android:layout_width="wrap_content"
11
        android:layout_height="wrap_content"
12
        android:text="Envato tuts+"
13
        android:textStyle="bold"
14
        app:layout_constraintBottom_toBottomOf="parent"
15
        app:layout_constraintLeft_toLeftOf="parent"
16
        app:layout_constraintRight_toRightOf="parent"
17
        app:layout_constraintTop_toTopOf="parent" />
18
19
</android.support.constraint.ConstraintLayout>

Now, from the Design tab, let’s drag and drop a button to your app and change its text to Subscribe.

button in the Design tabbutton in the Design tabbutton in the Design tab

Here's the code this generates:

1
<?xml version="1.0" encoding="utf-8"?>
2
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    xmlns:app="http://schemas.android.com/apk/res-auto"
4
    xmlns:tools="http://schemas.android.com/tools"
5
    android:layout_width="match_parent"
6
    android:layout_height="match_parent"
7
    tools:context=".MainActivity">
8
9
    <TextView
10
        android:id="@+id/textView2"
11
        android:layout_width="wrap_content"
12
        android:layout_height="wrap_content"
13
        android:text="Envato tuts+"
14
        android:textStyle="bold"
15
        app:layout_constraintBottom_toBottomOf="parent"
16
        app:layout_constraintEnd_toEndOf="parent"
17
        app:layout_constraintHorizontal_bias="0.501"
18
        app:layout_constraintLeft_toLeftOf="parent"
19
        app:layout_constraintRight_toRightOf="parent"
20
        app:layout_constraintStart_toStartOf="parent"
21
        app:layout_constraintTop_toTopOf="parent"
22
        app:layout_constraintVertical_bias="0.332" />
23
24
    <Button
25
        android:id="@+id/button"
26
        android:layout_width="wrap_content"
27
        android:layout_height="wrap_content"
28
        android:layout_marginEnd="8dp"
29
        android:layout_marginStart="8dp"
30
        android:layout_marginTop="48dp"
31
        android:text="Subscribe"
32
        app:layout_constraintEnd_toEndOf="parent"
33
        app:layout_constraintHorizontal_bias="0.501"
34
        app:layout_constraintStart_toStartOf="parent"
35
        app:layout_constraintTop_toBottomOf="@+id/textView2" />
36
37
</android.support.constraint.ConstraintLayout>

You can add various buttons and text to your app and allocate them a space using the constraints which you can access in the Design view.

Making Your App Interactive

Up to this point, our app has a button, but it does not do anything when the user clicks on it. To make it interactive, we have to assign an action which will take place when a user taps on it. This is where we'll finally start writing some Java code.

Let’s say you want to tell users that they have successfully subscribed to the Envato Tuts+ newsletter. So, when the users click on Subscribe, you want them to see, Welcome to the Envato Tuts+ Newsletter.

Here’s how you will write the code:

1
public class MainActivity extends AppCompatActivity {
2
    
3
    @Override
4
    protected void onCreate(Bundle savedInstanceState) {
5
        super.onCreate(savedInstanceState);
6
        setContentView(R.layout.activity_main);
7
8
        Button button = findViewById(R.id.button);
9
        
10
        button.setOnClickListener(new View.OnClickListener() {
11
            @Override
12
            public void onClick(View v) {
13
                Toast.makeText(MainActivity.this, "Welcome to Envato tuts+ Newsletter", Toast.LENGTH_SHORT).show();
14
            }
15
        });
16
        
17
    }
18
}

And this is how it will look in the AVD:

AVD showing new button and textAVD showing new button and textAVD showing new button and text

Remember that each button that you add to your app has a specific id to help you refer to it from Java code.

Conclusion

In this tutorial, we looked at how you can make a simple app with Java. Android Studio really is remarkable as it has simplified Java app development. However, to master making Android apps, you need patience and practice.

Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.