7

I am looking to start developing applications for Android and i was wondering if you could fill me in on the know how's and the requirements on a technical viewpoint.

I have the SDK, Eclipse and Java installed and even a handset to "real" test on.

My question is being a complete amateur to Java and having never used the language how much java would i have to learn to develop Android Applications ?

Xavier
  • 8,244
  • 18
  • 54
  • 85
  • What other programming languages have you worked on? – Srichand Yella Jun 21 '11 at 17:16
  • mainly frontend languages, the usual web ones like html, css, html5, css3, jquery and some javascript, and php from a very basic front end level. – Xavier Jun 21 '11 at 17:20
  • In that case you will be learning not only Java and Android, but also procedural programming as well. I encourage you to start on this path but don't forget that getting good at is a career choice, not a hobby, that takes years to master. – Barry Fruitman Jun 21 '11 at 18:28
  • 1
    Following up almost a year later, and I have learned no java what-so ever HOWEVER I've found that creating layouts in Android XML is as easy as doing website layouts. You just need to reference the documentation as required. – Xavier Jun 09 '12 at 13:55

10 Answers10

8

I would say you can just start with some tutorials the same way you would when starting with just Java. You'll learn along the way, just use a lot tutorials.

There is not much difference for the language, but there is a great difference in the framework, ie. the way you set up applications.

So just Java you would learn:

public static void main(String[] args){
    System.out.println("Hello World");
}

In Android it would be:

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    System.out.println("Hello World");
    // Or:
    Log.v("MyActivity", "Hello World");
}

to print "Hello World" to the console respectively the log.

nhaarman
  • 98,571
  • 55
  • 246
  • 278
5

The short answer is no since nobody has a "complete" understanding of Java anyway.

The longer answer is the complexity of your Android apps will be limited by your knowledge of Java. You can probably learn to write a "Hello, world!" app on day one, but it will take several months before you can write simple but useful apps. It also depends on how whether you are new to Java or new to programming in general.

My suggestion is to get a good introductory book on Java and maybe another on Android apps and start there.

Barry

Barry Fruitman
  • 12,316
  • 13
  • 72
  • 135
3

For basic applications - no, a "complete" understanding ist not essential. What you'll have to learn is to use the android framework, and I think, if you grab some android related tutorials and books, then it should be OK even if you start with basic Java knowledge.

(I assume, that you already know some other language and have a decent experience with object oriented programming)

Andreas Dolk
  • 113,398
  • 19
  • 180
  • 268
2

You should have a good understanding of both Java and object-oriented programming.

Stephen__T
  • 2,004
  • 3
  • 25
  • 48
2

You should have a firm grip of how Polymorphism and Inheritance work in java. These are pretty central to Android development. Also, having an understanding of java memory optimization and Threading are useful skills for writing more advanced applications.

CodeFusionMobile
  • 14,812
  • 25
  • 102
  • 140
2

Learn java up to understanding within reason the following concepts/implementations:

  • Object Orientation (this is a biggie)
  • Interfaces
  • Superclassing / Extending
  • Some ultra-common java APIs and syntax
  • Our good friend, mr. garbage collector.

Then you'll be ready to go in Android dev. I wish I had read the book "Head First" java development before starting with Android, it would have helped me immensely.

yep
  • 94
  • 2
1

You would benefit immensely by learning Java first. All of the "Android" code is Java-based so you will handicap yourself by not going through a few tutorials (at the least) to get caught up on Java.

Haphazard
  • 10,900
  • 6
  • 43
  • 55
1

I would suggest NOT starting with Java first, as others have said the framework is so different you will be learning syntax that you will not use writing Android Apps. Get a good book on Android development for beginners and start from there. I've found Android Application Development for Dummies to actually be a very good book, as well as O'Rielly's Learning Android. As you come across the need for Java knowledge, then hit the Java Tutorials over at oracle.com, pick up what you need and then back to Android specific documentation.

You aren't going to be using System.out.println in a real Android App, you will be setting a textView either programmaticly or in XML, so learning the Java way won't be all that helpful.

Start here: http://developer.android.com/resources/browser.html?tag=tutorial and do all the tutorials.

Chris
  • 328
  • 2
  • 2
1

You need to be familiar with the basic Java tasks

  • knowing what is a package, a class, some inheritance
  • understand the building of your app (compile, link and packaging)
  • debugging

You can start with building the tutorial sample, then going down in Java code progressively.

mahery rafara
  • 368
  • 4
  • 13
0

It depends on the complexity of your app. If you will be building complex and high quality apps like Google Maps or Angry Birds you do need to know Java very well. I would suggest you to learn Java because you can make lots of things with it not only make apps for Android. Good luck!

sql-noob
  • 383
  • 6
  • 16