書籍「基礎から学ぶ Windowsストアアプリ開発」のフォローアップ記事です。
前回、書籍のサンプルの時計アプリがストアを通過するかを試して見事に通過できませんでした・・・
すみっこ時計というアプリで、書籍をお持ちの方は比べてみるとわかると思うのですが、真ん中に今日が過去に何が起きた日であるかを取得して表示しています。
時計がすみっこに表示されているという意味で作り始めたのですが、真ん中に過去の出来事を表示しているためすみっこ感が無くなってしまいました。
下のようにスナップも対応。
(クリックで拡大します)
過去の出来事の取得には「今日は何の日」APIを利用させてもらいました。
利用に制限はないが、都合で使えなくなっても知らないよというスタンスのAPIのようです。
データの取得部分は以下、
// 今日は何の日か取得
var client = new HttpClient();
var dt = DateTime.Now;
var url = "http://www.mizunotomoaki.com/wikipedia_daytopic/api.cgi/" + dt.ToString("MMdd");
try
{
var response = await client.GetAsync(url);
var str = await response.Content.ReadAsStringAsync();
if (str != String.Empty)
{
var results = XDocument.Parse(str).Element("feed").Element("kinenbi_detail").Elements("item");
foreach (var result in results)
{
var Event = new Event();
Event.title = (string)result.Element("title");
Event.description = (string)result.Element("description");
this._eventList.Add(Event);
}
}
}
catch
{
// エラー処理
}
_eventListはObservableCollection<Event>型でデータバインディングでListViewに渡しています。
殴り書きコードですが、foreachを使わずLINQに置き換えたりするとC#っぽいかも?
ストアの審査の基準を判定するサンプルになれば。
Please give us your valuable comment