Yahooplacefinder is a project mainly written in Java, it's free.
Yahoo Place Finder wrapper for Android
String lat = "-6.234567";
String lng = "106.23123";
YahooPlaceFinder ypf = new YahooPlaceFinder(lat, lng);
JSONObject result = ypf.getReverseGeo();
// you can check for the result here
if (result != null) {
// Success. result contains the information needed.
} else {
// failed.
}