to make a simple application, for android, you need to learn the syntax of java, and for ios, you need to learn the syntax of objective-c, and then learn some basic controls and page layouts of android and ios. If you need an online app, you also need to learn how to write server-side and some necessary network protocols. If you want games, you need to learn c++,opengl,cocos2dx and other game-related tutorials.
The tools you need are eclipse and xcode.
there are many app application generation tools, which can be developed without these conditions, such as AppMakr.