読者です 読者をやめる 読者になる 読者になる

がりらぼ

WindowsRuntimeの応援ブログ

WindowsRuntimeのIAsyncInfo非同期メソッドサンプル

WIndowsRuntimeの非同期メソッド 非同期メソッドといえば.NetのTaskがわかりやすいのでストアアプリでもよく使うけどそういえばWindowsRuntimeには特有の非同期メソッド用のインターフェースがある。 それがこの4つ IAsyncAction IAsyncActionWithProgress I…

MonoGame3.4でWindows10UAP用のゲームを作る

MonoGame3.4がBuildの日にリリースされたらしくもうWindows10UAPに対応してました。 MonoGame 3.4 | MonoGame 公式より速いってどういうことだってばよ... ってかんじですがもう公式ゲーム開発環境でもいいんじゃないですかねMonoGame。 とりあえず試してみ…

WindowsアプリのWebViewコントロールでUserAgentを偽装する

UserAgentについて詳しくないですが、どうやらHttpRequestのヘッダーにUserAgent:*** みたいな指定をすれば偽装できるっぽいです。 WindowsPhone7?のやり方はこちら User Agentを偽装してWebBrowserコントロールでiPhone用ページを閲覧する - 酢ろぐ!blog.c…

WindowsRuntimeではList<T>のForeachメソッドが無いらしい

@garicchi たぶん WinRTだけそのメソッドが存在してない https://t.co/3CLxqvYa8x— たなか@チーム防御率1.52 (@tanaka_733) 2015, 4月 13 らしいです。 IEnumerableで列挙した要素全てに対して特定のメソッドを呼ぶとか、プロパティを変えるとかしたかったの…

Microsoft BandのSDKが公開されたので中身を少しのぞいてみるほい

ついにMicrosoft BandのSDKが公開されました Microsoft Band - Developers 僕はMSBand持ってないですがしっかりしたドキュメントがあるので何ができるのか少し覗いてみたいと思います。 サポートする環境 MS Bandがサポートする環境はこんな感じ Windows 7 o…

WinRT:Shift-JISのファイルを読み書きするには

WindowsRuntimeでファイルの読み書きをするにはFileIOのReadTextAsyncとか使いますがFileIOはUnicodeエンコードしか対応していません。 Shift-JISのファイルを読み書きするには一旦バイトデータとして読み込んで、エンコードする必要があります。 読み込む場…

WinRT:音声合成を使うには

SpeechSynthesizer WindowsRuntimeで音声合成を使うにはSpeechSynthesizerを使います。 まずはどの声に喋ってもらうかを決めます。 SpeechSynthesizerのAllVoicesプロパティ内にシステムでしゃべることのできる合成音声の一覧が入っています。 ここから今回…

Windows10TP build9926の新しいWindowsRuntimeAPI その2 Data編

前回に引き続きWindows10TP版 build9926で存在している新しいAPIを追っていきましょう。 前回はWindows.ApplicationModel.winmdでした。 Windows10TP build9926の新しいWindowsRuntimeAPI その1 ApplicationModel編 - がりらぼ 今回はWindows.Data.winmdファ…

Windows10TP build9926の新しいWindowsRuntimeAPI その1 ApplicationModel編

1/24の夜中にWindows10 TP版 build9926がダウンロード開始されました。 それにともなって新しく追加されたAPI(buil9879追加分も含む)をちょこっと覗いてWindows10からアプリ開発でどのようなことができるようになるのかちょこっと覗いていきたいと思います。…

【ノンデザイナー向け】ちょっと質感のあるWindowsストアアプリを作ってみよう

前回と前々回でアプリのテーマカラーの一括変更と画像のタイル表示ができるようになりました。 今回はその2つの知識を使って、デザインの知識がない人でもなんかちょっといい感じのユーザーインターフェースを作ってみましょう。 Windowsストアアプリのデフ…

WinRT:画像をタイル表示する

WindowsRuntimeではImageコントロールやGridのBackgroundプロパティなど、TileBrushというクラス名ですが画像をタイル表示はできません。 というわけでゴリ押しで画像をタイル表示してみましょう。 using System; using System.Collections.Generic; using S…

WinRT:デフォルトのシステムリソースカラーを変更してアプリのテーマカラーを一括変更

