I am at a stage where I can understand and write a decent Android application. At this stage, I am still not comfortable with SurfaceHolder, Canvas, View invalidate() etc. I don't have a CS background so I must've missed these from a CS Graphics course or something.
Starting directly with Android seemed like a bad idea because there are not many examples out there. And sometimes I am getting things done, but I don't understand what the heck is going on. For instance, there are a few dangling observations. Calling invalidate() from within a view calls its onDraw method but from outside it doesn't do anything and I don't know why this is happening. I know SurfaceHolder can be a powerful thing but I don't know how to use it.
For an absolute beginner to be able to handle this stuff, what are the resources one should follow? Is it animation basics or screen rendering or something else altogether? I mean, it cannot be the case that Android guys invented these concepts right? They must be similar to something out there which has some tutorials already. My end goal is to put myself in a position where I can write some simple custom views that can animate themselves and use some basic physics to react to touch events.