The only ways to get gems are to:
- Purchase them
- Get them from the tutorial
- Be given them by friends
- Share completed goals on Facebook/Twitter
- Win Colosseum matches
- Win them at the racetrack
- Acquire them from Gemstone dragons
If you just started: At several points, the tutorial will give you gems and tell you to use them. Ignore the prompts, and you'll get to keep the gems.
There is no limit on how many gems you can receive from friends, but every player can only gift 3 gems per day (6 if they have the Dragonsai Gifting Tree). So generally you can get a maximum of 3/6 gems from friends daily - unless you can find someone willing to give you gems for nothing in return.
When you complete in-game objectives called "goals", most message pop-ups will have Facebook/Twitter sharing buttons. Use both to receive 2 extra gems. Some goals themselves also have a small gem reward attached to them.
The Colosseum will win you 0/2/5 gems per day. You can enter one dragon a day, and at most you'll get 5 gems per day back as a reward.
Winning the race gives you a spin of the prize wheel - rarely, you may win some gems. Entering the race is relatively inexpensive and frequently rewards gold, so entering hundreds of times per day is not out of the question, assuming you have enough time to devote.
Every month a rare dragon is available for breeding which matches the birthstone of the month. These dragons can only live on gemstone island. When upgraded to level 10, these dragons produce gems at a rate of 1/week. By default you can have at most 12 dragons on your gemstone island, 3 per island. As Shadur notes in the comments, you can also upgrade each section of the gemstone island for 25, then 50 gems, each upgrading allowing each "quarter" of the island to hold one more dragon. You can get 12 gems a week with a fully stocked, non-upgraded gemstone island, or up to 20 gems a week with a fully upgraded gemstone island. (Note it takes a whooping 300 gems to upgrade all island slots).
Note gems are mostly for extras; speeding up actions, upgrading certain buildings (the nursery) or buying special buildings (the extra breeding cave).
Yes, once you unlock the Large habitat of a type, any Small habitat of that type can be upgraded in place. There's only two habitats of each type; a normal and a small. You can see a whole list of Dragonvale Habitats on the wiki too. Small habitats usually hold 1-2 dragons where large ones generally hold 3-4 dragons.
The upgrade will cost the same price as the large habitat would otherwise and take the same time, but the Small habitat will function normally while you're upgrading. This means your dragons can stay put and still earn money.
In fact sometimes I find it helpful to buy a small habitat first and then upgrade it, as I get the first 1/2 dragon slots quickly and then the habitat is in use while the upgrade prepares for completion.
Best Answer
Yes, gems can be gifted cross platform. However, because the Android version is not connected to iOS's GameCenter at all, your friend on Android must be friends with you on Facebook in order to be able to gift you gems and vice versa. Facebook is the only bridge between the two platforms. I use the Android version and I have 2 friends on iOS and one friend on Android and I have no issues gifting to them.
As a side note, the Android friending is a little buggy still. It took some time before my friends showed up after adding them through Facebook, and Dragonvale will still, on occasion, say that my Friends list is completely empty and/or have specific friends not show up on it randomly. Restarting the app will sometimes fix it, but it occasionally takes more time to fix itself. If this happens, don't worry about messing with Facebook or anything, your friends have not been lost, it's just the app being buggy.