I recently did this app in free time. It lets you calculate sunrise and sunset time at any given location.
I have used the library by
Mike Reedell to do the astronomical calculations.(corrected one rounding off error in the original library).
The app can pick locations from a MAP or from GPS or you can manually enter the latitude and longitude for which you need to find the sunrise and sunset times. The last selected location is stored as a user preference so that you need not update location every time you start the app.
The UI looks like the follows:
You can obtain the complete source code from github. The code is open source. Feel free to use/modify the code in any way you want.