libro
www.tuyano.com
初心者のためのWindows Phoneプログラミング入門

プロジェクトの中身を調べよう (6/6)

作成:2011-08-29 08:59
更新:2011-08-29 08:59

■マニフェストファイルについて

最後になりますが、マニフェストファイル関係についても見ておきましょう。プロジェクトには、マニフェストファイルのXMLファイルとして「AppManifest.xml」「WMAppManifest.xml」というものが用意されています。それぞれのソースコードを下のリスト欄に掲載しておきます。

AppManifest.xmlでは、デプロイメントに関する記述が<Deployment>というルートタグ内に用意されています。またWMAppManifest.xmlでも<Deployment>というルートタグが用意されています。こちらのほうに、細かい記述がされていることがわかりますね。

これらの記述も、プログラマが直接編集することは当分ないでしょう。<App>タグの属性として用意されているアプリのタイトルやDescriptionなどの情報、<IconPath>のアイコンデータの設定などが、そのうち設定することになるかも知れません。またいくつものページクラスを作成するようになると、<Tasks>内の<DefaultTask>に記述されているデフォルトタスクのページクラスを書き換える場合もあるでしょう。が、せいぜいそれぐらいです。

――とりあえず、これでプロジェクトに用意されているソースコード関係をざっと見てみました。Windows Phoneプロジェクトのソースコードで困るのは「見えないコードがけっこうある」という部分でしょう。

まず、MainPageAppcsファイルが、最初の内は気づかないようxamlファイルを展開した内部にあります。またこれらのパーシャルファイルは存在すらわからないようになっています。もちろん、「これらはわからなくてもいい、逆に中を見て書き換えられたりしてはかなわない」ということなのでしょうが、こうした「一部のコードの隠蔽」により、全体の見通しが悪くなっている感は否めません。Windows Phoneのコーディングをする場合、見慣れないメソッドやフィールドなどは「スーパークラスにあるか?」だけでなく、「隠された、まだ見ていないところにあるのではないか?」ということも頭に入れておくとよいでしょう。

さて、これでサンプルに作ったプロジェクトの中身も一通りわかってきました。次回から実際にプロジェクトを編集して、プログラムの作成を行ってみることにしましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

・AppManifest.xml

<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
		xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
	<Deployment.Parts>
	</Deployment.Parts>
</Deployment>


・WMAppManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1">
	<App xmlns="" ProductID="{7e00622a-cf27-4869-80ac-d44b4d8d7230}"
			Title="PhoneApp1" RuntimeType="Silverlight" Version="1.0.0.0"
			Genre="apps.normal"  Author="PhoneApp1 author"
			Description="Sample description" Publisher="PhoneApp1">
	<IconPath IsRelative="true" IsResource="false">
			ApplicationIcon.jpg</IconPath>
	<Capabilities>
	  <Capability Name="ID_CAP_GAMERSERVICES"/>
	  <Capability Name="ID_CAP_IDENTITY_DEVICE"/>
	  <Capability Name="ID_CAP_IDENTITY_USER"/>
	  <Capability Name="ID_CAP_LOCATION"/>
	  <Capability Name="ID_CAP_MEDIALIB"/>
	  <Capability Name="ID_CAP_MICROPHONE"/>
	  <Capability Name="ID_CAP_NETWORKING"/>
	  <Capability Name="ID_CAP_PHONEDIALER"/>
	  <Capability Name="ID_CAP_PUSH_NOTIFICATION"/>
	  <Capability Name="ID_CAP_SENSORS"/>
	  <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
	  <Capability Name="ID_CAP_ISV_CAMERA"/>
	  <Capability Name="ID_CAP_CONTACTS"/>
	  <Capability Name="ID_CAP_APPOINTMENTS"/>
	</Capabilities>
	<Tasks>
	  <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/>
	</Tasks>
	<Tokens>
	  <PrimaryToken TokenID="PhoneApp1Token" TaskName="_default">
		<TemplateType5>
		  <BackgroundImageURI IsRelative="true" IsResource="false">
					Background.jpg</BackgroundImageURI>
		  <Count>0</Count>
		  <Title>PhoneApp1</Title>
		</TemplateType5>
	  </PrimaryToken>
	</Tokens>
  </App>
</Deployment>
※関連コンテンツ

「初心者のためのWindows Phoneプログラミング入門」に戻る