I'm no photography expert. But I've always thought grainy photos was a result of the camera racheting up the ISO due to insufficient lighting (rather than the resolution being too high).
To minimize graininess, shoot at a lower ISO. The downside is, you'll get very dark photos if there's not enough lighting.
It's possible to shoot at a low ISO in low-light conditions and still get good photos. But you'll need to shoot at a slower shutter speed. The downside is, you'll get blurry photos if the subject is moving or if there's any movement of the camera itself.
You'll need to find a 3rd party camera app that allows you to toy with ISO and shutter speed settings.
The absolute easiest way to get good photos would be to shoot in good lighting conditions. Camera Zoom FX doesn't let you adjust shutter speeds but I prefer it over the stock cam app.