I'm currently trying to build an app for android in Xamarin. It's C pound made to run on android/ios, it's useful because we have some fairly advanced algorithms that we'd rather not have to test/implement several times.
Now to the question:
I'm trying to retrieve some data with a WebRequest, and i'd like to do so asynchronously, for obvious reasons. Xamarin suggests using RunOnUiThread() when reporting back to the UI http://docs.xamarin.com/Android/Guides/Advanced_Topics/Writing_Responsive_Applications which seems like an ugly hack at best (what if i have two async threads running, and they try to modify the same UI element ?, what if i have changed context/tab/whatever in the mean time ?, how the HELL do i keep track of my app's state ?).
Is this really the right approach, or am i missing something completely obvious?