Android Programming Tips. Hello! 😃 This is my first post here…
By: Bruna Esteves
Tags: Java, Android, Programming, Kotlin, Android Development

Android Programming Tips

Hello! 😃

This is my first post here and i'd like to start from the most common question i get asked in my routine as an Android Developer:

- Bruna, how do I start programming an Android App?

I listened to this many times and as time passed, my answer changed a little bit when i talk about programming languages, but i always gather a list of considerations before getting to this point.

First: Do you have any proficiency at any Programming Language?

This is my starting point. Why? Look around!

Technology surrounds us, and it brings increasingly more information about this world and more people get interested in starting developing applications.

This is the first step because even if one friend of yours works with any other segment of career, he/she might have learned something about Programming Logic before.

And that's the reason!!

In my opinion, if someone had contact with logic, it's going to be easier to start developing an Android Application (or any other app).

But Bruna, can someone start from zero? Can I go to the Android Developers Page and start the tutorial?

Yes and Yes.

But it's not what i suggest you to do.

You will face different scenarios where you must have a strong Logic Programming base to solve problems and because of this, i recommend you to watch a course (for example: https://www.udemy.com/course/logica-de-programacao-java-python-visualg-e-javascript) or search for this topic to learn about it before everything.

Second: Environment

If you are used to use Windows, Linux or MacOS as your main Operational System, at this point, i would not change it only because you want to develop something. In my opinion, if you do so, you would add some complexity to your work.

Third: Android Studio

And the magic begins!!!

You can download this IDE (Integrated Development Environment) here.

This tool will be one of your best friends. You will be able to create and build apps on many different types of Android Devices.

About the configuration of this tool, it becomes easier every new version, so you won't need to do so much.

You can follow this tutorial:

https://developer.android.com/studio/install

Fourth: Language

When installation is complete, you will be able to answer the main question:

Which programming language do you want to start with?

Java or Kotlin?

To answer that, i only have one consideration: it's good to understand what the Kotlin files (*.kt) generate when you build and run your app.

Here, we are talking about Java bytecode and a little bit of JVM, and i don't want to go deeper at this point, but you may be interested in the gears of this machine (maybe in the future).

That said, now we change the focus to Kotlin adoption in the Android Development Environment.

Looking back, i can see the Kotlin Ecosystem maturity and it's very positive to see that more and more developers are embracing this programming language.

Kotlin brings us easy ways to solve problems that in Java we would spent more time, it would be more complex and we would write much more.

The official support of this language was announced in Google I/O 2017 and it was one of the most expected declarations of the event. Since this date, as a developer, i could have more tools to show my coworkers and people who work with Product Management that we could migrate and trust this process.

Now we can talk about Java. It's very common to see people who have a background in Java backend development or even a background coming from previous studies. These people fit in the first topic of this post, but if i were them, i would give Kotlin a try, because maybe they will cross with Kotlin in the future, or maybe they would want to improve their Android Development Skills.

So, my answer is: You can start with Kotlin, but if you don't know Java at all, take a look at how Android, JVM and Java are connected in the future.

Fifth: Hello World

Now you have everything you need to start!

For this, i recommend you to create your app following the Google Developers Tutorial here.

You will have many informations about the application structure in this page, and you will start to understand how the project works and what is the function for each file.

The Android Studio also provides AVD (Android Virtual Devices) for you to execute your application simulating a real one.

Now hands on!

I will keep writing about Android Development.

In the next posts i will talk about the Android UI Components, Android LifeCycles, how a simple project is configured based on different architectures and more…

The idea here is to make it simple to everyone.