I have added a texture to a cube in the UV editor and it shows up fine in textured view
But when I render it there is no texture
What have I done wrong?
You need to add a material to your mesh to have it show in the render. Also, after adding a material, go to the Properties panel > Textures tab and add the texture. Don't forget to assign the UV map in Textures tab > Mapping dropdown.
See this screenshot for more details:
The accepted answer applies to the soon discontinued "Blender Internal" renderer and has become obsolete. The concept however stays the same:
A texture, by itself, is just "information": an image whose coordinates are mapped to the surface of a 3D object.
This doesn't only apply to images representing the diffuse color of the object. A texture could be many things: color-coded density of hair, normal maps, bump maps, mixing factor between materials. The Texture view (removed in 2.80) or Texture Paint mode is used to display such textures as plain colors, whether or not they are supposed to be colors.
To become color, i.e. to be used by the renderer, the texture must be part of a Material specification.
Since the adoption of Cycles and Eevee, the material specification is done using Nodes. The most basic use of a Texture is to determine the "Color" of a BSDF Shader Node. Explained below.
In the Material tab, if not enabled, hit Use Nodes. A Diffuse (pre-2.79) or Principled (post-2.79) shader will appear.
Use the little "o" button next to "Color" and insert a "Image Texture"
Select the desired image with the little Image icon
(optional) Select "Texture Coordinate > UV" for the "Vector" input
(P.S. this corresponds to creating this node setup in the Node/Shader Editor: