ポケットリファレンスシリーズWindows 8開発ポケットリファレンス

[表紙]Windows 8開発ポケットリファレンス

紙版発売
電子版発売

四六判/496ページ

定価3,168円(本体2,880円+税10%)

ISBN 978-4-7741-6296-6

ただいま弊社在庫はございません。

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

ロングセラーシリーズ・ポケットリファレンスにWindows 8 APIが新登場。

「逆引き形式で目的からすぐ探せる」
「サンプルコードを見ながら具体的な実装のイメージがつかめる」

という特徴で,困ったときにすぐに役立ちます。
多くの変更があったWindows 8.1に対応した,現場で役立つ信頼の1冊です。

こんな方におすすめ

  • Windows 8/8.1のアプリ開発者

著者の一言

Windowsストアアプリとは,Windows 8以降でサポートされた新たな形態のWindowsアプリです。タッチパネル環境に最適化され(タッチファースト),専用のアプリストアで配布されるなど,これまでの(いわゆる)デスクトップアプリとは雰囲気も操作感もガラリと変化しています。まさに,スマートフォン/タブレットに代表される新時代の環境に対応したアプリと言えるでしょう。

もっとも,新たなプラットフォーム上でアプリの魅力を引き出すためには,開発者の側も変わらなければなりません。端的には,Windowsストアアプリ対応の新たなAPIであるWinRTを理解する必要があります。ざっくりと言ってしまうならば,WinRTの大きな特徴は,タッチ操作に対応したUI部品が提供される点,多くのクラスで非同期呼び出しのメソッドを提供している点です。これによって,タッチパネル環境に最適化され,しかも,ユーザーを待たせない(=体感速度に優れた)アプリを,手軽に開発できるのです。

新しいAPI,とは言っても,身構える必要はありません。WinRTは,従来の.NET Frameworkともよく似ていますし,なんといっても,ストアアプリ開発に必要な機能セットに限定されているため,その構成はシンプルです。これまでWPFやSilverlightなどで開発した経験がある人であれば,ごく直感的に理解できますし,新たに学ぶ人にとっても学習のハードルは高くありません。まずはとにかく触れてみること,です!

本書では,このようなWinRT(Windowsストアアプリ)の機能について,よく利用するであろう機能を厳選して,逆引きリファレンスの形式で紹介する書籍です。執筆にあたっては,さまざまなストアアプリの機能に,できるだけ目的から辿りつきやすいように心がけました。ストアアプリ開発にあたって,本書が座右の一冊となれば幸いです。

目次

  • はじめに
  • 本書の使い方

Chapter 1 イントロダクション

  • Windowsストアアプリとは?
    • ユーザー視点から見たWindowsストアアプリ
    • 開発者視点から見たWindowsストアアプリ
  • Windows 8とWindows 8.1の変更点
    • Windows 8 or 8.1?
  • Windowsストアアプリ開発をはじめるために
    • Visual Studio Express 2013のインストール
    • Windows 8.1開発者用ライセンスの取得

はじめてのWindowsストアアプリ

  • プロジェクトの作成からアプリの実行まで
    • プロジェクトの作成
    • UI部品の配置とイベントハンドラーの実装
    • アプリの実行
    • シミュレーターでの実行
  • Windowsストアへの登録
    • Windowsアプリ認定キットによる検証
    • Windowsストアへのアプリの登録

Chapter 2 XAMLコントロールによるビューの作成

  • 概要
    • WindowsストアアプリのUIについて
    • データバインドについて
    • 添付プロパティ
    • 依存関係プロパティ