WindowsRuntimeのXAMLでは多くのコントロールがデフォルトで紫色のテーマカラーを使っています。 ProgressBarとかSliderとかの色が紫になってるアレです。 これを変更するためにはControlTemplateを変更したりすれば良いのですがいちいちすべてのコントロー…

WindowsRutimeのStream入出力について

Streamとは テキストファイルのデータを読み込むとき、WindowsRuntimeではこのようなコードでデータを読み込むことができます。 StorageFolder folder= ApplicationData.Current.LocalFolder; StorageFile file = await folder.GetFileAsync("file.txt"); st…

真・WinRTでショートカットキーを有効化するライブラリを作った

以前、KeyBindManagerとかいうクラスでショートカットキーを管理し3つのキーと2つのキーの組み合わせを識別できないダメなライブラリをリリースしていましたが 今回はビヘイビアとすることで使いやすくなりました。また、3つのキーと2つのキー修飾を識別でき…

WinRT:MediaCaptureで音声を録音するには

初期化 WindowsRuntimeで録画、録音するにはMediaCaptureを使います。 MediaCapture mediaCapture = null; DeviceInformationCollectionからオーディオキャプチャデバイスを取得し、MediaCaptureのInitializeAsyncメソッドで初期化を行います。 その際、Medi…

WinRT:NFCで近距離無線通信するには

ProximityDevice WindowsRuntimeのNFCについては、ProximityDeviceAPIを使います。 ProximityDevice.GetDefaultメソッドでNFC通信できるデバイスを取得します。 ProximityDevice device= ProximityDevice.GetDefault(); 近接センサーにデバイスが近づいたと…

WinRT:ファイル検索を行うには

QueryOptions StorageFolder内のファイルを検索するには、検索条件としてQueryOptionsを指定する必要があります。 QueryOptionsはさまざまなプロパティがありますが、今回はApplicationSearchFilerとFileTypeFilterを使います。 ApplicationSearchFilterには…

WinRT:アカウント画像を取得、設定するには

UserInformationクラス WindowsRuntimeでアカウントのユーザー情報を取得設定するにはUserInformationクラスを使います。 その中の、GetAccountPictureメソッドを使えばアカウント画像の取得を、SetAccountPictureメソッドを使えばアカウント画像を設定をす…

Windows10でストアアプリの新しいウインドウを開くとどうなるのか調べてみた

注意 これはWindows10 TP版 build9879の動作です。 ちょっと気になったので調べてみました。 ストアアプリは、ApplicationViewSwitcherをつかってあたらしいウインドウを開くことができます。 新しくウインドウを表示するには | garicchi.com こんなコードで…

WinRT:USB接続でアプリを起動するには

自動再生コンテンツ 自動再生デバイスとは、初めてUSBメモリなどのデバイスが接続されたときにどのプログラムを使うかを選択することで次回以降接続されたときに自動でプログラムが起動できる機能です。 通常はexplolerなどを登録することでファイル閲覧をす…

WinRT:プロジェクト内にあるファイルを取得するには

getFileFromApplicationUriAsyncメソッド プロジェクト内にある画像リソースなどをStorageFile型で取得したいときはStorageFileクラスのgetFileFromApplicationUriAsyncメソッドを使用します。 StorageFile file= await StorageFile.GetFileFromApplicationU…

Cortanaで音声コマンドを使うには(WindowsPhone8.1)

注意 日本でWindowsPhoneをインターネットにつなげることは禁止されています。(そもそも起動すら禁止されているらしい) Cortanaはインターネットに繋げないと実行できません。 私はシアトルに滞在していたときにテストしましたが、日本でのCortana使用は実質…

【WindowsRuntime+ReactiveExtensions入門】その2 いろいろなファクトリメソッド

Observable Reactive ExtensionsにはObservableというクラスがあり、このクラスが様々なIObseravbleを生成するファクトリメソッドを持っています。 Observable.Range() Observable.Rangeメソッドは第1引数に指定した整数から、第2引数に指定した値までの連続…

いろんな方法でWindowsストアアプリとマイコンを接続してみた

以前からWindowsRuntimeのデバイス関係の情報が少ないなと思ってたのでせっかくの夏休みを利用してWindowsRuntimeデバイス強化週間と勝手に決めていろいろ試してみました。 そもそも、一度ArduinoとWindowsストアアプリでシリアル通信をしようとして、WPFの…

