Advertisement
Guest User

Untitled

a guest
May 26th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1. public partial class Page2 : PhoneApplicationPage
  2. {
  3. List<Writing> writings;
  4.  
  5. public Page2()
  6. {
  7. InitializeComponent();
  8. getWritings();
  9. }
  10.  
  11. private async void getWritings()
  12. {
  13. string jsonData = await JsonDataManager.GetJsonAsync("1");
  14. JObject obj = JObject.Parse(jsonData);
  15. JArray array = (JArray)obj["posts"];
  16.  
  17. for (int i = 0; i < array.Count; i++)
  18. {
  19. Writing writing = new Writing();
  20. writing.content = JsonDataManager.JsonParse(array, i, "content");
  21. writing.date = JsonDataManager.JsonParse(array, i, "date");
  22. writing.image = JsonDataManager.JsonParse(array, i, "url");
  23. writing.summary = JsonDataManager.JsonParse(array, i, "excerpt");
  24. writing.title = JsonDataManager.JsonParse(array, i, "title");
  25.  
  26. writings.Add(writing);
  27. }
  28.  
  29. myLongList.ItemsSource = writings;
  30. }
  31. }
  32.  
  33. Task.Run(() => this.FunctionAsync()).Wait();
  34.  
  35. public class MyClass
  36. {
  37. public static async Task<MyClass> Create()
  38. {
  39. var myClass = new MyClass();
  40. await myClass.Initialize();
  41. return myClass;
  42. }
  43.  
  44. private MyClass()
  45. {
  46.  
  47. }
  48.  
  49. private async Task Initialize()
  50. {
  51. await Task.Delay(1000); // Do whatever asynchronous work you need to do
  52. }
  53. }
  54.  
  55. var myClass1 = new MyClass() // Cannot be done, the constructor is private
  56. var myClass2 = MyClass.Create() // Returns a Task that promises an instance of MyClass once it's finished
  57. var myClass3 = await MyClass.Create() // asynchronously creates and initializes an instance of MyClass
  58.  
  59. public partial class Page2 : PhoneApplicationPage
  60. {
  61. public static async Task<Page2> Create()
  62. {
  63. var page = new Page2();
  64. await page.getWritings();
  65. return page;
  66. }
  67.  
  68. List<Writing> writings;
  69.  
  70. private Page2()
  71. {
  72. InitializeComponent();
  73. }
  74.  
  75. private async Task getWritings()
  76. {
  77. string jsonData = await JsonDataManager.GetJsonAsync("1");
  78. JObject obj = JObject.Parse(jsonData);
  79. JArray array = (JArray)obj["posts"];
  80.  
  81. for (int i = 0; i < array.Count; i++)
  82. {
  83. Writing writing = new Writing();
  84. writing.content = JsonDataManager.JsonParse(array, i, "content");
  85. writing.date = JsonDataManager.JsonParse(array, i, "date");
  86. writing.image = JsonDataManager.JsonParse(array, i, "url");
  87. writing.summary = JsonDataManager.JsonParse(array, i, "excerpt");
  88. writing.title = JsonDataManager.JsonParse(array, i, "title");
  89.  
  90. writings.Add(writing);
  91. }
  92.  
  93. myLongList.ItemsSource = writings;
  94. }
  95. }
  96.  
  97. var page = new Page2();
  98.  
  99. var page = await Page2.Create();
  100.  
  101. myLongList.ItemsSource = writings;
  102.  
  103. Dispatcher.BeginInvoke(() => myLongList.ItemsSource = writings);
  104.  
  105. <PhoneApplicationPage x:Class="Page2"
  106. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  107. <ListView ItemsSource="{Binding Writings}" />
  108. </PhoneApplicationPage>
  109.  
  110. public partial class Page2
  111. {
  112. InitializeComponent();
  113. DataContext = new ViewModel2();
  114. }
  115.  
  116. public class ViewModel2: AsyncBindableBase
  117. {
  118. public IEnumerable<Writing> Writings
  119. {
  120. get { return Property.Get(GetWritingsAsync); }
  121. }
  122.  
  123. private async Task<IEnumerable<Writing>> GetWritingsAsync()
  124. {
  125. string jsonData = await JsonDataManager.GetJsonAsync("1");
  126. JObject obj = JObject.Parse(jsonData);
  127. JArray array = (JArray)obj["posts"];
  128.  
  129. for (int i = 0; i < array.Count; i++)
  130. {
  131. Writing writing = new Writing();
  132. writing.content = JsonDataManager.JsonParse(array, i, "content");
  133. writing.date = JsonDataManager.JsonParse(array, i, "date");
  134. writing.image = JsonDataManager.JsonParse(array, i, "url");
  135. writing.summary = JsonDataManager.JsonParse(array, i, "excerpt");
  136. writing.title = JsonDataManager.JsonParse(array, i, "title");
  137. yield return writing;
  138. }
  139. }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement