Apps are amazing, and when you have a concept for one it’s all to simple to dive straight into an IDE and begin hacking away. For a seasoned professional this approach is inadvisable (not to say unlikely…), except for a beginner it may be a very quick way to destroy any enthusiasm that you simply have to learn, and that just wont do.
Do the groundwork
One factor that those trawling through fast and dirty web tutorials miss entirely is that so as to develop android apps, you don’t learn “Android” itself. it’s an OS and a platform, that’s to say it’s a set of languages and tools that all work together.
1. Programming Logic (Java)
2. UI components (XML and Java)
3. Data storage (SQLite, HTTP)
4. Connectivity (HTTP, XML-RPC)
5. Compiling (Gradle, ANT)
..and some others that I’ve probably missed, thus you would like to try and do some homework – just knowing Java isn’t enough.
Get to grasp your tools
Android could be a mature platform recently, and there are several tools accessible to assist you. you would be stunned tho’ (or maybe not) at how many skilled professional android developers don’t use or don’t even realize all of the tools available to them.
You can learn a lot from broken code, however not if you don’t know how to browse the signs. Get familiar with the android Debugging Bridge (ADB), the Dalkvik debug Monitor Server (DDMS) 1st of all, then move to the advanced options of Traceview and dmtracedump once you are looking to find out how to build your apps run smoothly and build efficient use of system resources.
Learn to search
As with any software development task, knowing wherever to seek out the information that you simply need is that the most important talent to develop. Learning the way to realize the correct answers to your queries quickly will smooth out the training curve without stopping.
*How does this specific element work?Check out the official android Developer documentation, and use the search box. each component out there out-of-the-box so to speak is represented in the documents, and there are typically code examples.
*I’ve got an error, what does it mean?! StackOverflow is such a helpful resource for finding answers to this sort of question that it’s become a running joke within the software industry. Copy-paste the error, and someone has probably already found the cause.Note: As you learn a lot of, it’s better to undertake and build so a final resort rather than a primary one – you’ll learn a lot of about what’s occurring within the software if you utilize your tools to do and trace the fault yourself.
Sign up to a developer forum or interest group on social media. It’s an excellent way to keep up to date with the most recent developments among android, and there’s usually a “beginners” subgroup that you simply will join to get in touch with fellow android newbies to share tips, frustrations and links. The android Developers Google+ community is often busy, and other forums like CodeProject, DevShed and CodeCall have sections for Android-specific discussions. also sign on to the android Developers channel on YouTube, it has some nice video tutorials that specify the concepts – it’s an excellent resource for once you’re just getting started. you’ll even be a part of the android Developer workplace Hours hangouts to ask the team directly!
If your goal is to become an expert developer, you’ll have to work in a team at some point, although that’s just with a graphic designer or selling team, therefore getting used to working on a shared codebase may be a helpful ability, and dealing with developers who are already experienced could be a good way to find out. get involved in a community of open-source project; look into GitHub and find an open source project that interests you.
Have a project
Better still: have lots of projects! Nothing is a better motivator than having a target to achieve. you may spend days, weeks, months ploughing through tutorials and accomplish little that’s helpful within the day to day. Worse still, you may try and produce a totally scalable multi-language, phone and tablet-ready social media platform in a weekend for your first app. You’ll fail, an you’ll feel like you’ve unsuccessful.
Instead notice a drag that you simply will solve with an app, it doesn’t need to be new. does one need a custom calculator that may send the result to your emaill address? do you need a one-shot Tweet app? A soundboard of fart noises? no matter it’s, it needn’t be a viable product or groundbreaking app once you’re done, it simply needs to be a project that you simply will work towards.