What should i study in order to build my first Android app?

In summary, the programmer plans to use Apache Cordova and Kotlin to create an app for his uncle's business which will help organize the dates of booking a car.
  • #1
diredragon
323
15
This year I made a resolution to by the end of summer build an Android app for my Uncle’s bussiness (Rent-a-Car) which would help him organise the dates of booking a car. I have previous programming experience with C and C++ but not with app creating.
The idea for the app is really simple but effective. You create your database of cars along with their specifications. The app shows a calendar and an option for viewing the calendar for each car separately or all at once. With a tap on the day of the calendar you can add a booking of one or more cars. When you switch to one car calendar, all the dates on which the car is booked is red so you know that it’s not free on that day. The all-cars calendar shows a date red only when all cars all booked on that day. Otherwise it is white and can display a car which is free on that day. This is the priliminary idea and i would add lots of other features once i learn Android app development.
The reason i post here is to get recommendations on the resources i should use to learn to build this idea into an app.
My first thought was to enroll into Udacity Android Basics and Developer Nanodegrees (free courses separately). Is this an effective way? Should i also read some book from which i would benefit?
Any suggestion is welcome :)
 
Technology news on Phys.org
  • #2
The first book I read was Hello Android by Burnette. It can get you started using Java on Android.

Google has endorsed Kotlin as a programming language for Android.

https://en.wikipedia.org/wiki/Kotlin_(programming_language)

However, there is another way to make an app using Apache Cordova and a making a web app (ie using Javascript+web app server or NodeJS). Apache Cordova converts the web app into something that has the look and feel of a mobile app or either iOS or Android or any of several other supported platforms. For apps like yours this is probably the best option.

https://en.wikipedia.org/wiki/Apache_Cordova

For web apps, you may several choices too:
- Ruby on Rails
- Grails
- Javascript + web app server

Ruby on Rails and Grails (I like Grails) allows you to prototype a web app quickly complete with a backing database and to then flesh it out.

https://en.wikipedia.org/wiki/Grails_(framework)

https://en.wikipedia.org/wiki/Ruby_on_Rails

You can find tutorials on youtube such as the TreversyMedia channel with many goo web app video:

https://www.youtube.com/results?search_query=traversy+media

There are others if you search around.
 
  • Like
Likes QuantumQuest and diredragon
  • #3
For me, the best thing to do is to just download an emulator and experiment with it. Whenever I'm learning a new API, I simply download a bunch of examples of varying complexity from the internet and get them to run.
 
  • Like
Likes diredragon
  • #4
For some years I was building Android apps using Eclipse and Android SDK but for the two past years I use Android Studio. It is a very good IDE so I recommend it.

About the programming languages you can use, you have several choices: Java is the official language for Android, C++ (with the use of Java NDK for native coding) and Kotlin - as also pointed out by jedishrfu, which is a programming language developed by JetBrains and announced by Google at its I/O 2017 developers conference as an official language for Android. It is an open source project under the Apache 2.0 license. You can use all these languages in Android Studio as well - for compiling and debugging C++ you'll also need Android NDK, CMake and LLDB which can be installed using SDK Manager. Kotlin is fully supported in Android Studio 3.0.

There are more options regarding programming languages like C# - one way that I am aware of is to use it with Xamarin and you can create cross-platform applications, Basic and Corona/Lua (a cross platform tool built on Lua programming language). As jedishrfu points out there is also the "web" way of building an app with Apache Cordova and alternatively you can use PhoneGap - an open source distribution of Apache Cordova, and the usual HTML, CSS, JavaScript web tools.

Regarding resources, I highly recommend "Programming Mobile Applications for Android Handheld Systems" course given by University of Maryland, College Park (beginner level) and the 5-course specialization "Android App Development" given by Vanderbilt University, both on Coursera.

There are also many good books for Android development. At the beginner level I would recommend the book recommended by jedishrfu in post #2 and also "Android Programming for Beginners". For a more in depth coverage of the new features of Android I recommend Reto Meier's "Professional Android, 4th Edition" - which is to be released on April of this year, based on the very good previous edition of this title "Professional Android 4 Application Development".

There are also good tutorials on the net. I recommend the official ones by Android Developers and also Vogella's tutorials which I 've personally found of much help in the past. You'll also need to look at the Android SDK and Android app documentation from time to time.
 
  • Like
Likes diredragon and Mark44
  • #5
One more resource is the Processing IDE which has an Android mode. However, it’s a bit flaky with each new release of Android SDK as Google loves to tweak things making third party tools fail.

Other alternatives include AIDE and APDE apps on the Android store which allow development directly on this device bypassing the need to side load an app from a PC to the device. APDE has a Processing IDE feel and AIDE has an Eclipse feel.

Lastly, you’ll need to find out how to place your device in developer mode to access more features needed by developers. Nexus 7 required you to click on some Android version number display seven times to activate it.
 
  • Like
Likes QuantumQuest and diredragon

1. What programming languages do I need to learn to build an Android app?

In order to build an Android app, you will need to learn Java and XML. Java is the primary programming language used for Android app development, while XML is used for designing the user interface.

2. Do I need to have a background in computer science to build an Android app?

While having a background in computer science can be helpful, it is not necessary to build an Android app. There are many online resources and tutorials available that can teach you the necessary skills to develop an Android app.

3. What tools do I need to build an Android app?

To build an Android app, you will need to have Android Studio installed on your computer. This is the official integrated development environment (IDE) for Android app development.

4. How long does it take to learn how to build an Android app?

The time it takes to learn how to build an Android app can vary depending on your prior knowledge and dedication. With consistent practice and learning, it can take anywhere from a few weeks to a few months to become proficient in Android app development.

5. Are there any prerequisites for building an Android app?

To build an Android app, it is helpful to have a basic understanding of programming concepts such as variables, loops, and conditionals. It is also important to have a clear understanding of the Java programming language before diving into Android app development.

Similar threads

  • Programming and Computer Science
Replies
3
Views
650
  • Programming and Computer Science
Replies
10
Views
2K
  • Programming and Computer Science
Replies
5
Views
2K
  • Programming and Computer Science
Replies
1
Views
3K
  • Programming and Computer Science
Replies
6
Views
5K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
3K
Replies
38
Views
3K
Replies
5
Views
1K
  • STEM Academic Advising
Replies
9
Views
2K
  • Programming and Computer Science
Replies
14
Views
1K
Back
Top