Available from the Play Store for Android for a reasonable price (UK £3.22).
Also available for iOS.
Does basically all you are asking for and more, (lifted from the App Store Blurb):
The Photographer's Ephemeris (TPE) helps you plan outdoor photography shoots.
TPE is a map-centric sun and moon calculator: see how the light will fall on the land, be it day or night, for almost anywhere on earth.
Ideal for landscape, nature, travel and outdoor photographers, TPE's map-based approach means you can search for any place name on the planet or position the map pin exactly where you want it.
Advanced features include: automatic time zone and elevation detection, correction for atmospheric refraction and height above the horizon. You can even determine when the sun or moon will be visible from behind nearby hills and mountains.
Time and direction of sunrise and sunset
Time and direction of moonrise and moonset
Phase of the moon and % illumination
Times of civil, nautical and astronomical twilight
Graphical display on a map (Standard, Satellite, Hybrid, Terrain)
Rotate and tilt the map for the optimal view
Compass-based auto-rotation of the map
Movable map pins - drag and drop the pin exactly where you need it
Search for locations by place name or enter coordinates directly
Save any location you want - no fixed lists
All features available in both portrait and landscape mode
Does not require network connection for rise/set time, azimuths and sun/moon position
Automatic time zone detection for any location on earth
Determines elevation above sea level
View azimuth and altitude of sun/moon for any time of day/night
Distance, bearing and elevation angle between any two points
Import locations from KML files
Find when the sun/moon will appear from behind a hill
Compensation for atmospheric refraction
Compensation for elevation above the horizon
Maps and elevation-based calculations require a data connection to function
Locations outside ±80° latitude (very far north and south) are unsupported
Map auto-rotate requires a compatible device (with magnetometer and accelerometer)
Requires that you have Google Play Services and Google Maps installed on your device. Most devices already have both installed. TPE will prompt you to install these if they are missing.