hitchhiker's guide to the win8

30

Upload: jua-kim

Post on 01-Dec-2014

734 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Hitchhiker's guide to the win8
Page 2: Hitchhiker's guide to the win8

안녕하세요김주아입니다.Microsoft Student Partners 5th

Student + Woman + DeveloperMicrosoft R&D Intern

Dongduk Women’s University

Page 3: Hitchhiker's guide to the win8

Who am I ?

Imagine cup 2012

Windows Metro style App Challenge 3rd Place

Page 4: Hitchhiker's guide to the win8
Page 5: Hitchhiker's guide to the win8
Page 6: Hitchhiker's guide to the win8
Page 7: Hitchhiker's guide to the win8
Page 8: Hitchhiker's guide to the win8

http://dev.windows.com/apps

Page 9: Hitchhiker's guide to the win8
Page 10: Hitchhiker's guide to the win8
Page 11: Hitchhiker's guide to the win8
Page 12: Hitchhiker's guide to the win8
Page 13: Hitchhiker's guide to the win8
Page 14: Hitchhiker's guide to the win8
Page 15: Hitchhiker's guide to the win8
Page 16: Hitchhiker's guide to the win8
Page 17: Hitchhiker's guide to the win8

public class FeedData{

public string Title { get; set; }public string Description { get; set; }public DateTime PubDate { get; set; }public ImageSource Image { get; set; }public List<FeedItem> Items { get; set; }

}

public class FeedItem{

public string Title { get; set; }public string Content { get; set; }public DateTime PubDate { get; set; }public Uri Link { get; set; }public ImageSource Image

}

Page 18: Hitchhiker's guide to the win8

public async Task GetFeedsAsync(){

Task<FeedData> feed1 =GetFeedAsync("http://cartoon.media.daum.net/webtoon/rss/koala");

this.Feeds.Add(await feed1);}

private async Task<FeedData> GetFeedAsync(string feedUriString){

// using Windows.Web.Syndication;SyndicationClient client = new SyndicationClient();Uri feedUri = new Uri(feedUriString);SyndicationFeed feed = await client.RetrieveFeedAsync(feedUri);

FeedData feedData = new FeedData();feedData.Title = feed.Title.Text;feedData.Description = feed.Subtitle.Text;feedData.PubDate = feed.Items[0].PublishedDate.DateTime;

foreach (SyndicationItem item in feed.Items){

FeedItem feedItem = new FeedItem();feedItem.Title = item.Title.Text;feedItem.PubDate = item.PublishedDate.DateTime;feedItem.Content = item.Summary.Text;feedItem.Link = item.Links[0].Uri;feedItem._imagePath = item.Summary.Text.Substring(10, item.Summary.Text.Length - 10 - (item.Title.Text.Length + 2));

feedData._imagePath = item.Summary.Text.Substring(10, item.Summary.Text.Length - 10 - (item.Title.Text.Length + 2));feedData.Items.Add(feedItem);

}return feedData;

}

Page 19: Hitchhiker's guide to the win8

<ResourceDictionary><local:FeedDataSource x:Key="feedDataSource"/>

</ResourceDictionary>

FeedDataSource feedDataSource = (FeedDataSource)App.Current.Resources["feedDataSource"];if (feedDataSource != null){

if (feedDataSource.Feeds.Count == 0){

await feedDataSource.GetFeedsAsync();}this.DefaultViewModel["Items"] = feedDataSource.Feeds;

}

ItemPage.xaml.cs Loadstate에추가

Page 20: Hitchhiker's guide to the win8

void ItemView_ItemClick(object sender, ItemClickEventArgs e){

this.Frame.Navigate(typeof(SplitPage), e.ClickedItem);}

ItemsPage.cs

Page 21: Hitchhiker's guide to the win8

SplitPage.xaml

<Gridx:Name="itemDetailGrid">

<WebViewx:Name="contentView"Grid.Row="1"Margin="0"/>

</Grid>

Page 22: Hitchhiker's guide to the win8

SplitPage.xaml.cs

protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState){

FeedData feedData = navigationParameter as FeedData;if (feedData != null){

this.DefaultViewModel["Group"] = feedData;this.DefaultViewModel["Items"] = feedData.Items;

}

}

Page 23: Hitchhiker's guide to the win8

SplitPage.xaml.cs

void ItemListView_SelectionChanged(object sender, SelectionChangedEventArgs e){

Selector list = (Selector)sender;FeedItem selectedItem = (FeedItem)list.SelectedItem;if (selectedItem != null){

this.contentView.Navigate(selectedItem.Link);

}else{

this.contentView.NavigateToString("");}

}

Page 24: Hitchhiker's guide to the win8
Page 25: Hitchhiker's guide to the win8
Page 26: Hitchhiker's guide to the win8
Page 27: Hitchhiker's guide to the win8
Page 28: Hitchhiker's guide to the win8

http://msdn.microsoft.com/ko-kr/library/windows/apps/xaml/br211380.aspx

Page 29: Hitchhiker's guide to the win8

김주아Jua Alice Kim

Microsoft Korea R&D Intern

Page 30: Hitchhiker's guide to the win8