Trencher93 wrote:
You should begin with setting specific goals. Wanting to learn mobile development, Windows, and programming with no prior experience is simply too much to take on. Start with introductory programming and see if you like it. Something like O'Reilly's "Practical Programming" which is a great intro. Then you'll need to get a body of knowledge of basic programming skills. Then you can tackle something like Java. Then you can go to Android. Take things step by step.
Even a seasoned programmer would be confused by the steaming pile of beta that is the Android programming interface. They have managed to both completely over-engineer the entire thing. I think they used every design pattern and OO technique known to man; but they also frequently paint themselves into corners and a lot of it simply doesn't work. Android is a rare example of something that's too well designed for its own good but also a buggy pile of crap.
The only problem with having all the time in the world is how quickly things change. By the time you learn today's hot technology, the industry has abandoned it for something else. By the time you learn one over-engineered Java framework and it gets mature, the industry dumps it and moves to the next one.
I can't find a book by that name on Amazon. I found a book called Practical Programming, an intro to computer science using Python, but it has nothing to do with somebody named O'Reilly. As for having time, I don't know how often Java changes, but I suspect that's why "programmers" taught at community colleges can't find work-they learned long-obsolete languages.