Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
You can pretty much learn java from the internet. Meaning doing a bunch of research and reading for the beginning part to learn the basics of Java.(There are a few books that Ive used and can recommend) Then you follow a bunch of tutorials that may or may not be related to what you are actually trying to do. Repeat those steps alot! Repeat some more, until you have a solid idea of java and can make app/games that you want!
Java/Android can handle animations. Otherwise you could always go with a game engine that supports Android and use that.
If I choose Java, then if I want to create the same app for iOS, I need to rewrite everything in Objective-C? No way, it's just a waste of time. As for me, I prefer to write my app once in Haxe/OpenFL, then compile it to Android and iOS, Flash, Windows, Linux and Mac without any problem - I just select any target and hit "Compile". OpenFL compiles to C++ code and uses Android NDK, which makes app much faster than HTML5-based app.
Maybe you are right in a sense, but this particular tool (I mean OpenFL) has an advantage: you can create your own "extensions" in a native language (for example, in Java for Android) and call Java functions or methods from OpenFL. You also have #defines, that allow you write conditional code, like so:Very true; however, with a lot of these cross platform tools you have have more restrictions on how it runs across different devices. This is fine for iOS since all versions use basically the same code and same dpi displays, but with android there are so many devices and android versions that it is harder to fine tune your game with a muti-platform compiler then with plain java.
#if android
// do some android stuff
#else is ios
// say hello to ipad
#end
Maybe you are right in a sense, but this particular tool (I mean OpenFL) has an advantage: you can create your own "extensions" in a native language (for example, in Java for Android) and call Java functions or methods from OpenFL. You also have #defines, that allow you write conditional code, like so:
It really gives you a true freedom to do everything you like.Code:#if android // do some android stuff #else is ios // say hello to ipad #end
//Some.java for android native functionality
class Some{
static int getSum(int a, int b){
return a+b;
}
}
//Some.cpp for iOS native functionality
static int Some::getSum(int a, int b){
return a+b;
}
...
#if android
/// calling Some.getSum func using JNI functionality of OpenFL
#else if ios
/// calling Some.getSum using C++ bridge facilities
#end
...