共通

  • コントロールの前景色/背景色/境界線を設定する
  • コントロールのフォントを設定する
  • コントロールの高さ/幅を設定する
  • コントロールの水平/垂直方向の配置を設定する
  • コントロールの左/右詰めを設定する
  • コントロールのマージン/パディングを設定する
  • コントロールの識別名を設定する
  • コントロールのヘッダを設定する
  • コントロールにプレースホルダーを設定する
  • コントロールの可視状態/透明度を設定する
  • データコンテキストを取得/設定する
  • コントロールのテンプレートを設定する
  • データテンプレートを設定する
  • コントロールの親/子オブジェクトを取得する
  • コントロールのフォーカスを設定する
  • タブインデックスを設定する
  • コントロールを操作できるかどうかを設定する
  • ドラッグイベントが発生した時に処理を行う
  • キーボードを操作した時に処理を行う
  • ポインターがフォーカスに入った/フォーカスから出た時に処理を行う
  • タップした時に処理を行う

データ入力

  • テキストボックスを表示する
  • テキストボックスで複数行入力できるようにする
  • 編集できないテキストボックスを表示する
  • パスワードボックスを表示する
  • パスワードボックスの伏せ字を変更する
  • リッチエディットボックスを表示する
  • 検索ボックスを利用する
  • キー入力時に検索ボックスにフォーカスする
  • 検索候補を利用する
  • 日本語入力中に検索候補を利用する
  • ローカルコンテンツを検索候補に利用する
  • 検索履歴を利用する
  • 検索文字列/プレースホルダーを指定する
  • スライダーを表示する
  • スライダーで選択された値を取得する
  • スライダーの最大/最小値/目盛りを設定する
  • スライダーにおける目盛りの表示位置を設定する
  • ラジオボタンを表示する
  • ラジオボタンがチェックされた時に処理を行う
  • トグルスイッチを表示する
  • トグルスイッチのOn/Offで表示を切り替える
  • COLUMN トグルスイッチの用途
  • チェックボックスを表示する
  • 3つの状態をサポートするチェックボックスを設定する
  • COLUMN XAMLとHTMLとの違い
  • チェックボックスの値を取得する
  • 日付選択ボックスを表示する
  • 日付選択ボックスで選択できる日付を指定する
  • 時刻選択ボックスを表示する

ボタン

  • ボタンを表示する
  • ボタンがクリック/タップされた時に処理を行う
  • リンクボタンを表示する
  • トグルボタンを表示する
  • トグルボタンをチェックした時に処理を行う
  • コマンドバーを設置する
  • アプリバーを表示する
  • アプリバーをプログラムから開く
  • アプリバーに配置したボタンの外観を指定する

レイアウト

  • アプリバーでトグルボタンを使う
  • 境界線を表示する
  • 要素を水平/垂直方向にレイアウトする
  • グリッド状に要素をレイアウトする
  • 複数の行や列を結合する
  • 可変サイズのグリッド状に要素をレイアウトする
  • 要素の行と列の配置順を設定する
  • 要素の位置を指定してレイアウトする
  • 横方向にめくるように項目をレイアウトする
  • 縦方向にめくるように項目をレイアウトする
  • 異なるビューの間でズームを有効にする
  • 複数の異なる情報をまとめて表示する

アイテムの表示

  • リストボックスを表示する
  • リストボックスの値をデータバインドする
  • リストボックスの値が変化した時に処理を行う
  • リストボックスで複数の値を選択する
  • COLUMN テンプレートの活用
  • コンボボックスを表示する
  • コンボボックスにデータをバインドする
  • コンボボックスの選択を変更した時に処理を行う
  • 複数項目をリスト形式にレイアウトする
  • 複数項目をグループ別にレイアウトする
  • リストで選択された項目を取得する
  • リストで選択された複数の項目を取得する
  • リスト項目をドラッグできるようにする
  • リスト項目のデザインを指定する
  • グループのデザインを指定する
  • 複数項目をグリッド状にレイアウトする
  • 複数項目をグループ別のグリッドにレイアウトする
  • COLUMN データ表示のためのさまざまなコントロール

