UWP
[UWP] HTTP通信
新規にUWPのプロジェクトを作成し、ボタンをはっ付けてクリックイベントを用意しとく。このボタンをクリックするとHTTP通信して受信したデータをデバック出力に出力するようにする。
MainPage.xaml.csにusingを追加しておく。
using Windows.Web.Http;
クリックイベントをこんな感じにする。クリックイベントのメソッドには、asyncを付けるのをわすれないように。あと、例外処理を適当なので実際にはいい感じにしてくれ。
private async void button_Click(object sender, RoutedEventArgs e)
{
try
{
Uri uri = new Uri("http://www.nifty.com");
using (var httpClient = new HttpClient())
{
using (var res = await httpClient.GetAsync(uri))
{
if (res.IsSuccessStatusCode)
{
var text = await res.Content.ReadAsStringAsync();
Debug.WriteLine(text);
}
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
ついでなんで、オレオレ証明書のサーバに接続できるようにする。
次のusingを追加する。
using Windows.Web.Http.Filters;
using Windows.Security.Cryptography.Certificates;
クリックイベントはこんな感じだ。あと、オレオレ証明書のサーバーはデバック用にLAN上に用意するのが普通なんで、Package.appxmanifesでプライベートネットワーク(クライアントとサーバー)にチェックを入れておく。
private async void button_Click(object sender, RoutedEventArgs e)
{
try
{
Uri uri = new Uri("https://192.168.0.1");
var filter = new HttpBaseProtocolFilter();
filter.IgnorableServerCertificateErrors.Add(ChainValidationResult.Expired);
filter.IgnorableServerCertificateErrors.Add(ChainValidationResult.Untrusted);
filter.IgnorableServerCertificateErrors.Add(ChainValidationResult.InvalidName);
using (var httpClient = new HttpClient(filter))
{
using (var res = await httpClient.GetAsync(uri))
{
if (res.IsSuccessStatusCode)
{
var text = await res.Content.ReadAsStringAsync();
Debug.WriteLine(text);
}
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
[UWP] 画面遷移
画面遷移をしてみる。
まず、空白のアプリのプロジェクトを用意する。
MainPageにボタンを追加。
Page2って名前の空白のページを追加する。表示した時にわかるようにTextBlockを追加してTextプロパティを"Page2"する。
MainPageのボタンのクリックイベントに次のコードを追加する。
Frame.Navigate(typeof(Page2));
実行して、ボタンをクリックするとPage2が表示される。
Page2に値を渡したい場合は(普通渡したいよなw)、Navigateの第2引数に指定すると渡せる。
Frame.Navigate(typeof(Page2), "ページ2");
Page2でこの値を受け取るには、OnNavigatedToをメソッドをオーバーライドする。
ここでは、渡した文字列でTextBlockにその文字列を設定するようにしてみる。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if(e.Parameter is string)
{
textBlock.Text = e.Parameter as string;
}
base.OnNavigatedTo(e);
}
今回はサンプルプログラムもアップしておくぞ。
[UWP] とりあえず、リストビュー。
とりあえずリストビュー。
続きを読む[UWP] Hello World的なもの
UWP(ユニバーサルWindowsプラットフォーム)アプリのHello World的なもの(ボタンを押すと”こんにちは!”って表示される)を作ってみた。
続きを読む