Reading book does give you a comprehensive picture of what things are. However, it should not be mistaken that reading alone suffices to code real applications.
We do need to get the concept from the book or online tutorial, think on it, and apply it on some small application and code and
test it.
This way learning becomes fun and many things which book or tutorials cannot teach you (because of the scope and nature), becomes clearer. The more exception or errors you get and handle them the more you get to know the intricacies of the concept you just read and implemented.
This is what I do personally. Hope that helps.