データ表示

  • テキストブロックを表示する
  • テキストブロックの文字列を配置する
  • リッチテキストブロックを表示する
  • リッチテキストでページレイアウトを行う
  • 画像を表示する
  • インターネット上の画像を表示する
  • 画像読み込みに失敗した時の処理を記述する
  • ツールヒントを表示する
  • ポップアップで確認メッセージを表示する
  • ポップアップメニューを表示する
  • アプリの設定画面を表示する
  • プログレスバーを表示する
  • プログレスバーの最大値/最小値を設定する
  • プログレスリングを表示する
  • 画像を拡大/縮小する
  • Webコンテンツを表示する
  • 動画を再生する
  • 音楽を再生する
  • COLUMN Blend for Microsoft Visual Studio

Chapter 3 さまざまなビューの作成

  • 概要
    • Windows.UI.Input名前空間
    • Windows.UI.Notification名前空間
    • Windows.UI.Popups名前空間
  • COLUMN Windowsストアの使用料

ジェスチャ

  • ジェスチャを検出する
  • ホールド/右クリックを検出する
  • ダブルクリック/ダブルタップを検出する
  • COLUMN Windowsストアアプリの試用版
  • ピンチ/ストレッチを検出する
  • 回転ジェスチャを検出する
  • マウスホイールを設定する
  • エッジスワイプを検出する

タイル/バッジ/トースト通知

  • 静的なタイルを表示する
  • ライブタイルを表示する
  • ライブタイルを指定日時に更新する
  • ライブタイルを定期的に更新する
  • バッジを表示する
  • バッジを定期的に更新する
  • COLUMN Windowsストアの管理ダッシュボード――品質レポート
  • トースト通知を表示する
  • トースト通知を指定日時に表示する
  • ダイアログ/コンテキストメニュー
  • ダイアログを表示する
  • ダイアログにコマンドを追加する
  • COLUMN Windowsストアの管理ダッシュボード――各種分析情報
  • コンテキストメニューを表示する

Chapter 4 ハードウェアの操作

  • 概要
    • ファイルシステムへのアクセス
    • デバイスへのアクセス
    • メディア連携機能へのアクセス

ファイル

  • アプリパッケージのファイルにアクセスする
  • ファイル/フォルダーを取得する
  • パスからファイルを取得する
  • 親フォルダーを取得する
  • 同一ファイル/フォルダーを識別する
  • ファイル/フォルダーの情報を取得する
  • ファイルのコンテンツに関する情報を取得する
  • ファイルの基本情報(サイズ/更新日時)を取得する
  • ファイルの詳細なプロパティを取得/設定する
  • ファイルのサムネイルを取得する
  • アプリデータにアクセスする
  • アプリデータフォルダーにアクセスする
  • ユーザーコンテンツにアクセスする
  • フォルダーにファイル/フォルダーを作成する
  • ファイルをキャッシュリストに追加する
  • テキストファイルを読み込む(Unicodeエンコーディング)
  • テキストファイルに書き込む(Unicodeエンコーディング)
  • テキストファイルにテキストを追記する(Unicodeエンコーディング)
  • テキストファイルを読み込む(任意のエンコーディング)
  • テキストファイルに書き込む(任意のエンコーディング)
  • バイナリファイルを読み込む
  • バイナリファイルに書き込む
  • ファイルのコピーを作成する
  • ファイルを削除する
  • ファイルを移動する
  • ファイルの名前を変更する
  • 圧縮データを作成する
  • 圧縮データを解凍する
  • ファイルを検索する

デバイス

  • デバイスを列挙する
  • デバイスの情報を取得する
  • デバイスを動的に列挙する
  • 位置情報を検出する
  • 位置情報の変化を検出する
  • キーボード接続を検出する
  • ポインターデバイスを検出する
  • マウスで利用できる機能を検出する
  • マウスの移動を検出する
  • タッチデバイスの接続を検出する
  • 加速度データを取得する
  • 加速度データの変化を追跡する
  • 端末の揺さぶりを検出する
  • 傾斜データを取得する
  • 角速度データを取得する
  • 方角データを取得する
  • ライトセンサーデータを取得する
  • 簡易向きデータを取得する

