Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public partial class Page2 : PhoneApplicationPage
- {
- List<Writing> writings;
- public Page2()
- {
- InitializeComponent();
- getWritings();
- }
- private async void getWritings()
- {
- string jsonData = await JsonDataManager.GetJsonAsync("1");
- JObject obj = JObject.Parse(jsonData);
- JArray array = (JArray)obj["posts"];
- for (int i = 0; i < array.Count; i++)
- {
- Writing writing = new Writing();
- writing.content = JsonDataManager.JsonParse(array, i, "content");
- writing.date = JsonDataManager.JsonParse(array, i, "date");
- writing.image = JsonDataManager.JsonParse(array, i, "url");
- writing.summary = JsonDataManager.JsonParse(array, i, "excerpt");
- writing.title = JsonDataManager.JsonParse(array, i, "title");
- writings.Add(writing);
- }
- myLongList.ItemsSource = writings;
- }
- }
- Task.Run(() => this.FunctionAsync()).Wait();
- public class MyClass
- {
- public static async Task<MyClass> Create()
- {
- var myClass = new MyClass();
- await myClass.Initialize();
- return myClass;
- }
- private MyClass()
- {
- }
- private async Task Initialize()
- {
- await Task.Delay(1000); // Do whatever asynchronous work you need to do
- }
- }
- var myClass1 = new MyClass() // Cannot be done, the constructor is private
- var myClass2 = MyClass.Create() // Returns a Task that promises an instance of MyClass once it's finished
- var myClass3 = await MyClass.Create() // asynchronously creates and initializes an instance of MyClass
- public partial class Page2 : PhoneApplicationPage
- {
- public static async Task<Page2> Create()
- {
- var page = new Page2();
- await page.getWritings();
- return page;
- }
- List<Writing> writings;
- private Page2()
- {
- InitializeComponent();
- }
- private async Task getWritings()
- {
- string jsonData = await JsonDataManager.GetJsonAsync("1");
- JObject obj = JObject.Parse(jsonData);
- JArray array = (JArray)obj["posts"];
- for (int i = 0; i < array.Count; i++)
- {
- Writing writing = new Writing();
- writing.content = JsonDataManager.JsonParse(array, i, "content");
- writing.date = JsonDataManager.JsonParse(array, i, "date");
- writing.image = JsonDataManager.JsonParse(array, i, "url");
- writing.summary = JsonDataManager.JsonParse(array, i, "excerpt");
- writing.title = JsonDataManager.JsonParse(array, i, "title");
- writings.Add(writing);
- }
- myLongList.ItemsSource = writings;
- }
- }
- var page = new Page2();
- var page = await Page2.Create();
- myLongList.ItemsSource = writings;
- Dispatcher.BeginInvoke(() => myLongList.ItemsSource = writings);
- <PhoneApplicationPage x:Class="Page2"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
- <ListView ItemsSource="{Binding Writings}" />
- </PhoneApplicationPage>
- public partial class Page2
- {
- InitializeComponent();
- DataContext = new ViewModel2();
- }
- public class ViewModel2: AsyncBindableBase
- {
- public IEnumerable<Writing> Writings
- {
- get { return Property.Get(GetWritingsAsync); }
- }
- private async Task<IEnumerable<Writing>> GetWritingsAsync()
- {
- string jsonData = await JsonDataManager.GetJsonAsync("1");
- JObject obj = JObject.Parse(jsonData);
- JArray array = (JArray)obj["posts"];
- for (int i = 0; i < array.Count; i++)
- {
- Writing writing = new Writing();
- writing.content = JsonDataManager.JsonParse(array, i, "content");
- writing.date = JsonDataManager.JsonParse(array, i, "date");
- writing.image = JsonDataManager.JsonParse(array, i, "url");
- writing.summary = JsonDataManager.JsonParse(array, i, "excerpt");
- writing.title = JsonDataManager.JsonParse(array, i, "title");
- yield return writing;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement