Hello, I would like to learn android programming, but have no knowledge in java whatsoever. Do I need to go through a java course first before starting with android, or is there a way to start programming directly with the latter?
Android java shares essentialy the same api as oracle java and follows all the same language rules so learning the core language will help immensely in your quest to program for android also its a lot easier to find books and tutorials on java vs android java.
Here are a few I have read:
Java Programming: Program Design Including Data structures. by D.S. Malik -as far as programming books go this is one of the easier ones to read.
Introduction to Java Programming by Y Daniel Liang - a harder read but very complete not just and intro book.
Also google is your friend. I probly learned more about java from google searches than from any single book or document. And any questions/topics you have problems with I or one of the java gurus in the java forum would be glad to help.
Another important thing to know for android is xml as it is used extensively in app programming.
The main difference between vanilla java and Andoid's Dalvik is the byte code generated by the compiler and the virtual machine to execute that byte code, plus the additional API's that Dalvik provides.
I reciently got Core Java Volume I and II 9th ed. as reference and they are now my favorite java books easy to read and complete. If your going to learn java from books these are probly one of the best choices. Also they are a lot cheeper than the ones i listed above.