メディア

  • オーディオ/ビデオを再生する
  • メディア要素のビルトインのコントロールを利用可能にする
  • ビデオをフルスクリーンで再生する
  • オーディオをバックグラウンドタスクで再生する
  • 撮影用ダイアログを使用して写真/動画を撮影する
  • 写真撮影/動画録画/オーディオ録音のための準備をする
  • 写真/動画を撮影する時にプレビューを表示する
  • COLUMN ビデオデバイスがサポートするエンコード情報
  • 撮影のためにカメラを設定する
  • 独自の撮影用UIを使用して写真を撮影する
  • 独自の撮影用UIを使用して録画する
  • 音声を録音する
  • 自動再生コンテンツに応答する

Chapter 5 アプリ間連携

  • 概要
    • ファイルピッカー
    • ファイルピッカーコントラクト
    • マニフェストの宣言
    • 検索コントラクト
    • 設定コントラクト
    • 共有コントラクト

ファイルピッカー

  • ファイルを選択する
  • 複数ファイルを選択する
  • フォルダーを選択する
  • ファイルの保存場所を選択する

ファイルピッカーコントラクト

  • ファイル保存ピッカーに応答する
  • ファイルオープンピッカーに応答する

検索コントラクト

  • 検索コントラクトで検索に応答する
  • COLUMN SearchBoxコントロールと検索コントラクト

設定コントラクト

  • 設定コントラクトを利用する
  • COLUMN 設定コントラクト
  • 設定ペインを表示する

共有ソースコントラクト

  • テキストを共有する
  • HTMLを共有する
  • URIを共有する
  • 共有の失敗メッセージを表示する
  • ビットマップイメージを共有する
  • COLUMN カスタムデータの共有
  • ファイルを共有する

共有ターゲットコントラクト

  • ターゲットコントラクトを利用する
  • テキストを共有する
  • HTMLを共有する
  • ビットマップイメージを共有する
  • ファイルを共有する
  • COLUMN 設定画面について
  • COLUMN コントラクトのメリット

Chapter 6 ユーティリティ機能

  • 概要
    • Windows.ApplicationModel.DataTransfer
    • Windows.ApplicationModel.Resources
    • Windows.Data.Html,Json,XML
    • Windows.Globalization,DateTimeFormatter
    • Windows.Graphics.Imaging,Display
    • Windows.System.Launcher,UserProfile
    • Windows.System.Web

クリップボード

  • クリップボードの内容を取得する
  • クリップボードにデータを設定する
  • クリップボードの変更を監視する

リソース

  • リソースを利用する(多言語化)
  • 言語を指定してリソースを取得する

JSON

  • JSON形式のデータをシリアル化/逆シリアル化する
  • JavaScriptオブジェクトを作成する
  • JSONオブジェクトを操作する

HTML/XML

  • HTMLをテキストに変換する
  • XMLファイルを読み込む
  • XMLの要素/属性を作成する
  • XML要素の情報を取得する
  • 属性を取得する
  • XPathクエリを利用する
  • XMLをファイルに保存する

カレンダー

  • 日時情報を取得する
  • 別形式で年を取得する
  • 別形式で月を取得する
  • 別形式で日を取得する
  • 別形式で曜日を取得する
  • 元号を取得する
  • 別形式で時/分/秒を取得する
  • 日付を加算/減算する
  • 日付/通貨の書式化
  • 日付/時刻の書式を指定する
  • 日付/時刻の書式を詳細に指定する
  • 通貨単位の書式を指定する
  • 数値/パーセントの書式を指定する

グラフィックス

  • 画像のデータを読み取る
  • ディスプレイの情報を取得する
  • ディスプレイの方向変更を取得する

ランチャー

  • ファイルに関連づいたアプリを起動する
  • URIに関連づいたアプリを起動する

ユーザー

  • ユーザーアカウント情報を取得する
  • ユーザーアカウントの画像取得する
  • ユーザーのグローバリゼーション情報を取得する

RSS

  • フィードを取得する

