learn game programming step by step?

sorry for my bad English
i already know how to make a game on android, without using other extension lib,jar, or other game engine, i use eclipse only,
and i wan’t to share my knowledge about here
to the other programmer he wan’t too //GiveAndReceive

#what is opengles and canvas?
on android have a two common graphics drawing using canvas and opengles.
graphics means, no need to use a drag and drop xml layout,
the deference of canvas and opengles, canvas is for 2Dgraphics drawing only, the opengles is can draw 2Dand3D but same code for other function like touch accelerometer,etc search more about canvas and opengles, if you have no basic idea,

#what is the best
the easy way for making a game is using canvas, if you are a beginner i suggest use canvas first before you move on to the opengles, have many game on the market make on canvas, but is up to you,
this is my first post tutorial on gamedev, and i want to start on canvas
then move on to opengl 2D then 3D

this is the common and first important function need for gamedev
a) touch to handle for player touch on screen
b) accelerometer, if you make a game control for phone gravity like
on my previous game SpaceImpakto.
a) background music, the music play over and over again,
b) Sound effect, effect when the two object collide, sample if
enemies dies, or explode,
3.Collision detection
to detect two object collide, like between bullets and enemies,
4. File IO
to write and read your files in your phone memory,sample for
saving the score etc

that’s all you can use that between canvas or opengles
i’ll give you the source code of that, you can modify and implement to your games, click the link on the bottom thanks for reading my post and peace
share this post to the other programmer want gamedevelopment
comment here if you have a questions, in English thanks
the source code credit for Candroid and badlogic pure canvas java code