【WindowsRuntime+ReactiveExtensions入門】その1 RXとは

ReactiveExtensionsとは ReactiveExtensionとは、IOvserverとIObservableインターフェースを実装するクラスを使った通信、監視パターンをより簡単に実装を行うことができる拡張メソッドやファクトリメソッドなどのことです。 IObserverとIObservableインター…

WinRT:ListBoxでひっぱって更新をする

スクロールバウンズ ListBoxは通常ではアイテムをスクロールして一番上に行った時や一番下までスクロールしたことを知ることができません。 タイムライン系のアプリではListBoxをひっぱって更新などがよく用いられるのでListBoxで一番上までスクロールしたと…

WinRT:バックグラウンドでダウンロードするには

バックグラウンド転送 WindowsRuntimeでは、通常のネットワーク転送API(HttpClientなど)ではデータ転送に時間がかかる場合、アプリが一時停止状態に入るとコネクションが切断されてしまいます。 これでは時間のかかるデータ転送は成功させることができません…

WinRT:連絡先を選択するには

ContactPicker WindowsRuntimeでは連絡先ピッカーが管理する連絡先を自由に選択することができます。 連絡先ピッカーとは、マニフェストファイルで宣言タブの「連絡先ピッカー」が宣言されているアプリが、ほかのアプリから呼ばれ、自身の所有する連絡先をア…

フォーカスが外れても消えないFlyoutを作る

フライアウトはPageより上のレイヤに表示することができる表示非表示が簡単なコントロールでフォーカスが外れると基本的に消えるのが通常です。 実際にSettingsFlyoutもほかの場所をタップすると消えます。 それを消えないようにするためにはPopupコントロー…

位置情報を利用するには

位置情報 GPSセンサーが付いているデバイスはGPSから、ついていないデバイスはIPアドレスなどから現在の位置情報を取得することができます。 位置情報は latitude - 緯度 longitude - 経度 で特定することができます。 Geolocator 位置情報を使用するにはGeo…

光センサーを使うには

光センサー 光センサーとは、デバイスの周囲の環境光を取得し、どれだけデバイスに光がそそがれているかを取得できます。 たいていのデバイスはフロントカメラの横に環境光センサーがついています。なのでここに手をかざすと環境光センサーは低い値をしめす…

単純なデバイスの向きを検知するには

単純なデバイスの方向 デバイスの傾きを取得するなら、加速度センサーを利用できますが、SimpleOrientationクラスを使用すると、デバイスが縦向きなのか、横向きなのか、画面が上なのか、画面が下なのかなど、単純なデバイスの向きを簡単に取得することがで…

WindowsPhone8.1でデータを保存する6つの方法

完全に釣りタイトルです。 Office365毎日更新ブログで有名な@kazuakixさんのブログで興味深い記事がありました。 Windows Phone 8.1 でアプリの設定を保存する - kazuakix の日記 そうです、WindowsPhone8.1からWindowsRuntimeAPIに統合されたのでIsolatedSt…

傾斜計を利用するには

傾斜計 傾斜計とは、加速度センサーと同じようにデバイスの傾きを取得することができるセンサーです。 加速度センサーはとりうる値が0.0~1.0なので直感的ではありません。 傾斜計はX軸回転、Y軸回転、Z軸回転をそれぞれPitch、Roll、Yawとして表し、その回…

方位センサーを利用するには

方位センサー 方位センサー(またはコンパス)は、タブレットがどの方位を向いているかを取得することができます。 取得できる値は、タブレットの上方が北からどれだけ回転しているかの角度の値です。 Compass 方位センサーを利用するには、Compassクラスを使…

ジャイロメーターを利用するには

ジャイロメーター ジャイロメーターとは、デバイスの角速度を取得するセンサーです。 基本的な概念や座標軸は加速度センサーと変わりませんが、ジャイロセンサーは角速度を測るものなので デバイスを回転させた瞬間は値は大きくなりますが、しばらくすると値…

加速度センサーを利用するには

加速度センサー 加速度センサーとは、主にデバイスの傾きを取得するセンサーです。 タブレットを傾けるだけでユーザーの入力を受け付けることができます。 加速度センサーを利用するにあたって、「どの軸を固定とした回転か」を考える必要があります。 以下…

タッチ入力を検知するには