Chapter 7 非同期プログラミング 457

  • 概要
    • 非同期処理とは
    • 非同期処理の目的
    • async/awaitキーワード
    • 同期メソッドを非同期メソッドにする
    • 非同期メソッドの処理の流れ
    • Windowsランタイムの待機可能オブジェクト

非同期処理の作成/実行

  • 非同期処理を作成して開始する
  • 非同期処理から値を返す
  • 非同期処理の依存関係を指定する
  • 非同期処理が実行されるスレッドを限定する
  • 非同期処理を行う

非同期処理の制御

  • 非同期処理の状態を取得する
  • 入れ子の非同期処理結果を解除する
  • 非同期処理完了後の継続処理を設定する
  • 指定時間後に完了する処理を作成する
  • 非同期処理の完了を待つ
  • 複数の非同期処理すべての完了を待つ
  • 複数の非同期処理のいずれかの完了を待つ
  • 制御を返して非同期に残りの処理を行う
  • 非同期処理をキャンセルする
  • 非同期処理の進行状況を報告する
  • 非同期処理の例外を処理する

著者プロフィール

阿佐志保(あさしほ)

第2章メイン担当。
WINGSプロジェクト所属のテクニカルライター。金融系シンクタンクなどで基盤システム設計/構築業務を経験。結婚/出産を機に主婦業に専念するかたわら,生保/損保向け業務システムのコンサルティングに携わっている。また,横浜の専門学校でJavaやアルゴリズムの講師も行っている。


森島政人(もりしままさひと)

第2章一部,第5,第6章担当
WINGSプロジェクト所属のテクニカルライター。静岡県在住のソフトウェア技術者。現在は,株式会社pnopのCDOとして,Windows Azureを中心としたパブリッククラウドのコンサルティング業務やストアアプリの開発に関わる。
主な著書:Windows Azure Platform 開発入門(日経BP社,共著)


飯島聡(いいじまさとし)

第4,第7章担当。
WINGSプロジェクト所属のテクニカルライター。東京都立大学大学院理学研究科修士課程修了。2003年より,ソフトハウスにて自社製品パッケージ製品のMicrosoft Visioアドインソフトの開発に携わる。現在はあるプロジェクトの共通チームで,VBAによる内部ツール開発,Javaによる内部Webシステムの構築,プロジェクト情報の収集作業などに従事。
主な著書:C#ポケットリファレンス(技術評論社,共著),はじめてのVisual Studio 2012(秀和システム,共著)


土井毅(どいつよし)

第1,第3章担当。
WINGSプロジェクト所属のテクニカルライター。@IT(ITMedia),CodeZine(翔泳社)などのWebメディアを中心として,.NETなどのWeb系技術についての執筆を行っている。また,携帯アプリやソーシャルアプリなど,さまざまな分野での開発案件にも携わる。
主な著書:C#ポケットリファレンス(技術評論社,共著),基本から学ぶHTML5+JavaScript iPhone/Android対応 スマートフォンアプリの作り方(ソフトバンククリエイティブ,共著)


花田善仁(はなだよしひと)

第2章一部担当。
WINGSプロジェクト所属のテクニカルライター。Web系企業で働くエンジニア。WINGSプロジェクトでは,CodeZine(翔泳社),@IT(ITMedia)などで記事の執筆を行っている。情報処理学会,Perfume公式ファンクラブP.T.A.各会員。


山田祥寛(やまだよしひろ)

監修。
千葉県鎌ヶ谷市在住のフリーライター。Microsoft MVP for ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。書籍執筆を中心に,雑誌/サイト記事,取材,講演までを手がける多忙な毎日。
主な著書:AndroidエンジニアのためのモダンJava,Ruby on Rails 3アプリケーションプログラミング,JavaScript本格入門(以上,技術評論社),独習(サーバサイドJava・PHP・ASP.NET)シリーズ(翔泳社),はじめてのAndroidアプリ開発(秀和システム),書き込み式SQLのドリル(日経BP社)など