Пример #1
0
        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();

                  }
                );
            });
        }
Пример #2
0
        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();
        }
Пример #3
0
        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;
                             });
                           });
        }
Пример #4
0
 public void IndexAsync(string conferenceSlug)
 {
     var remoteData = new RemoteDataRepository(BaseUrl());
       AsyncManager.OutstandingOperations.Increment();
       remoteData.GetSessions(conferenceSlug, sessions =>
       {
     AsyncManager.Parameters["sessions"] = sessions;
     AsyncManager.OutstandingOperations.Decrement();
       });
 }