Wednesday, June 29, 2011

How to learn to develop for Android/anything.!!!

Hi all,

    Its been around a month or so I have been learning Android. I have got nice experience with the books I have been learning Android from. So just wanted to share my experience with all you guys.

   I started of learning Android when I felt like I have a good hold of Java. My protocol to learn computers is simple, take a reference book/reference website and start reading.

  This is something I have seen  many people criticizing. They say, why take a book and learn,
They would say
1. Write some App and you will learn it.
2. Use Google to learn things on the fly.

1. Write some App and you will learn it.
 But what I believe is writing an App will give knowledge of that particular API part that you have used in your App.

For instance, I will give you a scenario. It was sometime when I had written my own Download Manager in Java. I developed it all though, I never came into a scenario where I would want to change color of JPanel. When I was doing some other project, I ran into such a scenario and learned something interesting about changing it background color.

     JPanel jp = new JPanel();

       a. jp.setBackgroundColor();                              // did not work, as I tried a lot.
       b. jp.getContentPane.setBackgroundColor();    // DID WORK.

 Merely writing an App did not teach me these things. I had to read it somewhere.


Using Google to learn something, what methinks, is wrong. It wont teach you anything, it will just get you the work done.


2. Use Google to learn things on the fly.


   Google is, not doubt, a great utility to use to learn something. But let me ask, did I just say 'learn something', it should be 'get done something'.
   As you all know, by profession, I am a software developer. I keep working on computer, solving problems, developing something everyday. When I need to do to something I have been asked for, I just google it, get the solution and do the work. Thats it.

   But did I learn something? No, I just got done something.

 For example,
take another scenario(This is a very basic example, but imagine of some bigger than this). I want to embed some HTML page in my android project. My naive approach would be, I will fire Android Web Browser, to show the HTML page.

    Now, I have been through the API using either a reference book or Android reference website. I know there is something called WebView in Android that can be used to display HTML in the currently running App itself, than firing separate browser process and display it.

Another instance, try writing HTML5 App, you get all the help and code snippets using Google. But referring to W3C website is always good. In a sneak peek it will give a view of what method and properties are provided by that HTML5 API rather than just getting you work done using Google

So I would suggest, learning things from their respective reference website/guide is always better. I am not saying to by-heart everything, just a watchful overview might take about 3 days or a week or a couple of weeks, but will do great.

The biggest advantage to reading from books/ reference websites is 
1. You can fore plan how your project is going to behave and how its going to be developed.
2. What would be the correct design patter for it.
3. You can easily figure out what is easily possible and what is going to take tolls.

So coming back to learning Android. I bought 2 books and what I have found about these books. (Note: none of these books act as guide books)

1. Wrox Professional Android 2 Application Development.
Its a good book to get started with. They seem to be missing somethings sometimes, but later in chapter 5 they caught the track.

2. Manning Android in action.
It is ok, but its more App development oriented. I needed something that will teach me how to play around with basic building blocks of Android.

for example, teaching me how to fire an Intent and invoke BroadCast Receiver or how to create a service which count till 100 in the background etc.

3. Hello Android (e-learning)
This is totally Application development based book. They teach me developing for Android from the perspective of tick-tac-toe. Though you are doing it step by step, it comes to the case explained in '1. Write some App and you will learn it.' above.

Conclusion:
I did not find any book which gives me a reference of API as well as they small demos with code to use those APIs
I would suggest, learning from Developer Guide from official Android website. I am currently referring the same while developing for Android.

Above is my perception of learning things.

Thanks and bye. I expect a lot of criticism for this blog post. You can just fill it in the comments box below.

Friday, June 3, 2011

Google Reader, best way to stay in touch with the latest tech updates.

    I have been using Google Reader for about an year and I have noticed that among my friends hardly does anyone know about it. Google Reader is an online RSS Reader Application by Google.

    I have been addicted to read news using Google Reader ever since I started using it. Its one of the best Applications ever by Google and greatly helps me in staying updated with the news from Silicon Valley, Mobile Technologies, Internet, Android etc.

The video below will explain you in plain English what is and how to use, Google Reader.







  I can suggest you sites worth subscribing on Google Reader.

Engadget
TechCrunh
AndroidOS.in
MobileCrunch
ReadWriteWeb
LifeHacker
GigaOM

The list goes on as per your interest and needs. Above are the sites I frequently used to go and visit, but Google Reader came to rescue.

And Google Reader is not limited to only this. I am a software developer and I have made the suggestions accordingly. Besides technical sites, you are free to subscribe the RSS feeds of sites that relate to ,say, Cooking, Sports, Automobiles, Economy, Politics and possibly everything.

Just login into your Google Reader and start scrolling the articles. Thats it. Ain't that easy.!!!

LinkWithin

Related Posts Plugin for WordPress, Blogger...

Share This

Share |