Apps Beginning Android programming?

sventisep

Lurker
I have a broad question regarding how to begin Android programming. If I was to rate how much I
knew on this topic, the top being 10, I would sit somewhere around -17.

I really don't understand how you go about something like this.

I know C++ and a little javascript but that's it.

In C++, you write your code >>>> Compile it >>>>> and run the Binary but clicking on it.

What's the broad strokes approach to Android programming and which programming language should I learn to do it?

Thanks
 
D

Deleted User

Guest
Hi. Welcome to Android Forums. There is some useful information for beginners here

https://androidforums.com/threads/please-read-me-before-posting.987318/

Your first thing to learn would be the Java programming language. You can learn about this via the web, or one of the many books available. When you have an understanding of the programming language, your next step would be to learn about Android application programming. Download the development environment and try some simple apps. It's all freely available.
 

bayk

Newbie
Just a suggestion about IDE.
Try Android Studio, it works fine with default settings.
Also Android SDK has some examples, you can build and check how they run. So it will be similar to your C++ experience.
 

sventisep

Lurker
Thread starter
Hi. Thanks for the replies.
Can someone tell me, why Java? C++ is very similar.. Why not just use that?
Are there elements of the Java programming language which are best suited to Android programming?
 
D

Deleted User

Guest
The beauty of using Java is that it's very portable. It can run on a multitude of hardware architectures, because the code compiles to an intermediate format called bytecode. The bytecode is interpreted and run by a 'virtual machine' (JVM). The Android virtual machine is a variant of the JVM called Dalvik. The virtual machine effectively is a bridge between your Java code, and the underlying hardware.
With traditional compiled languages like C++, they compile to native binary code, which is specific to a particular hardware platform. If you wish to run the application on a different platform, you have to use a cross-compiler to produce a native binary for that hardware.

So in essence, Java provides inherent application portability across hardware platforms. That's important when you have a multitude of devices, produced by different hardware vendors. You don't have to re-write or even re-compile your code to run on all these devices - you simply distribute a single APK and it runs everywhere.
 
I learnt Android by reading a book called Android development for dummies. It was very easy but beware, some editons of that book are very outdated. The one I read explained how to use the ADT environment and that is old-fashioned. You should ensure that the book is about the new environment: Android Studio.
 
D

Deleted User

Guest
I learnt Android by reading a book called Android development for dummies. It was very easy but beware, some editons of that book are very outdated. The one I read explained how to use the ADT environment and that is old-fashioned. You should ensure that the book is about the new environment: Android Studio.

Yes I agree. Technology moves on so fast that books can quickly become outdated. These days I tend to rely more on web resources.
Even Java has been developed a lot in recent years, with features like Lambdas bolted on, which makes the syntax much different from previous versions.
 
Top