I have been a half dozen times, but for business. I used to stay in the capital, which is right next to the airport, but there is really no need to go there. I stayed once at a resort island, a half hour from Male, and it was fantastic, but the hotels in male are nothing special, and there isn't a beach.
I would look for any resort, try the oberois, the taj, the leela, they should be exraordinary. the drill is that they pick you up at the airport, which is a little island, either in a sea plane or a boat. they then take you to your resort, which is its own island. pretty much any room you get will have its own semi private beach, and good service.
perfectly safe, the people are pretty nice, no worries.