Similar presentations:
Особенности разработки приложений, осуществляющих сетевой обмен для мобильной платформы Windows phone 8
1. Особенности разработки приложений, осуществляющих сетевой обмен для мобильной платформы Windows phone 8
Вавиличев Андрей2. Способы
• HTTP (страницы в формате RSS)• JSON-строка
3. Информация из новостных лент
private void LoadRSS(){
WebClient client = new WebClient();
client.DownloadStringCompleted +=
new DownloadStringCompletedEventHandler
(client_DownloadStringCompleted);
client.DownloadStringAsync(new Uri(RSS));
}
* RSS – ссылка на RSS-ленту новостей, например
http://blogs.msdn.com/b/rudevnews/rss.aspx
4. Информация из новостных лент
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
RSSString = e.Result;
}
}
5. Информация из новостных лент
<StackPanel><TextBlock Text="{Binding pubDate}" FontSize="20"
Foreground="Coral"/>
<TextBlock Text="{Binding title}" TextWrapping="Wrap"
FontSize="22"/>
</StackPanel>
public class PostMessage
{
public string pubDate { get; set; }
public string title { get; set; }
public string link { get; set; }
}
6. Информация из новостных лент
XElement twitterElements = XElement.Parse(e.Result);var postList =
from tweet in twitterElements.Descendants("item")
select new PostMessage
{
title = tweet.Element("title").Value,
pubDate = tweet.Element("pubDate").Value
link = tweet.Element("link").Value
};
7. Информация из новостных лент
private void RssList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
WebBrowserTask webTask = new WebBrowserTask();
webTask.Uri = new Uri(((PostMessage)
(RssList.SelectedItem)).link);
webTask.Show();
}
8. JSON-строка
JSON — текстовый формат обмена данными, основанныйна JavaScript.
{"groups":[{"group_id":"476","group_name":"3\u0411\u041b\u0431-1"},
{"group_id":"477","group_name":"3\u041f\u041f-1"},
{"group_id":"478","group_name":"3\u0420\u041e\u0431-1"},
{"group_id":"479","group_name":"3\u041c\u041b\u043c-1"},
{"group_id":"480","group_name":"3\u0414\u0410\u0431-1"},
{"group_id":"481","group_name":"2\u0411\u041b\u0431-1"},
{"group_id":"482","group_name":"2\u041a\u041b\u0431-1"},
{"group_id":"483","group_name":"2\u041f\u041f-1"},
{"group_id":"484","group_name":"1\u0411\u041b\u0431-1"},
{"group_id":"485","group_name":"1\u0420\u041e\u0431-1"},
{"group_id":"486","group_name":"0\u041a\u041b-1"},
{"group_id":"487","group_name":"1\u041f\u041f-1"},
{"group_id":"488","group_name":"0\u041f\u041f-1"},
{"group_id":"489","group_name":"9\u041f\u041f-1"}]}
9. JSON-строка
public void Download (){
WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += new
DownloadStringCompletedEventHandler
(webClient_DownloadStringCompleted);
webClient.DownloadStringAsync(new
Uri("http://hostmobi1.nichost.ru/get_all_groups.php"));
}
10. JSON-строка
public class Group{
public string group_id { get; set; }
public string group_name { get; set; }
}
public class RootObject
{
public List<Group> groups { get; set; }
}
11. JSON-строка
var rootObject =JsonConvert.DeserializeObject<RootObject>(e.Result.ReadToEnd());
foreach (var Groups in rootObject.groups)
{
id_group = Groups.group_id;
name = Groups.group_name;
}
Следует помнить, что данные представлены только в
текстовом формате, и, если вам нужны численные значения,
которые есть в строке – вам придется перевести текстовые
символы чисел в численные значения.
12. JSON-строка
В результате мы получилиполный список групп, который
затем отсортировали по курсу,
и по алфавиту.