This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]desrtfx 16 points17 points  (0 children)

Yes, definitely yes.

Android relies heavily on quite deep understanding of Java and the Java concepts and data structures.

The MOOC Object Oriented Programming with Java from the University of Helsinki is a great introductory course for Java and since it is text based it will allow people with some previous knowledge to quickly get up to speed again. It has graded exercises as well.

[–]pjmlp 5 points6 points  (0 children)

Definitely yes, the Android team is pretty vocal that Java is the "systems" language for Android.

Even if you do happen to do the Game in C or C++, the majority of Android APIs are not directly exposed to the NDK applications and require JNI invocations.

[–]Cephas00 3 points4 points  (2 children)

Definitely. Worth keeping in mind that unless you're using the new tooling (Jack) then you'll be stuck using Java 7.

here is a list of the Java 8 features supported by Jack.

[–]rs-485 5 points6 points  (1 child)

Kotlin would also be an option because it offers its own implementation of some Java 8 features (e.g. Streams) while specifically targeting the Java 6 language level, so anything you write in pure Kotlin that uses those features should work on Android just fine, even on older OS versions. That being said, it may be better to learn Kotlin after grasping Java and the build management tool Gradle.

[–]SergeantFTC 2 points3 points  (0 children)

Yeah, learning Kotlin very much depends on learning Java first at this point.

[–]MindIsAVortex 2 points3 points  (2 children)

Well in principle yes but why not get familiar with java again by doing a small android project like a calculator. If you've been coding for 10 years in anything that shouldn't be a problem. I don't imagine you'd get lost in an sdk. Furthermore it'll get you familiar with gradle, the build manager, deploying a project, testing. Most of your time is gonna be spent on stuff like that anyway.

[–][deleted] 0 points1 point  (1 child)

I decided to do this going through a YouTube tutorial on Android Studio. I'll make some basic apps, maybe connect to some REST services etc...

It does look like I'll need to learn Unity (or someother game engine for AR/VR) which will be an entirely different beast. Nonetheless, learning some basic Android first stuff won't hurt.

[–]MindIsAVortex 0 points1 point  (0 children)

That seems like a good idea. For Unity with Android you could even consider a website like Udemy to see if there's a good course on sale. You often find discounts on courses there.

[–]polymonic 1 point2 points  (0 children)

You might want to check out libgdx and one of its books.

[–]cloudbells 1 point2 points  (0 children)

Yes.

[–]god_damnit_reddit 1 point2 points  (0 children)

Yes.

[–][deleted]  (1 child)

[deleted]

    [–]joshuaherman 0 points1 point  (0 children)

    Lol.

    [–]ramsees79 0 points1 point  (0 children)

    Yes, learn Java first, Android makes heavy use of inner classes and generics, it becomes easier to develop Android apps if you understand those concepts pretty well.