You should start looking from here I guess, specifically 3, 4, 5, 9, 10. At runtime most likely you will need at least 2 shapefiles, point (to display markers for points) and polygon (to display polygon fill). Perhaps you can store on disk only one of them and generate the other one on app startup.
Hope it helps,
Sergei
Hope it helps,
Sergei