Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm a professional .NET -C#- developer who's interested in doing development for Android. I'd like to know if it's really necessary for me to first read a book or two on Java (like Java For Programmers 2nd), or if I should just be able to pick up an Android book (like Pro Android 3) and be able to -mostly- work my way around it without much fuzz.

Note 1: Java is not 100% new to me. For testing purposes, I've previously done a few -very basic- console applications and web applications.

Note 2: I'm not trying to shift from .NET to Java / Android anytime soon. I just wat to develop applications for myself and this wonderful community. :)

share|improve this question

closed as off-topic by gnat, MichaelT, GlenH7, Bart van Ingen Schenau, Ampt Jul 29 '14 at 20:14

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, Community, GlenH7, Bart van Ingen Schenau, Ampt
If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 4 down vote accepted

The basic concepts of application design are noticably different when it comes to Android development. You have a new UI, Task and OS interaction library, plus a set of 3rd party Java libraries, which means in depth Java knowledge of desktop and server platform isn't all that useful - the design patterns and constraints are different and the VM behaves slightly differently as well.

The only thing Android SDK has in common with basic Java library are basic datastructures and types, which aren't all that different from C# ones.

So as a C# developer you need to check up on one of C# vs. Java comparison lists, to see which language constructs Java does not support and you'll be on pretty much the same ground as any other Java developer making a fresh jump into Android development.

share|improve this answer
Awesome. Sure hope you're right. :) – rebelliard Jul 2 '11 at 15:11

You don't need much 'advanced' Java knowledge. Basic is fine. The rest, you learn on the job. That is what I did.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.