Nextrek
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Storage.Streams;
namespace App1.DataModel
{
class DataLoader
{
private static String fileName = "pagesMOD.json";
private static String Data;
public static ObservableCollection<Pagina> pagine;
public static String data
{
get
{
return Data;
}
}
private static async Task readData()
{
String ret = "";
Stream stream;
try
{
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(fileName);// .OpenStreamForReadAsync(fileName);
var str = await file.OpenReadAsync();
stream = str.AsStreamForRead();
IInputStream inputStream = str.GetInputStreamAt((ulong)0);
uint fileSize = (uint)str.Size;
DataReader dr = new DataReader(inputStream);
await dr.LoadAsync(fileSize);
ret = dr.ReadString(fileSize);
Data = ret;
}
catch
{
Windows.UI.Popups.MessageDialog dialog =
new Windows.UI.Popups.MessageDialog("Error on reading local data.If this is the first time the App is launched, make sure you are connected to Internet.");
dialog.ShowAsync();
}
}
public static ObservableCollection<Pagina> getPagine() {
if (pagine == null || pagine.Count==0)
{
pagine = new ObservableCollection<Pagina>();
try
{
if (Data != null && Data != "")
{
JsonTextReader jsReader = new JsonTextReader(new StringReader(Data));
JObject jobj = JObject.Load(jsReader);
var head = jobj.SelectToken("pages");
Pagina pagina;
foreach (var child in head.Children())
{
pagina = new Pagina();
// pagina.parseJson(child);
pagine.Add(pagina);
}
//sostituire questa riga con una mappa<String,Pagina> dove string è l'id della pagina e pagina è la pagina stessa
pagine = new ObservableCollection<Pagina>(pagine.OrderBy<Pagina, string>(pag => pag.id));
}
}
catch
{
Windows.UI.Popups.MessageDialog dialog =
new Windows.UI.Popups.MessageDialog("Error on parsing json.");
dialog.ShowAsync();
}
}
return pagine;
}
}
}
|
Revision |
Author |
Commited |
Message |
14
|
FMMortaroli
|
Mon 24 Jun, 2013 21:19:06 +0000 |
|