Should I learn Java before learning Android or I can do both things in parallel? What is the best approach?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
I would absolutely learn Java first. Don’t bother learning things like servlets, Swing etc – but learn:
Trying to learn these while also learning a completely new environment will make it a lot harder to work out where you’re going wrong.
Note that this isn’t specific to Android – I’d always encourage developers to learn the “core” of a new platform before learning “peripheral” technologies such as native UIs or web frameworks.
I’ve seen people try to do this before – literally asking complicated questions about advanced scenarios, while not understanding the basics of the language. Sometimes the problem they’ve been having has been due to the complex API they were using, and sometimes it’s been due to the basic misunderstandings – but the problems looks exactly the same to them. They can’t tell the difference between not understanding how method arguments are passed, and having difficulty with cross-threading UI operations. As far as they’re concerned, “something has gone wrong.” Every step is painful when you don’t have a solid foundation.
Aside from anything, as boring as console applications with no interaction might be, they’re really great for just testing something quickly. You typically don’t need to worry about threading, permissions, graphics, resources etc. Another good way to test your understand is via unit tests. Rather than a normal test-first approach, write a method and predict its output with unit tests, until you run out of interesting situations to test. Once you’re done, you’ve got a complete record of what the code does – keep it for later on, in case you need to revisit the concept you were testing.