タッチ入力 Windows8ではタッチファーストのアプリ設計のため、タッチに対応したデバイスではタッチ入力を検知することが容易になりました。 タッチ入力を検知するためにはタッチ入力を検知したいコントロールのPointerPressedイベントなどを検知して様々なP…

マウスからの入力を検知するには

マウス入力 WindowsストアアプリはタブレットPC向けと言えど、マウス入力ユーザーもおおいのでマウス入力も欠かせません。 マウス入力は、マウス入力を検知したいコントロールのPointerPressedイベントなどで検知し、様々なPorpertiesを見ます。 このようなX…

スタイラスペンからの入力を検知するには

スタイラスペン スタイラスペンに対応しているデバイスでは、スタイラスペンからの入力を検知するアプリを作る必要があります。 スタイラスペンには、バレットボタンと消しゴムボタンがあり、 バレットボタンは多くのアプリが要素を選択するときに用います。…

ユニバーサルアプリでWindowsストアアプリとWindowsPhoneアプリで処理を分岐するには

たぶん自分用にメモ #ifディレクティブ ユニバーサルアプリにおいて、WindowsストアアプリとWindowsPhoneアプリで処理を分岐させるには、#ifディレクティブを使用する必要があります。 おもに共有プロジェクト([アプリプロジェクト名].Shared)内で使用します…

設定チャームに項目を追加する

設定チャーム Windowsストアアプリのアプリ設定は、操作の共通化のために設定チャーム(Win+Cで出てくるチャームの設定項目)に置く必要があります。 設定チャームを押すことで呼ばれるフライアウトをSettingsPaneと呼び、項目はCommandと呼ばれます。 よって…

ストアアプリのプライバシーポリシーの申請が不要になったらしいです

前々からWindows8.1 Update1?によってストアのプライバシーポリシーがストア申請時に入力したURLが自動的に適応されて、設定チャームにプライバシーポリシーが2個表示される謎現象が起こっていたのですが、ついに審査基準が改善され、設定チャームにSettings…

StorageFileをアプリデータとして取り込むには

例えば画像ファイルなどをアプリ内でキャッシュするためにアプリ内データとして取り込みたいとして、いちいちbyteデータに変換してまたApplicationData.LocalFolderないにファイルを作り書き込むぐらいならStorageFileごとコピーしてしまった方が簡単でコス…

byteからBitmapImageに変換するには

BitmapImage bitmapImage = new BitmapImage(); MemoryStream mStream = new MemoryStream(resultImage); await bitmapImage.SetSourceAsync(mStream.AsRandomAccessStream()); image.Source = bitmapImage; MemoryStreamを使いましょう。 SetSourceAsyncは…

MediaCaptureで動画を撮るには

MediaCapture カメラで動画をとるだけならCameraCaptureUIを使うと楽に動画を撮ることができます。 しかし、CameraCaptureUIは既存のUIを使用するので自分でキャプチャ部分を定義できません。 自由度が高く、独自のUIを使って写真を撮りたいならMediaCapture…

MediaCaptureで写真を撮るには

MediaCapture カメラで写真をとるだけならCameraCaptureUIを使うと楽に写真を撮ることができます。 しかし、CameraCaptureUIは既存のUIを使用するので自分でキャプチャ部分を定義できません。 自由度が高く、独自のUIを使って写真を撮りたいならMediaCapture…

CameraCaptureUIで動画を撮るには

CameraCaptureUI WindowsRuntimeでは写真や動画を簡単に撮れるようにCameraCaptureUIというAPIがあります。 これは既に用意されたUIを呼び出し、ユーザーが写真を撮って、StorageFileを取得することができます。 APIが用意した既存のUIを使うのでわざわざ自…

CameraCaptureUIで写真を撮るには

CameraCaptureUI WindowsRuntimeでは写真や動画を簡単に撮れるようにCameraCaptureUIというAPIがあります。 これは既に用意されたUIを呼び出し、ユーザーが写真を撮って、StorageFileを取得することができます。 APIが用意した既存のUIを使うのでわざわざ自…

Pdfを表示するには

WindowsRuntimeでは新しくPdfを公式サポートするAPIが追加されました。 ですがPdfを画像に変換して表示するぐらいの機能しかありません。 PdfDocumentクラスでPdfドキュメントを扱い、PdfPageで各ページを扱います。 Pdfのサムネ画像表示ぐらいには使えそう…