protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); string baseUrl = "http://api.tekconf.com/v1/"; //string baseUrl = "http://localhost:25825/v1/"; var client = new RemoteDataRepository(baseUrl); var loading = ProgressDialog.Show(this, "Downloading Sessions", "Please wait...", true); client.GetSessions("CodeMash-2012", sessions => { RunOnUiThread(() => { var contactsAdapter = new SessionsListAdapter(this, sessions); var contactsListView = FindViewById<ListView>(Resource.Id.sessionsListView); contactsListView.Adapter = contactsAdapter; contactsListView.ItemClick += (sender, args) => { var selectedSession = sessions[args.Position]; new AlertDialog.Builder(this) .SetTitle("Full Session") .SetMessage(selectedSession.title) .SetPositiveButton("Ok", delegate { }) .Show(); }; loading.Hide(); } ); }); }
public void GetSessions() { var slug = "Android-Pro-Tips"; var conferenceSlug = "CodeMash-2013"; RemoteDataRepository remoteData = new RemoteDataRepository(_baseUrl); IList<SessionsDto> sessions = null; remoteData.GetSessions(conferenceSlug, s => { sessions = s; }); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); bool gotData = false; while (sessions == null && stopwatch.ElapsedMilliseconds < 3000) { if (sessions != null) { sessions.Count.ShouldEqual(1); sessions.FirstOrDefault().slug.ShouldEqual(slug); gotData = true; } } gotData.ShouldBeTrue(); sessions.ShouldNotBeNull(); }
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); string baseUrl = "http://api.tekconf.com/v1/"; var client = new RemoteDataRepository(baseUrl); client.GetSessions("CodeMash-2012", sessions => { Deployment.Current.Dispatcher.BeginInvoke(() => { DataContext = sessions; Loading.Visibility = Visibility.Collapsed; }); }); }
public void IndexAsync(string conferenceSlug) { var remoteData = new RemoteDataRepository(BaseUrl()); AsyncManager.OutstandingOperations.Increment(); remoteData.GetSessions(conferenceSlug, sessions => { AsyncManager.Parameters["sessions"] = sessions; AsyncManager.OutstandingOperations.Decrement(); }); }