tag:blogger.com,1999:blog-82687759654405163512024-03-19T20:50:02.292+09:00新UMAとかのあとにおとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.comBlogger500125tag:blogger.com,1999:blog-8268775965440516351.post-12997299725276518432013-07-21T09:37:00.001+09:002013-07-22T23:55:36.773+09:00LLS-201買ったSONYのパーソナルコンテンツステーションLLS-201なるものを買いました<br />
これは発表当時から気になっていた製品で、NFCとWiFiに対応したメディアストレージの様な物です。<br />
<ol>
<li>取り込む</li>
<li>見る</li>
<li>ネット利用</li>
</ol>
とWiFiとスマートフォンを活用して利用することができます。<br />
購入した理由は、<br />
<ol>
<li>嫁さんがMAC+iPhone、自分がWindows8+WindowsPhone(Androidも)を使っているので、写真がそれぞれの環境にバラバラに保存されているので一元化したい。</li>
<li>MACでデジカメ写真取り込みに問題が起きやすい、動画の取り込みができない</li>
<li>WiFi内蔵のデジカメを持っている、しかもSONY製品だから、きっと親和性が高いに違いない。(TransJetはどうなった?)</li>
<li>これは売れなそう、普通の人は見向きもしないというか、気が付かないと思う。こんな製品を企画して発売する心意気を買った。</li>
</ol>
ですが、ちょっと思っていたのと使い勝手が違いました<br />
予想と違ったというか不満な点<br />
<ol>
<li>ワンタッチでは取り込めない。この製品の売り文句としてワンタッチで取り込みというのがありますが、ワンタッチ取り込みができるのはNFCに対応したスマートフォンだけでした。まぁ分かっていたことですがNFC対応のスマートフォンを持っていなかったので…それにしてもSDカードを直接挿しても自動で取り込んでくれないのは一寸残念。いちいち取り込み操作をスマホからしなければならない。ちなみにNFC対応では無いおサイフケータイを乗せると、LLS-201の製品ページへのリンクが開きます。そこまで出来るのに取り込み操作の簡略には使えないのが残念</li>
<li>スマートフォンで本体を操作して、TVにつないで写真を見ることができる。でも、スマホの操作レスポンスが悪すぎて、使う気がしない。写真一枚見るのに数秒待たなければいけない。</li>
<li>ネット利用はスマホ経由でないと出来ない。クラウドサービスに自動的に転送したりしてくれるわけでは無い。</li>
<li>電源ボタンの位置がわかりにくい、しばらく使用しないと勝手に電源が切れるのですが、再度利用しようと思ったときに電源ボタンの位置がわからず、持ち上げて本体側面を見ないと見つけられません。そのたびに何だかな〜と思います</li>
<li>ファンの音が結構うるさい。隣の家で掃除機かけてるような音がする。電源が自動的に切れるのも不満だけど、切れないとうるさくて気になる。スタンバイ中ファンは止まっているけどWiFiは生きてる、だと良かったのに</li>
</ol>
とにかく、スマホが無いと何も出来ないのに、操作のレスポンスが悪くてストレスがたまります。もうちょい何とか出来なかったのかな…と思います。うちの嫁さんに使えるとはとても思えませんでした。デジカメとか携帯をつなげるとボタン一つで全部転送してくれるような簡単操作でないとダメだと思います。<br />
<br />
ところで、SONY製のWiFi搭載デジカメですが、いざ繋ごうと思ったら、デジカメ行方不明でどこにあるか分からないと言われてしまった。<br />
<br />
というわけで今のところ、まったく役に立っていません<br />
<br />
<br />
<br />
<br />
<ol>
</ol>
<br />
<ol>
</ol>
おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-54734159534306975912013-07-13T19:32:00.000+09:002013-07-13T19:32:10.577+09:00SurfaceRT買いました先週の事ですが、Surface RT 買いました。<br />
1万円引きキャンペーンが終わる前に買っておこうと思って慌てて買ったのですが、1万円引きは継続するようです。<br />
<br />
買ったのは32GBモデルとタイプカバーです。<br />
タッチカバーセットのほうが若干安めだったのですが、やっぱりタッチカバーはキーボード打った感じがしなくてタイプカバーのほうが使いやすそうだったのでタイプカバーにしました<br />
<br />
タッチカバーとタイプカバーは重さも値段もさほど変わらないのでタイプカバーにしてよかった<br />
と思います。キーストロークが浅めですが割と普通に使えます(この文章もタイプカバーで入力しています)<br />
<br />
一週間ほど使っていますが(家の中で)概ね満足です、インターネットするぐらいならノートPCと変わらないです。電源入れてすぐに使えるので2年前のVAIOより手軽に使えてよい感じです。<br />
<br />
ただし、対応アプリは全然足りない。Surface買ったらkindleいらなくなるかな?と思ったのですが、そもそもRTではKindleアプリがありませんでした。<br />
Sonyの電子書籍Readerもありませんでした。あるのは青空文庫とPDFリーダぐらいでしょう。<br />
<br />
不満があるとすればそこのところだけです。お金出してでもメジャーどころのアプリは取り揃えてほしいなぁーと思います<br />
<br />
メモリは32Gですが、アプリも全然入れてないので今のところは足りています。<br />
おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-17181267767221612592013-01-06T00:04:00.000+09:002013-01-06T00:04:56.738+09:00あけましておめでとうございますあけましておめでとうございます 2013年<br />
<br />
2012年を振り返ると<br />
<br />
ブログ記事7本<br />
WindowsPhone7アプリ6本<br />
Twitter,facebook呟きも殆どなし...<br />
<br />
でした<br />
<br />
<br />
2012年の目標は確かアプリを月1本申請するぞ!でしたが<br />
実際は1年間で申請したアプリは下記の6本でした。<br />
<div>
<br /></div>
<a href="http://www.windowsphone.com/ja-jp/store/app/messa_tw/f10f7570-bd84-4fc6-8741-9e783b8efa86" target="_blank">messa_tw</a><br />
<a href="http://www.windowsphone.com/ja-jp/store/app/ponca/106de6d4-a5ea-4a8a-b140-3f5f8a23d899" target="_blank">ponca</a><br />
<a href="http://www.windowsphone.com/ja-jp/store/app/couponcamera/d2636ffc-5d74-44a6-bd45-ffd0130a3a70" target="_blank">CouponCamera</a><br />
<a href="http://www.windowsphone.com/ja-jp/store/app/fourtaku/73c72dd5-4757-4490-95f1-175b2f86b8d8" target="_blank">fourtaku</a><br />
<a href="http://www.windowsphone.com/ja-jp/store/app/dialtimer/40d80e28-acec-4527-a41e-8afc6483cb01" target="_blank">DialTimer</a><br />
<a href="http://www.windowsphone.com/ja-jp/store/app/atelierlune/ee6f3720-db7b-4e37-aeb7-4a16a2835163" target="_blank">AtelierLune</a><br />
<br />
内3本はトライアスロン、1本は芸術の秋コンテスト、1本はGrapeCityのキャンペーンで作ったアプリでした。何の締切もなく作ったアプリはmessa_twの一本だけという。<br />
締切が無いと動き出せなくなってしまった感じです。<br />
<br />
去年は勉強会に参加してみたりして、情報発信できる側になりたいなと思ったのですが、実際は追いかけるのがやっとこさで、そういう所までは届かなかったです。日曜プログラマーだし、しょうがないかな?とも思いますが。<br />
<br />
あと、勉強会に行って、ふと気が付いたのが、まだ若いと思っていた自分がかなりオッサン後期になっていると。自分以外の皆が、すごく若い、なんかもう輝いて見える。<br />
感覚的には2世代ぐらいの格差がある気がする。育った環境が全然違うのねーと話を聞いてて思うことが結構ある。<br />
<br />
<br />
<br />
さて、2013年は激しく揺れ動く年になる予感がしています。本業ではひと波乱ありそうな気がしている(根拠はないですが)ので、趣味の世界にパワーを持っていくのが難しいかもしれません。<br />
<br />
目標は立てずに、アプリ2本ぐらいは作れたらいいなぁと思っています。<br />
<br />
そんなわけで、<br />
<br />
今年は、<br />
<br />
焦らずに、じっくりと腰を据えて何事にも取り組む<br />
<br />
事を目標と言えるかわかりませんが、目標とします<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-86582874809005964672012-09-18T23:55:00.000+09:002012-09-18T23:55:09.604+09:00WindowsPhone7 アプリで効果音を出す方法タイマーアプリで効果音を出す必要があって、結構悩んだのでメモしておきます<br />
<br />
まず参考にしたページ<br />
<br />
<a href="http://uchukamen.wordpress.com/2012/03/25/windows-phone-7-%E3%81%A7%E5%8A%B9%E6%9E%9C%E9%9F%B3%E3%82%92%E9%B3%B4%E3%82%89%E3%81%99/" target="_blank">Windows Phone 7 で効果音を鳴らす c#研究室</a>
<br />
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
PlaySoundAction ビヘイビア を使う</div>
<div>
一番簡単な方法だと思う、ただし短時間に連続してイベントを起こすと、なんか?詰まってならなくなる。一旦音が鳴らなくなるとアプリを起動しなおさないと音は復帰しない</div>
<div>
ダイアル操作時のクリック音をカリカリ鳴らすのには使えない</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
MediaElement を使う</div>
<div>
アプリの画面上のどこかにMediaElementを配置する。基本、配置していないとだめ、コードからMediaElementを実行時に生成しても音は鳴らない</div>
<div>
Sourceの指定は割と処理が重いみたい、短時間に連続して鳴らす事ができない。そのうち鳴らなくなる。Source指定しないで同じ音を Play するだけなら連続して鳴らす事が出来る。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
MediaElementで何とかなると思いましたが、問題発覚。</div>
<div>
PlaySoundActionやMediaElementでPlayするとバックグラウンドで再背中の音楽プレイヤーが止まる。</div>
<div>
<br /></div>
<div>
確かバックグランドMusicに影響を与えてはいけないような (下記リンク6.5のあたり)</div>
<div>
<br /></div>
<div>
<a href="http://msdn.microsoft.com/en-us/library/hh184838(v=VS.92).aspx" target="_blank">Additional Requirements for Specific Application Types MSDN</a></div>
<div>
<br /></div>
<div>
<br />
<br />
じゃあ裏で音楽再生中なら効果音ださない様にすれば良いんじゃない?</div>
<div>
<br /></div>
<div>
<div>
<a href="http://blogs.msdn.com/b/oren/archive/2010/12/02/wp7-silverlight-gotcha-setting-the-source-on-a-mediaelement-will-stop-background-music-playback.aspx">http://blogs.msdn.com/b/oren/archive/2010/12/02/wp7-silverlight-gotcha-setting-the-source-on-a-mediaelement-will-stop-background-music-playback.aspx</a></div>
<div>
<br /></div>
<div>
<a href="http://blogs.msdn.com/b/oren/archive/2010/12/02/wp7-dev-tip-detecting-whether-or-not-the-user-is-playing-music-in-the-background.aspx">http://blogs.msdn.com/b/oren/archive/2010/12/02/wp7-dev-tip-detecting-whether-or-not-the-user-is-playing-music-in-the-background.aspx</a></div>
<div>
<br /></div>
上記リンクのMicrosoft.Xna.Framework.Media.MediaPlayer.GameHasControlで音楽再生中を判定できる。</div>
<div>
<br />
ただし Xna を利用すると、そのうち例外が起きます</div>
<div>
<br /></div>
<div>
<a href="http://techblog.hilife-jp.info/2011/12/windows-phone-7-silverlight-xna/" target="_blank">Windows Phone 7 の Silverlight アプリケーションで XNA を使う場合の注意点 銀の光と碧い空</a></div>
<div>
<br /></div>
<div>
dispatcherのupdateを定期的にする必要があるらしい。</div>
<div>
<br /></div>
<div>
リンク先を参考にupdate処理を追加する</div>
<div>
<br />
<br />
<br /></div>
<div>
とりあえず例外で落ちる問題は解決、でも、</div>
<div>
どうせXna使うならSoundEffect を使えば、裏で再生中の音楽を止めずに効果音の再生が出来る?</div>
<div>
<br /></div>
<div>
<a href="http://www.hageatama.org/wp/523" target="_blank">WindowsPhoneに内部リソースの音声ファイルを再生しよう! はげあたま.org</a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
se = Microsoft.Xna.Framework.Audio.SoundEffect.FromStream(Microsoft.Xna.Framework.TitleContainer.OpenStream("click.wav"));</div>
<div>
<br /></div>
<div>
こんな感じでSoundEffectクラスを生成して、Play出来る。音楽再生にも影響なし。すばらしい。</div>
<div>
ただし、wmaやmp3は再生できないので長めの効果音にはむいていない</div>
<div>
<br /></div>
<div>
<br />
Microsoft.Xna.Framework.Media.Song<br />
<br />
</div>
<div>
を使えばwmaでも再生できるけど、MediaElement使った方がいいかな?<br />
<br />
<br />
<br />
結局、タイマーの操作時の効果音はSoundEffectを使って、長いアラーム音はMediaElementを使うことにしました。<br />
<br />
<br />
<br />
<br />
<br />
あとは、何故かTrophyだとSoundEffectが鳴ったり鳴らなかったりする問題が残ってます<br />
<br />
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-53830463723743046292012-09-16T23:28:00.002+09:002012-09-16T23:28:19.757+09:00Windows Phone アプリケーション トライアスロン 参加現在開催中の <a href="http://msdn.microsoft.com/ja-jp/jj590863.aspx" target="_blank">Windows Phone アプリケーション トライアスロン</a> に参加すべくアプリを3本開発しました<br />
<br />
<br />
アプリケーショントライアスロンとはナンゾ?というと詳しくはリンクを見てもらって、簡単にいうと、3つのお題に沿ったアプリを指定期間内に公開してコンテストに応募しよう!って内容です<br />
<br />
<br />
3つのお題と作ったアプリ<br />
<br />
<h4>
[第1種目] 写真加工アプリケーション</h4>
<br />
<ul>
<li>写真を撮影、もしくは読み込む機能を有する</li>
<li>取り込んだ写真に何らかの加工を施す機能を有する</li>
<li>取り込んだ写真を加工し Picture Hub に保存する機能を有する</li>
</ul>
上記3つの条件を全て満たす必要があります<div>
<br /></div>
<div>
公開したアプリ</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.windowsphone.com/ja-jp/store/app/couponcamera/d2636ffc-5d74-44a6-bd45-ffd0130a3a70" style="text-align: start;" target="_blank">CouponCamera</a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghp_9GeTggXJHIH1TvrkmwJq0BFdlwczpAgZTCJQ-MQieYCh2WpQiDaILvL78Ubg22hdTpsu9tv9up8a81jAazU1Jmi65qyXpMa6RzDeQ6EHw309nxmW6bydBcTTVWJmvoHisecWwjmy4/s1600/Background.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghp_9GeTggXJHIH1TvrkmwJq0BFdlwczpAgZTCJQ-MQieYCh2WpQiDaILvL78Ubg22hdTpsu9tv9up8a81jAazU1Jmi65qyXpMa6RzDeQ6EHw309nxmW6bydBcTTVWJmvoHisecWwjmy4/s1600/Background.png" /></a></div>
<div>
<br />お店のタイムセールとか特売情報をスマホで写真を撮ってクーポン画像として簡単に作成してTwitterやFaceBookに情報発信するという内容です。</div>
<div>
<br /></div>
<div>
<div>
もともとは、近所のケーキ屋さんに使ってもらいたくてアイデアとして考えていた事をアプリにしてみました。</div>
</div>
<div>
”今日はショートケーキを売り切りたいから20%オフにします。”みたいな情報がFacebookとかで見れたら会社帰りに買って帰ったりとかできるのにね。って発想です</div>
<div>
<br /></div>
<div>
本来この様な事はソーシャルネットワークを使えば、大手広告代理店主導で無くても出来る事じゃないかなと思います</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<h4>
[第2種目] タイトルを更新するアプリケーション</h4>
</div>
<ul>
<li>アプリケーション自身のタイルの内容を変更する機能を有する</li>
<li>セカンダリ タイルを追加作成する機能を有する</li>
<li>スケジュール機能を使ってタイルの内容が更新される機能を有する</li>
</ul>
<div>
上記のどれか一つを満たす必要があります</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
公開したアプリ</div>
<div>
<br /></div>
<div style="text-align: center;">
<a href="http://www.windowsphone.com/ja-jp/store/app/fourtaku/73c72dd5-4757-4490-95f1-175b2f86b8d8" target="_blank">fourtaku</a></div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_gkIJR8h_xRH7VluKnRtHu6NECO7nrnqRnajB20cWSo0aif8n6KyyM0Ll58ww63Zf-Hf4ZVa93n4g2_0UAh2INtd-z_ItJCIz0ZnN7CXOhyphenhyphenuUnopZ8_mmkt1TJbA7T56fjgO5uc7pkwg/s1600/fourtaku.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_gkIJR8h_xRH7VluKnRtHu6NECO7nrnqRnajB20cWSo0aif8n6KyyM0Ll58ww63Zf-Hf4ZVa93n4g2_0UAh2INtd-z_ItJCIz0ZnN7CXOhyphenhyphenuUnopZ8_mmkt1TJbA7T56fjgO5uc7pkwg/s200/fourtaku.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
スタート画面にならんだタイル4枚に4択クイズが書いてあって、タイルを選択して回答するクイズアプリです。</div>
<div>
<br /></div>
<div>
Wp7のタイルの使い方として面白いアイデアじゃないかな?と思って作りました</div>
<div>
表に問題、裏に選択肢が書いてあるので、"タイル裏がえるのマダー"って待つ必要があり、UIの操作の流れをワザと乱す感じが面白いです</div>
<div>
<br /></div>
<div>
アプリ自体は単純なのですが、問題を作るのに結構時間が掛かって疲れました。クイズ研のオンラインクイズとリンクできたら面白いのですが、今回は頑張って子供の参考書を片手に歴史問題を作りました。</div>
<div>
<br /></div>
<div>
歴史は4択クイズとしては作りやすいだろうと思いましたが、間違った答えを考えるのにかなり苦労しました</div>
<div>
<br /></div>
<div>
プログラム的にはタイルを配置する時に、一度におけるタイルが一枚だけという事にアプリ製作の終盤に気が付いて困りましたが、なんとか誤魔化しながら4枚タイルを並べることに成功しました</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
その他、タイルを書き換えた後にアプリを終了する必要があるのですが、MSのエバンジェリストの<a href="http://blogs.msdn.com/b/shintak/archive/2011/07/16/10187146.aspx" target="_blank">高橋さんが紹介していた</a>内部で例外をわざと起こして終了する方法を採用しました</div>
<div>
<br /></div>
<div>
ただ、公開後のクラッシュレポートがやたら多いのが、これが原因なのか?ちょっと怖いです</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
アプリ中に出てくるキャラクターは嫁さんに描いてもらいました、ツキネコです</div>
<div>
<br /></div>
<div>
<div>
<h4>
[第3種目] 回る・回すアプリケーション</h4>
</div>
</div>
<ul>
<li>画面上で何かが回る、反転する</li>
<li>デバイスを回したり、返したりして何か操作する</li>
<li>画面上を指で回して何か操作する</li>
</ul>
<div>
<div>
上記のどれか一つを満たす必要があります</div>
</div>
<div>
<br /></div>
<div>
現在申請中でまだ公開されていません</div>
<div>
<br /></div>
<div style="text-align: center;">
DialTimer</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTHOfs16J9Ow6e1V1fgRMZ5s0HiPjF5hfh4ghFH0xW8p0JZ6H9weUyTUxdrkNZcjzisR13blKYHCbfj83FyMD_VBb6cyMHXrLzwH3kD2AR4PI52u6LFSowMUweD3GptbgoESjSmDGOhQM/s1600/DialTimer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTHOfs16J9Ow6e1V1fgRMZ5s0HiPjF5hfh4ghFH0xW8p0JZ6H9weUyTUxdrkNZcjzisR13blKYHCbfj83FyMD_VBb6cyMHXrLzwH3kD2AR4PI52u6LFSowMUweD3GptbgoESjSmDGOhQM/s200/DialTimer.png" width="200" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
ダイアルをクリクリっと回して時間設定するタイマーです。キッチンタイマー的な感じです。</div>
<div>
アイデアは........まぁ平凡かな.........クリクリ回す操作感に拘ってみることにしました</div>
<div>
<br /></div>
<div>
キッチンタイマーアプリは既存のものが結構ありますが、ダイアル式は無いかなと思いました。直観的な操作と視覚的なイメージで時間経過を感じられると思います</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
ほぼ全ての動作をダイアル操作でできます。ダイアルを回すとカリカリとクリック音が鳴るのが気持ちいいのですが、プログラムは結構苦労しました。いまだに解決していない問題もあります</div>
<div>
(IS12Tではちゃんと鳴るのに、Trophyでは稀にしか鳴りません、謎です。)</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Silverlightでの音声再生は扱いが難しくて、そのままではマーケットに申請できるアプリがつくれない様に思います。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
プログラム的には殆どビヘイビアで処理してます、BlendでUIデザインを考える時間が一番長かった。Blend最高。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
タッチ操作の角度の求め方とか、効果音の再生の仕方とか纏めた記事を書こうかなと思ってます。(当たり前すぎていらない?)</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-79018536967753186802012-09-16T22:14:00.002+09:002012-09-16T22:14:31.781+09:00Ponca久しぶりのブログ更新です。<br />
<br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;">ComponentOne Studio for Windows Phone無償利用プログラム を利用して作ったWindowsPhone7アプリを先月末に公開しました.</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;"><br /></span>
<br />
Wp7アプリとしては5本目の公開になります<br />
<br class="Apple-interchange-newline" /><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;">Ponca </span><br />
<a href="http://www.windowsphone.com/ja-jp/store/app/ponca/106de6d4-a5ea-4a8a-b140-3f5f8a23d899">http://www.windowsphone.com/ja-jp/store/app/ponca/106de6d4-a5ea-4a8a-b140-3f5f8a23d899</a>
<br />
<br />
です。<br />
アプリ名は Ponca ポイントカードをWindowsPhone7で管理しちゃおうと言う趣旨のアプリです。アメリカの先住民族とは何の関係もありません。<m m="m"></m><br />
<br />
これで財布がポイントカードでパツンパツンにならなくても済むぞ!と息巻いて作りましたが、実際にお店でアプリ画面を提示する勇気はまだありません。<br />
うまくすれば、携帯画面からバーコードを読み取ってもらえるかもしれません。<br />
<br />
ナイスアイデアで売れるかも?と思いましたが、既に同じようなアプリは海外製であるようです。しかも無料!<br />
<br />
<br />
<br />
<h3>
メイン画面</h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61sEortanaJgUHeUPD9bfIbR5xns0sjKWTq4cB1Z51TEgshUBxBUvbSI8AsbIQGNFPHFZDOhMS4Es3Qb9Wxvn9AqZ45Gh4KKrxX_13f7ddDoUVVTvwCzzE1RaD9xWpY0HTFxPc4tlMDg/s1600/Ponca1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61sEortanaJgUHeUPD9bfIbR5xns0sjKWTq4cB1Z51TEgshUBxBUvbSI8AsbIQGNFPHFZDOhMS4Es3Qb9Wxvn9AqZ45Gh4KKrxX_13f7ddDoUVVTvwCzzE1RaD9xWpY0HTFxPc4tlMDg/s320/Ponca1.png" width="192" /></a></div>
<br />
アプリに登録したカードを一覧で表示します。この一覧表示に<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;">ComponentOne StudioのWrapPanelを使っています。WrapPanelはComponentOneに同梱されているライブラリと比べると地味ですが、Wp7に標準でついてても良いと思うぐらいの機能です。</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 14px;">ただで使わせてもらえて超ラッキーです。去年ポストイットみたいなアプリのStickyItを作った時に使えたらもっと楽にアプリが作れたと思います。</span><br />
<br />
<h3>
カード登録画面</h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwDKSGLiVij4Qmxe7xYv41fc0yT9LXYTegQ1XefuyfLIBQ_YkLALeZPu_niKc4CnsjigsBfiWdnM89t4008DtzyB_xz1IfVPICjMB0puKjHXG1A-ebWuwb2BGJkurUO0IQtH_vbdl1l3o/s1600/Ponca2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwDKSGLiVij4Qmxe7xYv41fc0yT9LXYTegQ1XefuyfLIBQ_YkLALeZPu_niKc4CnsjigsBfiWdnM89t4008DtzyB_xz1IfVPICjMB0puKjHXG1A-ebWuwb2BGJkurUO0IQtH_vbdl1l3o/s320/Ponca2.png" width="192" /></a></div>
登録できるポイントカード情報は<br />
<br />
<ol>
<li>カードの表面の写真</li>
<li>カードの裏面の写真</li>
<li>バーコード</li>
</ol>
<br />
です。バーコードさえキッチリと読み取れれば裏面の写真なんて不要でしょう。ただ世の中には読み取れないバーコードというものが結構あります<br />
<br />
おまけで QRコードも読めます<br />
<br />
<br />
<h3>
カード情報画面</h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2i9dENvHhWRp5fHRK-FSaeSy9O6E5GmT2732ZPqKpi55k_El-One2EP2ZtMQ1QpfKYh_MyGYAqdpcjM93ghxqwphI2KatVFKEpdNaKT1ViZcoVqu504xvRKCJa5xbPJrYj6tUEsWdQFM/s1600/Ponca5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2i9dENvHhWRp5fHRK-FSaeSy9O6E5GmT2732ZPqKpi55k_El-One2EP2ZtMQ1QpfKYh_MyGYAqdpcjM93ghxqwphI2KatVFKEpdNaKT1ViZcoVqu504xvRKCJa5xbPJrYj6tUEsWdQFM/s320/Ponca5.png" width="192" /></a></div>
<br />
お店でカードありますか?って聞かれたら、この画面を見せます。<br />
<br />
<br />
思うにポイントカードのバーコードって簡単に読み取れるのに、現金に準ずるような扱いもできたりして結構大事な個人情報じゃないかな?<br />
だから扱いには慎重にすべきだと思います。<br />
<br />
ちなみに、この写真の番号は出鱈目です<br />
<br />
<br />
<br />
<br />
<br />
<br />
バーコードの読み取りと表示には Zxing barcode Scanning Library を使用しました<br />
<br />
<br />
<br />
<br />
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-12414265292920392432012-03-22T00:21:00.000+09:002012-03-22T00:21:53.893+09:00子供用にWindowsPhoneを購入中2の息子用にWindowsPhoneを買いました。<br />
ガラケーの方が良いんじゃないか?とか色々考えたのですが、スマートフォンを選ぶことにしました。<br />
さてスマホにするといっても iPhonr,Andoroid,WindowsPhone とどれにするか?<br />
Androidは子供に持たせるにはちょっと不安を感じるし、iPhoneはゲームとか遊べ過ぎてあんまり持たせたくない(親の立場からすると、もっと勉強しろと言いたい)のでWindowsPhone7 Is12Tを買うことにしました。<br />
実はお父さんの趣味が一番影響が大きいですが、WindowsPhone7って中学生ぐらいに持たせるには、自由過ぎなさが結構良いのでは?と思いました。<br />
AndroidにしてもiPhoneにしても子供に勝手にいろいろされそうですが、Wp7はどうでしょ?アプリも少ないし、まわりに使っている仲間もまずいないだろうしと普段ならマイナス要素が逆にプラスになるような気がしました<br />
<br />
<br />
購入して早速、子供用にアカウントを取ってzuneに接続しようとしたところ、保護者による設定をしろとの画面が!良いですね!配慮されてる。<br />
Xboxも保護者による管理とかが出来るのかな<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXmzehRjozEuxlfE8i8sZwvpNYJA0Af_iXLApah_Ysu7ujTvNCxNDl4OI0XAuVnA9bIiaLj6KyOBF4nmSPXRFSwxthXJrd-UUVGllGHRfrOQMa-RzWj6Z0n_oRGdU2SXq3UrQCCdKEm74/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220027.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXmzehRjozEuxlfE8i8sZwvpNYJA0Af_iXLApah_Ysu7ujTvNCxNDl4OI0XAuVnA9bIiaLj6KyOBF4nmSPXRFSwxthXJrd-UUVGllGHRfrOQMa-RzWj6Z0n_oRGdU2SXq3UrQCCdKEm74/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220027.jpg" width="640" /></a></div>
<br />
親としては子供にはまだまだ目を光らせておきたい。<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJQz4LPqDMPsdrw2-wmUxXsZM6jvCd-m78uvcvg_QcDHdcNFWmh4McjY1bdTqGXaH4_dHsD4K9FzGxB85G3Goo7DXWk-ldYG8gLor7N5CBe7FpeA2CSClD8us0OVfn_GK19BNEidVktMs/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220038.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJQz4LPqDMPsdrw2-wmUxXsZM6jvCd-m78uvcvg_QcDHdcNFWmh4McjY1bdTqGXaH4_dHsD4K9FzGxB85G3Goo7DXWk-ldYG8gLor7N5CBe7FpeA2CSClD8us0OVfn_GK19BNEidVktMs/s400/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220038.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">保護者のLiveIDを入力</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJwcHwxwGqB4T76cCDOK_kgs0rewZl36X20VyvgRx7nWxFq1Xra2uOp4OBw9qDyM-yTdE9SBfmJ2FdeZuyPv36FSchxabvJkwDELQxyXNVVsjoJdwOmp8YU_G161vbcObgbDBHrCu9F1U/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220136.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" height="333" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJwcHwxwGqB4T76cCDOK_kgs0rewZl36X20VyvgRx7nWxFq1Xra2uOp4OBw9qDyM-yTdE9SBfmJ2FdeZuyPv36FSchxabvJkwDELQxyXNVVsjoJdwOmp8YU_G161vbcObgbDBHrCu9F1U/s400/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220136.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">保護者の連絡先を入力</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ8hjTJQIFK5E7IuO2Al7D2LWOSxPRBFtvA50srHRJ53f_lxujTBPejgEF6eUd5Obj5G_rr9wQx5Zve8Y8XW54YYoiToWO5UqgPshaXhjQskxIzl7XuyKJW75u67LaIB5aMcQMhhyphenhyphen6h7U/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220222.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ8hjTJQIFK5E7IuO2Al7D2LWOSxPRBFtvA50srHRJ53f_lxujTBPejgEF6eUd5Obj5G_rr9wQx5Zve8Y8XW54YYoiToWO5UqgPshaXhjQskxIzl7XuyKJW75u67LaIB5aMcQMhhyphenhyphen6h7U/s400/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220222.jpg" width="385" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">保護者による設定</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMdp2Y1DvrjtjT6cLGPWNxUSYMYLJeiQ_6WhxYE8VqBGicLJ036MC32J5SLBAE4NRlarRkFWk-wEzSGSGolcEw7sgusF5jmtdkWpYwe4G89cxAaYddJP9ra4PL7FPQi-vD4m8pO6B6Pts/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220344.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMdp2Y1DvrjtjT6cLGPWNxUSYMYLJeiQ_6WhxYE8VqBGicLJ036MC32J5SLBAE4NRlarRkFWk-wEzSGSGolcEw7sgusF5jmtdkWpYwe4G89cxAaYddJP9ra4PL7FPQi-vD4m8pO6B6Pts/s400/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220344.jpg" width="381" /></a></td></tr>
<tr><td class="tr-caption" style="font-size: 13px;">保護者による設定続き </td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgeeboITmRHZyYZjGAJP1q-uEf117gPXXnr56_U7XGMEoghwQroI8NQoOZc_1ltc4DcgFrQQ6TGDGkqVZKpJDJ9M0uo5jYauwoxtrPbr2oVWUaRp4l0C3bGnN7D-WKdaRyRoxesRTjOlE/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220605.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgeeboITmRHZyYZjGAJP1q-uEf117gPXXnr56_U7XGMEoghwQroI8NQoOZc_1ltc4DcgFrQQ6TGDGkqVZKpJDJ9M0uo5jYauwoxtrPbr2oVWUaRp4l0C3bGnN7D-WKdaRyRoxesRTjOlE/s400/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220605.jpg" width="377" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">保護者による設定続き</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4KNGKOwB6vlUyMc8HAjvbjhJQQOJTcf_3hJn2DQpXCPkgggOVLiiCDttzjSV-VSZTcjceEFHPsD1MEx1y9UMFoZ3emFFa4UdyIAfuEN0emRdG8JYNHj4JWtYq9UHwQUumNho8YSxKyHo/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220617.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4KNGKOwB6vlUyMc8HAjvbjhJQQOJTcf_3hJn2DQpXCPkgggOVLiiCDttzjSV-VSZTcjceEFHPsD1MEx1y9UMFoZ3emFFa4UdyIAfuEN0emRdG8JYNHj4JWtYq9UHwQUumNho8YSxKyHo/s400/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20120310+220617.jpg" width="377" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">保護者による設定続き </td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
マーケットプレースでの大人向けのゲームをブロックしたり、有料コンテンツの購入をブロックしたりと設定できます。<br />
<br />
とりあえずほぼブロック設定をしたのですが、設定後にIS12Tでマーケットプレースを覗いてみると"Girl Strip Game"とか見えてます....う~ん<br />
<br />
<br />
<br />
<br />
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com2tag:blogger.com,1999:blog-8268775965440516351.post-77590536790850441662012-02-05T11:02:00.002+09:002012-02-05T11:02:44.055+09:00ダイレクトメールだけのアプリ我が家では嫁さんがSoftbank版iphoneを使っているのに対して、僕はAUのIS12Tを使ってます。IS12Tはつい先日までsmsが送信できないというどうしようもない仕様だったので、ちょっとしたメッセージを送るのにTwitterのDirectMessageを使っていました。<br />
DMだとキャリアやOSを超えて無料で使えるし、iphoneだとほぼリアルタイムでメッセージの通知が届くのでsmsの代用としては十分つかえます。<br />
<br />
キャリアのSMSを置き換えるサービスは海外ではかなり普及しているらしい(よく知らないけど)ので、そういったサービスを使うという手もありますが、既に利用中のTwitterを使うのが手っ取り早いのでそうしてました。<br />
<br />
<br />
さて、最近ようやくIS12TでもSMSの送信が出来るようになりましたが、キャリア間のSMSは有料という問題が残るので相変わらずダイレクトメッセージを使っています<br />
IS12TでのTwitterのダイレクトメッセージの使い勝手はどうかと言うと、今一つかなと思います。<br />
WindowsPhone7ではOSレベルでTwitterやFaceBookに対応していて、ピープルhubからつぶやいたり、MessageHubからFacebookのチャットが出来たりしますが、ダイレクトメッセージは使用できません。DMするにはtwitterアプリを使いますが、ちょっとひと手間あるかんじです<br />
<br />
<br />
Twitterをあんまり活用できていない(友達少ない)僕としては、Twitterあぷりはあんまり使わないで、Peopleハブからつぶやきを見たり、開発関係のつぶやきを”ついさち”で確認したりしてます。<br />
なのでダイレクトメールだけできるアプリがあれば良いんじゃないのと思って作りました<br />
<br />
1月30日夜にAppHubにアプリの申請をしたら、2月2日の朝にはリジェクトの通知が来てました。公開地域をすべてにして申請したのですが、国別の条件にあっていないとの理由でした。<br />
どうやらTwitterが禁止されている国があるので(中国とか)公開対象から外して再申請したら2月4日の昼に審査通過のメールが来ました<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3QKt7_fBN9Ue-nEy6tTbEsUSnAJArkNLjqsJpuScZ3CMXVfZC3Cbw33AyafLALtIaIPXDF8fCv5p3ch-g03ZjVqtsVacLVQUfjYd4jX-3vYKQncMFRWfWbb2DZfDBfwt2ETe6N61uhvA/s1600/Background.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3QKt7_fBN9Ue-nEy6tTbEsUSnAJArkNLjqsJpuScZ3CMXVfZC3Cbw33AyafLALtIaIPXDF8fCv5p3ch-g03ZjVqtsVacLVQUfjYd4jX-3vYKQncMFRWfWbb2DZfDBfwt2ETe6N61uhvA/s1600/Background.png" /></a></div>
<a href="http://www.windowsphone.com/ja-JP/apps/f10f7570-bd84-4fc6-8741-9e783b8efa86">Messa_tw</a><br />
<br />
<br />
facebookのメッセージだけのアプリMessa_fbを作って、twとfbを統合してMessaハブというアプリを作ろうと計画しましたが、もう別の事に気がイっているのでMessa_twだけになるでしょう。<br />
<br />
ちょっとしたやり取りだけの用途なので、過去のメッセージをすべて管理とかはしません。受信するのは直近の20件程度のメッセージだけです<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlOy8gWMTE7M_gzwvBP8uWNvsD2mSWjW0eAG6OljazA1mWxzPKGQrHgI63bpPn6zmsJHkfYZXmDJ9Oj4QkW0ZWVhLhIP9zhDWbT5n4SKnqBrdA1xlsPJ9QXJcATT_prkCcei5YgDGVpQM/s1600/authorize.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlOy8gWMTE7M_gzwvBP8uWNvsD2mSWjW0eAG6OljazA1mWxzPKGQrHgI63bpPn6zmsJHkfYZXmDJ9Oj4QkW0ZWVhLhIP9zhDWbT5n4SKnqBrdA1xlsPJ9QXJcATT_prkCcei5YgDGVpQM/s320/authorize.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">認証画面</td></tr>
</tbody></table>
初回の起動時やログアウト後は認証ページでアプリの認証をします。Usernameとパスワードを入力して認証するとパスコードが表示されるので、テキストボックスにコードを入力してEnterボタンを押します。<br />
(パスコード入力のところは省略したいのですが、やりかたがわからなかったのです。認証の処理とかサーバーとの通信部分はReactiveOAuthライブラリを使わせてもらいました)<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAplP40qpQoipdQHf7b1x_P6iIMqTIZ6fnDtmKdHf-B5GKSivdD4TQgo8IqKI20tEMyHgDbVJuG8siYjrWX8aup2jcGl3seqY4MSSVtkQ-pu__n82RmKm53ZaSuNRjX_-OfswOLnxmS8U/s1600/main.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAplP40qpQoipdQHf7b1x_P6iIMqTIZ6fnDtmKdHf-B5GKSivdD4TQgo8IqKI20tEMyHgDbVJuG8siYjrWX8aup2jcGl3seqY4MSSVtkQ-pu__n82RmKm53ZaSuNRjX_-OfswOLnxmS8U/s320/main.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">メイン画面</td></tr>
</tbody></table>
メッセージの受信はプッシュ配信やインターバルで受信とかには対応していないので、まずは更新ボタンを押します。<br />
受信したメッセージに含まれる相手はメイン画面に登録されます。登録された相手を選ぶか、追加ボタンでフォローされているリストから相手を選んでメッセージをやり取りします。<br />
(追加ボタンを押してもフォロワーが1000人以上いるような場合は相手を探すのはまず無理なので諦めてください)<br />
<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoG8Elfp-lns8JzKYRwwKs90SBCXGBm_PFmLVFTvxsx5FIzYadJpXRAC-InayfJ-EaUbbAKo5E7KjyRaH9EeGNgy3_YKH8LuhGz2VaDWe1TvjhZbSwM2CzF_-Tc0aiN7vu-WH_I3yJJsU/s1600/message.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoG8Elfp-lns8JzKYRwwKs90SBCXGBm_PFmLVFTvxsx5FIzYadJpXRAC-InayfJ-EaUbbAKo5E7KjyRaH9EeGNgy3_YKH8LuhGz2VaDWe1TvjhZbSwM2CzF_-Tc0aiN7vu-WH_I3yJJsU/s320/message.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">メッセージ画面</td></tr>
</tbody></table>
メッセージ画面です。標準のMessagingアプリと同じ感じです<br />
ただプッシュ配信されないので、Messageの受信はEmailへの通知とかと併用する事をお勧めします。<br />
<br />
プッシュで通知ってどうやって実現するのだろう?<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-79853074777546044352012-01-14T10:39:00.001+09:002012-01-14T11:09:00.279+09:00あけましておめでとうございますいまさらですが、<br />
<br />
あけましておめでとうございます<br />
<br />
WindowsMobileのアプリ開発等について書いてきたこのブログですが、<br />
去年は、8月末に 日本発のWindowsPhone7 IS12TがAUより発売される等色々ありました。<br />
<br />
私も9月に縁があってIS12Tを開発用に頂く事ができました、実はそのとき、”月に1本MarketPlaceにアプリを申請する事”を目標としてしたのですが、実際は達成できませんでした。<br />
<br />
9月 GuGUReader<br />
10月 StickyIt!<br />
11月 2011年11月11日...<br />
<br />
と公開して<br />
<br />
12月 バスナビ<br />
<br />
を公開する予定でした。<br />
バスナビアプリは完成したのですが、権利的な問題を含めて思うところがあって、公開する計画は頓挫しています。少しアプリの構成を作り直してから、公開できればなーと思っています。<br />
<br />
<br />
2012年ですが、改めて目標は”月に1本アプリを申請するぞ!”です。<br />
既に半年分の作りたいアプリのネタはあるので、週末プログラミングの時間とやる気さえあれば達成できるはず?<br />
<br />
<br />
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-40236094061236125022012-01-05T00:38:00.000+09:002012-01-05T00:38:17.258+09:00スキー旅行年末に奥志賀高原にスキー旅行に行きました。子供たちは初スキーで、お父さんとお母さんは20年ぶりぐらいのスキーでした。<br />
<br />
前日に雪が降ってサラサラのパウダースノー、天気もいい塩梅でスキー日和といった感じでした。<br />
<br />
カメラはLUMIX DMC-FT1とWindowsPhone携帯電話IS12Tを持っていきました。どちらも防水仕様ですが、LUMIXはスキー手袋をした状態では電源ボタンが押せなくていちいち手袋を外さなければならなかったけど、IS12Tはシャッターボタン長押しで起動するので扱いやすかったです。さすがにツイートするのは手袋外さないとむりでした<br />
<br />
というわけで以下IS12Tでの写真<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV1VMFSy07zu4iRw74dwfrD4oMg6E6iPS6-FENpoLAbnYwZqQYSjipV55zs6B7N_Fxf_BnMXybUdS8NFLT_9dzunPHedQSlbQWlpAxB5nLzTV4oqGDj4MQR1uf9bBgKNf5gEQK9S9Y6tM/s1600/WP_000385.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV1VMFSy07zu4iRw74dwfrD4oMg6E6iPS6-FENpoLAbnYwZqQYSjipV55zs6B7N_Fxf_BnMXybUdS8NFLT_9dzunPHedQSlbQWlpAxB5nLzTV4oqGDj4MQR1uf9bBgKNf5gEQK9S9Y6tM/s320/WP_000385.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">第1リフト?で上がったゲレンデ。初心者向きの緩い傾斜。子供たちはココでスキースクールのレッスンを受けました。</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiER7rINC53_VRTAzpcv_ewRpx3Htdp8zWJ0TFZnevIZfXM8uc95YBh_XNXw7Y4dhDghp0U2LQFyIw5tKi-GA7sBCia8lvqnBj9_vn6k_tEBGrnPqCs5lF-pLO51dmT6lihcnXoGXNTV0/s1600/WP_000389.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiER7rINC53_VRTAzpcv_ewRpx3Htdp8zWJ0TFZnevIZfXM8uc95YBh_XNXw7Y4dhDghp0U2LQFyIw5tKi-GA7sBCia8lvqnBj9_vn6k_tEBGrnPqCs5lF-pLO51dmT6lihcnXoGXNTV0/s320/WP_000389.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">手袋したままでもカメラが使えると言っても、リフトに乗っているときぐらいしか写真を撮る余裕は無いです</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj637vmROLUgx9sojCIlt2NSx8WLsAUiS8m1_Th6fbiL3rXu203JMCqdPCtml-zx5kTyIxxpdSATnJdfMKNhu9EPAg0W21-uuAhYPdMfszZn4cAOB9mkcGbW_R64fU3NQxUKJoBEewSyHs/s1600/WP_000398.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj637vmROLUgx9sojCIlt2NSx8WLsAUiS8m1_Th6fbiL3rXu203JMCqdPCtml-zx5kTyIxxpdSATnJdfMKNhu9EPAg0W21-uuAhYPdMfszZn4cAOB9mkcGbW_R64fU3NQxUKJoBEewSyHs/s320/WP_000398.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">カンカン照りでもなく、良い天気でした</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSzrL6zo2y0NVB8Kar49IGvxegBOr8DncRDDZc80LnjTvqjIAi9ZyHQ-uZNBsaYrZ1eclRRYecSwXrbIsLv-7c9GcSoEQW1GrPu5WCF_Kk_q7JpKebyDYydgOaKcG6rDRTNHwbbmCUlYc/s1600/WP_000422.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSzrL6zo2y0NVB8Kar49IGvxegBOr8DncRDDZc80LnjTvqjIAi9ZyHQ-uZNBsaYrZ1eclRRYecSwXrbIsLv-7c9GcSoEQW1GrPu5WCF_Kk_q7JpKebyDYydgOaKcG6rDRTNHwbbmCUlYc/s320/WP_000422.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">世間が本格的に休みに入る前だったので、結構すいてました。初心者には最高の環境だったと思います</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVapVjYgd887p92vP5oTa_JxlJYh_dNV36-KTSc6PPI6JVi2cn85wNd0RqWeeppAD1wL1krP_XxJkNVvBn2OsAHlboJK61_xYQi3Tyxy67SYNhHZ0TXgbBlRaaUAA-Vk_49OvoOnD8Z2w/s1600/WP_000437.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVapVjYgd887p92vP5oTa_JxlJYh_dNV36-KTSc6PPI6JVi2cn85wNd0RqWeeppAD1wL1krP_XxJkNVvBn2OsAHlboJK61_xYQi3Tyxy67SYNhHZ0TXgbBlRaaUAA-Vk_49OvoOnD8Z2w/s320/WP_000437.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">樹氷。ホテルの方の先導で上の方のゲレンデまで行きました。初心者でいきなり頂上を目指すのは普通できませんが、先導があったので安心してついて行けました。</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMgIkHgn9OuEseO2wfejALQTEE9RBRV22ZUJH9E5Y9-Ndad-WWccKs371J2-5J0bW8Fj9492tyLXOrLkQp_Xl0GOr77EHXJxVkTzWPId8p9GWXlzqb44N81yPJY2vMUPJym6w-Gczgoe4/s1600/WP_000438.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMgIkHgn9OuEseO2wfejALQTEE9RBRV22ZUJH9E5Y9-Ndad-WWccKs371J2-5J0bW8Fj9492tyLXOrLkQp_Xl0GOr77EHXJxVkTzWPId8p9GWXlzqb44N81yPJY2vMUPJym6w-Gczgoe4/s320/WP_000438.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">いきなり、全てのゲレンデを回れました。これも先導のおかげです。案内だけでなく、スキーのアドバイスまでしてくれました</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0oI3S8dFfXLFoAIe7BzkJ0w46LVQKFF2mUqHDqcQTXMzH2MF6SImq5WTlY5OD_Dv7mgYBtQ8mCJwvqEK6xxzYMAmGhmN1t36W_2N5Njl1OxoltpcHNuTq0bLjQPYFFYNEwVZRDWqGDio/s1600/WP_000439.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0oI3S8dFfXLFoAIe7BzkJ0w46LVQKFF2mUqHDqcQTXMzH2MF6SImq5WTlY5OD_Dv7mgYBtQ8mCJwvqEK6xxzYMAmGhmN1t36W_2N5Njl1OxoltpcHNuTq0bLjQPYFFYNEwVZRDWqGDio/s320/WP_000439.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">気持ちえー</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyc79nFa2HkzFACzQRFpDn7Oyw8Gqy2E6wj3EK6oqPtDDQ3UrLkJTyAK9eiB_fDJzuH4nl3WPYblViYr9NeyPa5A-BFFbPfKsGVKEyin24jhSP1oFCkTIIaE-22A9EUm2RZmAkwIYvIY4/s1600/WP_000444.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyc79nFa2HkzFACzQRFpDn7Oyw8Gqy2E6wj3EK6oqPtDDQ3UrLkJTyAK9eiB_fDJzuH4nl3WPYblViYr9NeyPa5A-BFFbPfKsGVKEyin24jhSP1oFCkTIIaE-22A9EUm2RZmAkwIYvIY4/s320/WP_000444.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">お昼ごはん、漆黒の醤油ラーメン</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<div style="margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfyozqcYKtOVHuQ1eIwF41Bq5D_4d9Sn75QDfc0zGm1hzr5uXIV66XkUyK1qtFfWmGyBlQdrad73ShhXHmJU9PJTv1qwW_CiTVWq9KolXC9IAUpgeRidpRuyDwM3s11rAcbDNKK6oybkI/s1600/WP_000400.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfyozqcYKtOVHuQ1eIwF41Bq5D_4d9Sn75QDfc0zGm1hzr5uXIV66XkUyK1qtFfWmGyBlQdrad73ShhXHmJU9PJTv1qwW_CiTVWq9KolXC9IAUpgeRidpRuyDwM3s11rAcbDNKK6oybkI/s320/WP_000400.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">晩御飯 贅沢だ</td></tr>
</tbody></table>
</div>
<div style="text-align: -webkit-auto;">
<br /></div>
<div style="margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px;">
<br class="Apple-interchange-newline" /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje1yE1qA0LjO3ZhBVfT_cECuVFI7MQn8mDen3WJToDwTozBafgew3Kb_6oVYUwHoyJOW8r8TTVDoAEG6e9IHyQD7lDpPoengn4xYrDLsVLy0UEGjF_gVZ3TJJrnh-pmNmGuKJAbSk_28k/s1600/WP_000470.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje1yE1qA0LjO3ZhBVfT_cECuVFI7MQn8mDen3WJToDwTozBafgew3Kb_6oVYUwHoyJOW8r8TTVDoAEG6e9IHyQD7lDpPoengn4xYrDLsVLy0UEGjF_gVZ3TJJrnh-pmNmGuKJAbSk_28k/s320/WP_000470.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">贅沢すぎる~</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiamoEP9VKWCGEZyAgMQ5QRM2ZDmdu7rulGRwt_Jhc9qXpCe35os6ZD3Ne1QS0I1HAN3V1RrzPoLeAqyzZfAiuSYh1XhsSfSvnAPhmnGl5fd1mjXWQ3Z17RQPqmYEnQUy2T5GCD49gZhPI/s1600/WP_000477.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiamoEP9VKWCGEZyAgMQ5QRM2ZDmdu7rulGRwt_Jhc9qXpCe35os6ZD3Ne1QS0I1HAN3V1RrzPoLeAqyzZfAiuSYh1XhsSfSvnAPhmnGl5fd1mjXWQ3Z17RQPqmYEnQUy2T5GCD49gZhPI/s320/WP_000477.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">デザート</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh126pBjaqvYj5yXj6zwY2AbnkS-9yCg0OaeCNaqplORRyKeFKOYFhN1L3VLCup11dx3u1kO74P5DOXASN-DzC70cd2weFfOSYKE6EZIm3cvpi_TkFgiCUgST3GzhuZzZ2s89iiWxhM2sg/s1600/WP_000485.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh126pBjaqvYj5yXj6zwY2AbnkS-9yCg0OaeCNaqplORRyKeFKOYFhN1L3VLCup11dx3u1kO74P5DOXASN-DzC70cd2weFfOSYKE6EZIm3cvpi_TkFgiCUgST3GzhuZzZ2s89iiWxhM2sg/s320/WP_000485.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">デザートはラウンジにて頂くことにしました。窓の外は吹雪</td></tr>
</tbody></table>
</div>
<br />
<div style="margin: 0px auto 10px; text-align: center;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie2xVkPixyfbbbJxvh9Ef15fxOeveiQV3QxLwOl2TLJ_4eF6W1x1mSPlPvS6LJDA1Jza5Ho8gWD53R9erKqDpYqxVbwoVDqsZKd5xYaQyOvBotROiGYmPlgFdP0QmlKFxbWY6ZS-V5rxw/s1600/WP_000498.jpg" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie2xVkPixyfbbbJxvh9Ef15fxOeveiQV3QxLwOl2TLJ_4eF6W1x1mSPlPvS6LJDA1Jza5Ho8gWD53R9erKqDpYqxVbwoVDqsZKd5xYaQyOvBotROiGYmPlgFdP0QmlKFxbWY6ZS-V5rxw/s320/WP_000498.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">次の日、良い天気ーと思ったらだんだん天気が崩れてきました。この日は神奈川まで帰らなきゃならないので、昼過ぎに切り上げて帰りました</td></tr>
</tbody></table>
</div>
<div style="clear: both; text-align: CENTER;">
<br /></div>おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-39287135808823877342011-11-28T23:11:00.001+09:002011-11-28T23:45:18.619+09:00バスナビ先月から作っているバスナビアプリをβテスト登録してみました<br />
<a href="http://www.sakasama.com/wp7beta/index.php">http://www.sakasama.com/wp7beta/index.php</a><br />
<br />
今のところ東急バスにしか対応していません。一応他のバス会社にも対応できるようにと考えていますが、バス情報はバス会社がそれぞれ独自に公開しているので、まとまったデータを取得する事ができなそうです。<br />
バス会社毎にアプリで対応させていくのは大変なので、今後対応バス会社が増やせるかどうか???です。誰か手伝ってくれるといいなと思って、外部データを登録できるようにしています<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikjeOdAosscvVcpL7K-RNOD_Msmb6i9pWa02ZpryOpvS46AEc4TgDl4FUxyTD4jqaKF29P-vXgZ0gmkZy21zHwrPXpTEyBbluJqqYp3kGTAjiyJlzS8qWIL23QCyxEcigs8i1x3AUPRvQ/s1600/mainpage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikjeOdAosscvVcpL7K-RNOD_Msmb6i9pWa02ZpryOpvS46AEc4TgDl4FUxyTD4jqaKF29P-vXgZ0gmkZy21zHwrPXpTEyBbluJqqYp3kGTAjiyJlzS8qWIL23QCyxEcigs8i1x3AUPRvQ/s320/mainpage.png" width="192" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpj-4S9jxh3t4f5cyWxQ-m53Iv3DYMVPLBxkGV8YgfeNeTEgRvd0rQGpWAJ6AlOXhm51uf-y52FS4JvYwDcveKnxux7ORlefYj8DVcvKTttxs0YCZqV38g9v-dXL1_IwbEoQP8HJz7zoc/s1600/favopage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpj-4S9jxh3t4f5cyWxQ-m53Iv3DYMVPLBxkGV8YgfeNeTEgRvd0rQGpWAJ6AlOXhm51uf-y52FS4JvYwDcveKnxux7ORlefYj8DVcvKTttxs0YCZqV38g9v-dXL1_IwbEoQP8HJz7zoc/s320/favopage.png" width="192" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg701BFrO8oV3UBHQTRSJhIdjM5SxiF8O-0ktJG6TjPz6P8tc5YR5fUzz_2CuLt04KfU2nPyFcuuehMD1DNei1-kkOzOpZ6kOp_pcCL2K75D0yF4crB_l7pNP7AexmeKKAAx_AB_9ZsY9k/s1600/servicepage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg701BFrO8oV3UBHQTRSJhIdjM5SxiF8O-0ktJG6TjPz6P8tc5YR5fUzz_2CuLt04KfU2nPyFcuuehMD1DNei1-kkOzOpZ6kOp_pcCL2K75D0yF4crB_l7pNP7AexmeKKAAx_AB_9ZsY9k/s320/servicepage.png" width="192" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4ZntEbIu7PUrjbN6WzTEFa4N4ruK7Kzy8LjI4sThxMvSZCIHrHbE69QvCzPZ1OooeCTeEv1r4T81aDNzsH7mfn7rUh2gak9c8jItwyL-fS05jZkkz8w4dSLCSHIL9k6oAdyqkVBFoqEA/s1600/rosenpage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4ZntEbIu7PUrjbN6WzTEFa4N4ruK7Kzy8LjI4sThxMvSZCIHrHbE69QvCzPZ1OooeCTeEv1r4T81aDNzsH7mfn7rUh2gak9c8jItwyL-fS05jZkkz8w4dSLCSHIL9k6oAdyqkVBFoqEA/s320/rosenpage.png" width="192" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs_u0h_2WQYgASneKeO_iI0mrWf-mb7x0WydpmN9JE6vHANkJ-HJWR1DF1J_dYQ472ui8lHv3GlFkViHkfNP1xurTj60FnQ71D-zQRlclCqbqqIaa43gMGU-aAy6l15wjJDtbUzpCYZ0g/s1600/termpage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs_u0h_2WQYgASneKeO_iI0mrWf-mb7x0WydpmN9JE6vHANkJ-HJWR1DF1J_dYQ472ui8lHv3GlFkViHkfNP1xurTj60FnQ71D-zQRlclCqbqqIaa43gMGU-aAy6l15wjJDtbUzpCYZ0g/s320/termpage.png" width="192" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbghlw0oWh45BHGdhdUq07u04JbIllIuh12aKwuElwl1x2XICnri_7a2G9od27BjdN0js6XQQITbt11H3UGzORmVUDfbtnytUgcbIr5a50vdPBbhpkAMV_679VUWaw0fFJlQEWDoY9ZUc/s1600/serchpage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbghlw0oWh45BHGdhdUq07u04JbIllIuh12aKwuElwl1x2XICnri_7a2G9od27BjdN0js6XQQITbt11H3UGzORmVUDfbtnytUgcbIr5a50vdPBbhpkAMV_679VUWaw0fFJlQEWDoY9ZUc/s320/serchpage.png" width="192" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiCZQqCKz21GXpAyqDPJffDsU7Ez2zz9dLSoLAhQz2mFYzXdLSXFpw8X6pAQrkMadDGyqa69fhVuFhw0v3q8aY9sk-UfevMGCbeVSri_biNK51KI43iUNZuvOT56UgG-ZfBVbhOjDcCuo/s1600/unkoupage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiCZQqCKz21GXpAyqDPJffDsU7Ez2zz9dLSoLAhQz2mFYzXdLSXFpw8X6pAQrkMadDGyqa69fhVuFhw0v3q8aY9sk-UfevMGCbeVSri_biNK51KI43iUNZuvOT56UgG-ZfBVbhOjDcCuo/s320/unkoupage.png" width="192" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0LdMXAbjuMBFvX8G2Qee3abXdusYKrKmYe8WIaT70mAKonVyXrhb2dzCGDVLmAnw3icktfKA1yEYCLTSgCW2iSEuxGmSWYzgEGVxIUoWKpAdUXAiSuibnZwVf8twYncM1ONLkxBFr6kw/s1600/download.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0LdMXAbjuMBFvX8G2Qee3abXdusYKrKmYe8WIaT70mAKonVyXrhb2dzCGDVLmAnw3icktfKA1yEYCLTSgCW2iSEuxGmSWYzgEGVxIUoWKpAdUXAiSuibnZwVf8twYncM1ONLkxBFr6kw/s320/download.png" width="192" /></a></div>
<br />
<br />
<br />
<br />
最終的には東急バスのバス運行情報ページを表示するのですが、モバイル向けに最適化されたページでは無いのを何とかしたいなと思ってますが、今のところ解決できていません。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVlTNf0ZjcoWXI7-0RdVZHXuUe3k5gbq2JgL9SfZl2wXgHQmJ8upZJIrq3jA5HXTCqyBwr_Ms4E2vEBFYFERYzwXWeuaOH2FjdvYod0GPmdny45yxksv6t4EL8PVO1L7ZzA3Xfbto_OPo/s1600/konnna.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVlTNf0ZjcoWXI7-0RdVZHXuUe3k5gbq2JgL9SfZl2wXgHQmJ8upZJIrq3jA5HXTCqyBwr_Ms4E2vEBFYFERYzwXWeuaOH2FjdvYod0GPmdny45yxksv6t4EL8PVO1L7ZzA3Xfbto_OPo/s320/konnna.png" width="192" /></a></div>
<br />
<br />
<div>
ヘッダのメタタグでmeta name="viewport" content="width=device-width"を設定するとこんな感じになるのですが、よそ様のページにタグを突っ込むなんてどうやればいいのやら...</div>
<div>
上の画像はiframeで東急バスのページを埋め込んでます、これだとスクロール動作がぎこちなくなって操作性が悪くなってしまう</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-12603181872584685752011-11-20T23:45:00.001+09:002011-11-21T00:36:05.869+09:00アラームとカメラを使うアプリ「2011年11月11日11時11分11秒を見逃すな」というアプリを公開しました。<br />
<br />
<a href="http://windowsphone.com/s?appid=d8719221-93e1-4cc0-be2f-efcf5b85c727">http://windowsphone.com/s?<wbr></wbr>appid=d8719221-93e1-4cc0-be2f-<wbr></wbr>efcf5b85c727</a><br />
<br />
指定した時間にアラームが鳴る機能と日付の焼きこんだ写真が撮れる機能を合わせたアプリです。<br />
<br />
参考にしたページ<br />
<br />
<a href="http://blogs.msdn.com/b/shintak/">高橋 忍のブログ</a> : <a href="http://blogs.msdn.com/b/shintak/archive/2011/09/18/10213126.aspx">アプリケーション自身のスクリーンキャプチャ機能の実装</a><a href="http://d.hatena.ne.jp/bs-wp7/">ブリリアントなWP7</a> : <a href="http://d.hatena.ne.jp/bs-wp7/20110922/1316663349">カメラで撮影した画像を保存する</a> <a href="http://d.hatena.ne.jp/bs-wp7/20110922/1316663349">画像ファイルを端末内に保存する</a><br />
<div>
<a href="http://ch3cooh.jp/">CH3COOH(酢酸)の実験室</a> : <a href="http://ch3cooh.jp/index.php/tips/windowsphone7/multimedia/photocamera/take-picture/">静止画撮影を行う</a><br />
です。特に高橋忍さんのページはコードをほぼコピーしている箇所があって、シャッターを押した後のメッセージ内容がまったく同じままにしてしまっていました。ごめんなさい。見る人が見れば、コピペしただけだろーと突っ込まれるかもしれないので、ここで白状しておきます<br />
<br />
時計の表示を更新する部分も誰かの記述を参考にしましたが、どこだったか思い出せません<br />
<br />
<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7o16rJCqCSvwfGy9D79hAoxTfefTkSpIi0T5996o-WclnwXsQpHIS5YBZ5fIO1NZEAL7pFpE5zWPhASYm5tN6lA4h4b7k6CgVdvjuHnAf2Kb7t39Qw5ElU9uLvNYPyEFIVhKj3xk0gx0/s1600/serial11_1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7o16rJCqCSvwfGy9D79hAoxTfefTkSpIi0T5996o-WclnwXsQpHIS5YBZ5fIO1NZEAL7pFpE5zWPhASYm5tN6lA4h4b7k6CgVdvjuHnAf2Kb7t39Qw5ElU9uLvNYPyEFIVhKj3xk0gx0/s320/serial11_1.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">起動画面、アラームの設定と、カメラの撮影ページへの移行ができます</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpDmtbAQHYWM4HZ00XeqB32PWnFfRG8hdZBio17sy0ajYkCzUeUFJAsSuBith09HumzkzzTUPUvH1nfeFdiGU2QgPWR8iqKnNil-DfofQUpDoJX4qvcXGly4ug0ZR_o_Y-R7w3aKinw1I/s1600/serial11_2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpDmtbAQHYWM4HZ00XeqB32PWnFfRG8hdZBio17sy0ajYkCzUeUFJAsSuBith09HumzkzzTUPUvH1nfeFdiGU2QgPWR8iqKnNil-DfofQUpDoJX4qvcXGly4ug0ZR_o_Y-R7w3aKinw1I/s320/serial11_2.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">撮影した写真。画像サイズや撮影モードを切り替えたりとかはできません!ただシャッターボタンを押すだけです</td></tr>
</tbody></table>
<br />
時計部分のコードとXAMLをのっけておきます。<br />
時計はタイマーで更新してます。文字の縁取りをするために数ピクセルずらした黒文字を4方向分の4回レンダリングしてます。(こんなんでいいのか?)<br />
カメラの撮影は参考にしたコードをほぼそのままで、普通に撮影します。<br />
撮影完了したら、写真の画像をlayoytrootの背景に描き出して、スクリーンキャプチャします<br />
<br />
ほんとにこんなんで良いのか?って気もしますが、以上です。ここまでは数時間でできました。<br />
<br />
一番時間がかかったのは、日時設定画面を作る事とアイコン作る事です。アイコンはちょっと画像がデカすぎたようです...<br />
<br />
<br /></div>
<pre class="c#" name="code">public partial class ClockPage : PhoneApplicationPage
{
bool nowCapturering = false;
PhotoCamera camera = null;
public ClockPage()
{
InitializeComponent();
CameraButtons.ShutterKeyPressed += new EventHandler(CameraButtons_ShutterKeyPressed);
DispatcherTimer tmr = new DispatcherTimer();
tmr.Interval = TimeSpan.FromSeconds(1);
tmr.Tick += new EventHandler(tmr_Tick);
tmr.Start();
}
void camera_CaptureThumbnailAvailable(object sender, ContentReadyEventArgs e)
{
System.Diagnostics.Debug.WriteLine("camera_CaptureThumbnailAvailable");
}
void camera_CaptureImageAvailable(object sender, ContentReadyEventArgs e)
{
System.Diagnostics.Debug.WriteLine("camera_CaptureImageAvailable");
this.Dispatcher.BeginInvoke(delegate()
{
BitmapImage bmp = new BitmapImage();
bmp.SetSource(e.ImageStream);
CaptureBrush.ImageSource = bmp;
TakeCapture();
nowCapturering = false;
});
}
void camera_CaptureCompleted(object sender, CameraOperationCompletedEventArgs e)
{
System.Diagnostics.Debug.WriteLine("camera_CaptureCompleted");
}
void CameraButtons_ShutterKeyPressed(object sender, EventArgs e)
{
nowCapturering = true;
camera.CaptureImage();
}
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
camera = new PhotoCamera(CameraType.Primary);
//camera.CaptureThumbnailAvailable += new EventHandler<contentreadyeventargs&rt;(camera_CaptureThumbnailAvailable);
camera.CaptureImageAvailable += new EventHandler<contentreadyeventargs&rt;(camera_CaptureImageAvailable);
camera.CaptureCompleted += new EventHandler<cameraoperationcompletedeventargs&rt;(camera_CaptureCompleted);
nowCapturering = false;
PreviewBrush.SetSource(camera);
base.OnNavigatedTo(e);
}
protected override void OnNavigatingFrom(System.Windows.Navigation.NavigatingCancelEventArgs e)
{
if (camera != null)
{
camera.Dispose();
camera.CaptureImageAvailable -= camera_CaptureImageAvailable;
camera.CaptureCompleted -= camera_CaptureCompleted;
camera = null;
}
base.OnNavigatingFrom(e);
}
void tmr_Tick(object sender, EventArgs e)
{
if (!nowCapturering)
{
textBlock1.Text = DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss");
}
}
private void TakeCapture()
{
WriteableBitmap bitmap = new WriteableBitmap(this.LayoutRoot, null);
MemoryStream stream = new MemoryStream();
bitmap.SaveJpeg(stream, bitmap.PixelWidth, bitmap.PixelHeight, 0, 80);
using (MediaLibrary medialib = new MediaLibrary())
{
Picture pic = medialib.SavePictureToCameraRoll(DateTime.Now.ToString("yyMMddHHmmss"), stream.ToArray());
}
MessageBox.Show("Saved");
}
</pre>
<br />
xaml<br />
<pre class="xml" name="code"><phone:PhoneApplicationPage
x:Class="Serial11.ClockPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Landscape" Orientation="Landscape"
mc:Ignorable="d" d:DesignHeight="480" d:DesignWidth="728"
Language="ja-JP"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot は、すべてのページ コンテンツが配置されるルート グリッドです-->
<Grid x:Name="LayoutRoot">
<Grid.Background>
<ImageBrush x:Name="CaptureBrush"/>
</Grid.Background>
<Grid x:Name="ContentPanel">
<Rectangle x:Name="PreviewRectangle">
<Rectangle.Fill>
<VideoBrush x:Name="PreviewBrush"/>
</Rectangle.Fill>
</Rectangle>
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Bottom" Orientation="Horizontal">
<Grid Margin="0,0,10,0">
<TextBlock x:Name="textBlock3" Text="{Binding Text, ElementName=textBlock1}" VerticalAlignment="Top" FontFamily="Segoe WP Black" FontSize="48" Margin="0" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5" Foreground="Black">
<TextBlock.RenderTransform>
<CompositeTransform TranslateX="3" TranslateY="3"/>
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock x:Name="textBlock4" Text="{Binding Text, ElementName=textBlock1}" VerticalAlignment="Top" FontFamily="Segoe WP Black" FontSize="48" Margin="0" Foreground="Black" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5" >
<TextBlock.RenderTransform>
<CompositeTransform TranslateX="-3" TranslateY="3"/>
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock x:Name="textBlock5" Text="{Binding Text, ElementName=textBlock1}" VerticalAlignment="Top" FontFamily="Segoe WP Black" FontSize="48" Margin="0" Foreground="Black" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5" >
<TextBlock.RenderTransform>
<CompositeTransform TranslateX="-3" TranslateY="-3"/>
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock x:Name="textBlock6" Text="{Binding Text, ElementName=textBlock1}" VerticalAlignment="Top" FontFamily="Segoe WP Black" FontSize="48" Margin="0" Foreground="Black" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5" >
<TextBlock.RenderTransform>
<CompositeTransform TranslateX="3" TranslateY="-3"/>
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock x:Name="textBlock1" Text="----/--/-- --:--:--" VerticalAlignment="Top" FontFamily="Segoe WP Black" FontSize="48" Margin="0" Foreground="Yellow" HorizontalAlignment="Right" />
</Grid>
</StackPanel>
</Grid>
</Grid>
<!--ApplicationBar の使用法を示すサンプル コード-->
<!--<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="MenuItem 1"/>
<shell:ApplicationBarMenuItem Text="MenuItem 2"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>-->
</phone:PhoneApplicationPage>
</pre>おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-32858793939218841352011-11-11T01:43:00.001+09:002011-11-11T01:51:52.854+09:002011年11月11日11時11分11秒を見逃すな<a href="http://atelierlune.com/ko/Serial11.xap">serial11.xap</a><br />
<br />
windows phon7 用に"2011年11月11日11時11分11秒を見逃すな"というアプリを思いつきで作りました。<br />
<br />
思いついたのが11月10日の朝だったので、マーケットへの審査に提出は全然間に合わないので、xapファイルだけアップしてみます。<br />
<br />
これを書いてる時間も既に11月11日を回っているので、ちょーーと遅すぎですが.....<br />
<br />
<br />
ベータ版なので不具合があったらごめんなさい、といってもダウンロードする人がいるか?という気もします<br />
<br />
<br />
<br />
アプリを起動して、2011年11月11日11時11分11秒の5分前にアラームを登録することができて、日付と時間入りの決定的瞬間の写真を撮ることが出来るアプリです。<br />
<br />
IS12Tでしか試してないです<br />
<br />
当然11時11分の5分前を過ぎるとアラーム登録できないです。たぶん例外吐いて落ちると思います。<br />
<br />
<br />
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-24636228455627409382011-11-08T00:53:00.000+09:002011-11-08T00:53:53.993+09:00コマンドラインで配置配線のススメXILINXのFPGA合成ツールの話です。<br />
<br />
ここではise12を使う事を前提に記事を書いてます。<br />
<div>
すでにise13.3がリリースされている今なぜise12なの?と思うかもしれませんが、諸事情でise12を使い続けているから仕方がないのです。<br />
<br />
これから書く内容はise13ではPlanAhedが使えるツールに進化していて、もう必要ないよって事かもしれませんが、僕の個人的な予想ではise13でもまだコマンドラインを使い続ける必要があるかなと思ってます<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"></span><br />
<a name='more'></a><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><br /></span><br />
<br />
通常の開発ではWindowsなりLinuxなりの ISE上でGUIベースのツールを使って開発しますが、あえてCUIベースで論理合成から配置配線までを行います。</div>
<div>
<br />
コマンドラインで開発を行う目的は以下の3点です<br />
<br />
1. 論理合成処理時間短縮<br />
2. 複数の配置配線を同時に行う<br />
3. 完了の通知を行いたい<br />
<br />
1) 一番大きなメリットは論理合成の処理時間短縮ですが、大規模な設計で合成処理に1時間近くかかるような場合に、モジュール別の合成を行うことで1/5から1/10の時間短縮ができる可能性があります。</div>
<div>
ISEではモジュール別の合成がサポートされていないので、大規模なプロジェクトの場合ちょっとしたソースの変更でも論理合成にかなりの時間が必要になります。<br />
そこで、ソースを大きなブロックで分けて論理合成をすることで、変更の無いモジュールの合成を完全に防ぐ事にします。<br />
PlanAheadのパーティションを使用して配置配線もモジュール毎に固定して行えば時間短縮になりそうですが、試したところあまりよい結果は出ていません。配置配線はスマートガイドを利用するのが一番効果が出ています<br />
<br />
2) ISEではワンボタンクリックで全ての処理が自動で出来ますが、処理中は殆どの処理が禁止状態になります。コマンドラインではファイルの競合に気をつけさえすれば、配置配線を同時に実行したり、配置配線中にチップスコープのプローブ作成や、論理合成の実行も自由に行えます。</div>
<div>
配置配線中にHDLソースのバグを見つけたときに今の処理を中止して最初からやり直すか、とりあえず結果を見てから論理合成をするか...悩む事が結構ありますが、迷わず別のスレッドで論理合成を実行できます。<br />
<br />
コマンドラインだと出力するファイル名を直接指定するので、Makeファイルさえ作っておけば、埋め込むチップスコープのファイル毎に別のbitファイル名にする事等が簡単にできます。逆にGUIではファイルの名前をかえるのは手間がかかります<br />
<br />
3)一回の論理合成から配置配線完了まで2時間も3時間もかかる場合に処理が完了したことに気がつかないでいたり、途中でエラー終了していたことに気がつかないで時間を無駄にしてしまうことがあります。<br />
そこで処理の終了時に指定アドレスにメールを送るようにスクリプトを組み込むことで、配置配線完了と同時にメールで通知を受け取ることが出来ます。<br />
<br />
そのほかにスクリプトさえ作っておけばバージョン番号をソースに埋め込んだり、bitファイルに埋め込んだりが自動でできたりします<br />
<br />
<br />
コマンドラインで開発するデメリットは<br />
1. 準備が面倒<br />
2. 構成の変更が面倒<br />
3. 合成エラーとエディタの連携が出来ない<br />
3. サマリーの出力が出来ない?合成結果のタイミング解析等が面倒<br />
<br />
デメリットは実行環境を作るのにはGUIでの操作に比べるとかなり手間がかかるといったところです。実際HDLの依存関係をリストするなんて事はGUIでやったほうが早いので、一旦ISEでプロジェクトを作成して必要な設定をコピペする事にします。</div>
<div>
ソースを解析してソースツリーを作るようなスクリプトを書くという手もあります<br />
<br />
僕はiseでプロジェクトを作って、GUIが便利なところはiseを使って、デバック時の合成をコマンドラインで行うような運用をしています</div>
<div>
<br /></div>
<div>
topの論理合成makefile例。</div>
モジュール毎の階層ディレクトリを作って論理合成は階層毎のmakefileで行います。チップスコープを使いした場合は<br />
make cps_bit CPS_PROJ=cps_test<br />
と実行すると最終的には<br />
top_module_cps_test_download.bit ファイルが出来上がります<br />
<br />
<br />
<pre class="c++:nogutter" name="code">TOPHDL = top_module
CURRENT_DIR = ../module
CPS_PROJ = test
SRC_DIR = ../iseproject/hdl
UCS_FLAG = -uc $(SRC_DIR)/top/top_module.ucf
CORE_FLAG = -sd $(SRC_DIR)/coregen_v6
EDK_DIR = $(SRC_DIR)/../system
DEVICE_TYPE = xc6vlx130t
DEVICE_NAME = $(DEVICE_TYPE)-1-ff784
SMARTGUIDE = no
MTFLAG = -mt off
MAPFLAG = -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -global_opt off $(MTFLAG) -ir off -pr off -lc off -power off
NGCS = \
system.ngc \
module1.ngc \
module2.ngc \
top_module.ngc
export SRC_DIR
ifeq ($(SMARTGUIDE),yes)
SMART_OPT= -smartguide $(TOPHDL)_guide.ncd
else
ifeq ($(SMARTGUIDE),no)
SMART_OPT=
else
SMART_OPT= -smartguide $(TOPHDL)_$(SMARTGUIDE)_guide.ncd
endif
endif
.PHONY: all clean synthesize bit par cps_edit cps_build cps_bit
all: synthesize bit
clean:
$(MAKE) -C module1 TARGET=$@
$(MAKE) -C module2 TARGET=$@
$(MAKE) -C top_module TARGET=$@
del /Q *.ngc
synthesize:
$(MAKE) -C module1
$(MAKE) -C module2
$(MAKE) -C top_module
cp -a $(EDK_DIR)/implementation/system.ngc ./
bit: $(TOPHDL).bit
par: $(TOPHDL).twx
$(TOPHDL).ngd : $(NGCS) synthesize
cp -a $(EDK_DIR)/implementation/system_bd.bmm ./edkBmmFile.bmm
cp -a $(EDK_DIR)/implementation/system.ngc ./
ngdbuild -intstyle silent -dd _ngo -sd ipcore_dir -nt timestamp $(UCS_FLAG) $(CORE_FLAG) -bm edkBmmFile.bmm -p $(DEVICE_NAME) $(TOPHDL).ngc $(TOPHDL).ngd
$(TOPHDL)_map.ncd : $(TOPHDL).ngd
map -intstyle silent -p $(DEVICE_NAME) $(MAPFLAG) $(SMART_OPT) -o $(TOPHDL)_map.ncd $(TOPHDL).ngd $(TOPHDL).pcf
$(TOPHDL).ncd : $(TOPHDL)_map.ncd
par -w -intstyle silent -ol high $(MTFLAG) $(SMART_OPT) $(TOPHDL)_map.ncd $(TOPHDL).ncd $(TOPHDL).pcf
$(TOPHDL).twx : $(TOPHDL).ncd
trce -intstyle silent -v 3 -s 1 -n 3 -fastpaths -xml $(TOPHDL).twx $(TOPHDL).ncd -o $(TOPHDL).twr $(TOPHDL).pcf
$(TOPHDL).bit : $(TOPHDL).ncd
bitgen -intstyle silent -f $(TOPHDL).ut $(TOPHDL).ncd
$(TOPHDL)_download.bit : $(TOPHDL)_top.bit
bitinit -bm edkBmmFile_bd.bmm -p $(DEVICE_NAME) $(EDK_DIR)/system.mhs -pe microblaze_0 $(EDK_DIR)/hrboot/hrboot.elf -bt $(TOPHDL).bit -o $(TOPHDL)_download.bit -log bitinit.log
update_bit: $(TOPHDL)_download.bit
## Chip scope inserter ##
$(CPS_PROJ).cdc :
inserter -intstyle ise -mode initial -proj $(CPS_PROJ).cdc -p $(DEVICE_TYPE) -output_dir $(CURRENT_DIR)/_ngo -ise_project_dir $(CURRENT_DIR)
cps_edit: $(CPS_PROJ).cdc
inserter -intstyle ise -mode setup -proj $(CPS_PROJ).cdc -ise_project_dir $(CURRENT_DIR) -dd _ngo -p $(DEVICE_NAME) $(TOPHDL).ngc $(TOPHDL)_$(CPS_PROJ)_cs.ngc
inserter -intstyle ise -mode insert -ise_project_dir $(CURRENT_DIR) -proj $(CURRENT_DIR)/$(CPS_PROJ).cdc -intstyle ise -dd $(CURRENT_DIR)/_ngo -uc $(CURRENT_DIR)/example_top.ucf -uc $(CURRENT_DIR)/gtx_right_top.ucf -uc $(CURRENT_DIR)/vp8408_peripheral_cpu_side.ucf -sd $(CURRENT_DIR)/../ipcore_dir -p xc6vhx380t-ff1924-1 $(CURRENT_DIR)/$(TOPHDL).ngc $(TOPHDL)_$(CPS_PROJ)_cs.ngc
$(TOPHDL)_$(CPS_PROJ)_cs.ngc: $(CPS_PROJ).cdc $(NGCS)
inserter -intstyle ise -mode insert -ise_project_dir $(CURRENT_DIR) -proj $(CURRENT_DIR)/$(CPS_PROJ).cdc -intstyle ise -dd $(CURRENT_DIR)/_ngo -uc $(CURRENT_DIR)/$(TOPHDL).ucf -sd $(CURRENT_DIR)/../ipcore_dir -p xc6vhx380t-ff1924-1 $(CURRENT_DIR)/$(TOPHDL).ngc $(TOPHDL)_$(CPS_PROJ)_cs.ngc
$(TOPHDL)_$(CPS_PROJ).ngd: synthesize $(TOPHDL)_$(CPS_PROJ)_cs.ngc
cp -a $(EDK_DIR)/implementation/system_bd.bmm ./edkBmmFile.bmm
cp -a $(EDK_DIR)/implementation/system.ngc ./
ngdbuild -intstyle silent -dd _ngo -sd ipcore_dir -nt timestamp $(UCS_FLAG) $(CORE_FLAG) -bm edkBmmFile.bmm -p $(DEVICE_NAME) $(TOPHDL)_$(CPS_PROJ)_cs.ngc $(TOPHDL)_$(CPS_PROJ).ngd
$(TOPHDL)_map_$(CPS_PROJ).ncd : $(TOPHDL)_$(CPS_PROJ).ngd
map -intstyle silent -p $(DEVICE_NAME) $(MAPFLAG) $(SMART_OPT) -o $(TOPHDL)_map_$(CPS_PROJ).ncd $(TOPHDL)_$(CPS_PROJ).ngd $(TOPHDL)_$(CPS_PROJ).pcf
cat $(TOPHDL)_map_$(CPS_PROJ).mrp | grep Total
$(TOPHDL)_$(CPS_PROJ).ncd : $(TOPHDL)_map_$(CPS_PROJ).ncd
par -w -intstyle silent -ol high $(MTFLAG) $(SMART_OPT) $(TOPHDL)_map_$(CPS_PROJ).ncd $(TOPHDL)_$(CPS_PROJ).ncd $(TOPHDL)_$(CPS_PROJ).pcf
cat $(TOPHDL)_$(CPS_PROJ).par | grep Total
$(TOPHDL)_$(CPS_PROJ).twx : $(TOPHDL)_$(CPS_PROJ).ncd
trce -intstyle silent -v 3 -s 1 -n 3 -fastpaths -xml $(TOPHDL)_$(CPS_PROJ).twx $(TOPHDL)_$(CPS_PROJ).ncd -o $(TOPHDL)_$(CPS_PROJ).twr $(TOPHDL)_$(CPS_PROJ).pcf
$(TOPHDL)_$(CPS_PROJ).bit : $(TOPHDL)_$(CPS_PROJ).ncd
bitgen -intstyle silent -f $(TOPHDL).ut $(TOPHDL)_$(CPS_PROJ).ncd
$(TOPHDL)_$(CPS_PROJ)_download.bit : $(TOPHDL)_$(CPS_PROJ).bit
bitinit -bm edkBmmFile_bd.bmm -p $(DEVICE_NAME) $(EDK_DIR)/system.mhs -pe microblaze_0 $(EDK_DIR)/hrboot/hrboot.elf -bt $(TOPHDL)_$(CPS_PROJ).bit -o $(TOPHDL)_$(CPS_PROJ)_download.bit -log bitinit.log
cps_bit: $(TOPHDL)_$(CPS_PROJ)_download.bit
cps_update_bit: $(TOPHDL)_$(CPS_PROJ)_download.bit
</pre>
<br />
モジュール別のmakefile
<br />
*.prj ファイルを生成したり、*.xstファイルをテンプレートファイルから改編したりします。<br />
この例には記述していませんが、topモジュールはi/oポートのインサートを許可してサブモジュールはi/oポートのインサートを禁止したりする必要があります<br />
<br />
<pre class="c++:nogutter" name="code">TOPHDL = module1
SRC = \
../$(SRC_DIR)/module1/source1.vhd \
../$(SRC_DIR)/module1/source2.vhd \
../$(SRC_DIR)/module1/module1.vhd
.PHONY: all clean
all: xst/projnav.tmp $(TOPHDL).prj $(TOPHDL).xst $(TOPHDL).ngc
clean:
del *.ngc
xst/projnav.tmp:
mkdir -p xst/projnav.tmp
$(TOPHDL).prj :
echo #$(TOPHDL) > $(TOPHDL).prj
@for SRC_ in $(SRC); do \
(echo vhdl work $$SRC_ >> $(TOPHDL).prj) ;\
done
$(TOPHDL).xst :
sed -e s/%TARGET%/$(TOPHDL)/g ../template.xst > $(TOPHDL).xst
$(TOPHDL).ngc : $(SRC)
xst -intstyle silent -ifn "$(TOPHDL).xst" -ofn "$(TOPHDL).syr"
cp -a $(TOPHDL).ngc ..\
</pre>おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-86260954432158048572011-11-07T23:45:00.002+09:002011-11-07T23:45:34.240+09:00バスナビアプリiphoneやandroidにはバス接近情報表示するアプリがあるのですが、WindowsPhone7には今のところ無くて、これから先に誰かが作ってくれる可能性は低そうです。<div>
(ローカル路線毎にはできるかもしれませんが、東急バスをサポートするアプリとなるとまず自分で作らないとだめかな)<div>
なので、東急バスのバスナビページをwp7で見るアプリを作ってます<div>
<br /></div>
<div>
折角なので、東急バス以外のバス会社のページも表示できるような作りにしようと目論んで、バス会社選択ページがあります。</div>
<div>
が、バス情報のページは各社ばらばらで、まとまった情報を得る手段はなさそうなので他社に対応できるかどうか怪しいです。</div>
<div>
<br /></div>
<div>
というか東急バスのページだけでもう気力がなくなりました。あぁぁ</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
アプリではwebページを取得して内容を解析してリストボックスに表示するような事をします。</div>
<div>
htmlを解析する必要があるのですが、デバイスで解析させないで<a href="http://developer.yahoo.com/yql/">yql</a>を使ってみました。</div>
<div>
リストを取得するのにいちいちyql経由でアクセスするのでちょっと動作が遅いですし、yql使ってアプリにしちゃって良いものかどうか?いまいちわかりません</div>
<div>
<br /></div>
<div>
yql使う利点は他の人が勝手にyqlのコードを書いて別会社のサービスを追加したりとか出来そうなところです。そのためにはバス会社情報のデータもweb上に置く必要があって、ホストを用意しなきゃいけないのですが</div>
<div>
<br /></div>
<div>
できたらβ版配布を試してみたいなと思ってますが、ローカルすぎて需要は0かも</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHOdajARAEqXTnxCRaJDS-z6AX2__z0u698iRf2i5Sl31YUQqtXQaTq20gE3GuejsFdNUEcpJPGkW4EvmBmK4-ngWMHM822GD6FAkdp-CFL8QJ8GCHXEsolFnezODvkxV1Qz_gHA4B1TA/s1600/busbavi1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHOdajARAEqXTnxCRaJDS-z6AX2__z0u698iRf2i5Sl31YUQqtXQaTq20gE3GuejsFdNUEcpJPGkW4EvmBmK4-ngWMHM822GD6FAkdp-CFL8QJ8GCHXEsolFnezODvkxV1Qz_gHA4B1TA/s320/busbavi1.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">ノッテちゃんのアイコン画像はまずいかな...</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ5lp3k7Nh81AL9y_STehuXKxF-9WbdNvU8NPnpjgQODWWLzVP42nIvIKC9_9sA43_3wLEXtzWh8Y3hdLFM1sXH8MqBFtNE9zSprOZA81I5K51hd3ROAY8LNQCS6EH2vjwyg5l5IhZIh0/s1600/busbavi2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ5lp3k7Nh81AL9y_STehuXKxF-9WbdNvU8NPnpjgQODWWLzVP42nIvIKC9_9sA43_3wLEXtzWh8Y3hdLFM1sXH8MqBFtNE9zSprOZA81I5K51hd3ROAY8LNQCS6EH2vjwyg5l5IhZIh0/s320/busbavi2.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">サービスの選択</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFCEg0ngFMzGZdr6o8NtUUnNB5HCxgOR-R4MDy5PxDizBkojIx1-8YbJ3bfXN0qkVMvn5pqTLwJ0D2ihInsfSiZ9Ru0oLt2pUc_swTjyBvTMkcqgZaZfFVbrEYHIy-4p1nlmhWZSsiBz0/s1600/busbavi3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFCEg0ngFMzGZdr6o8NtUUnNB5HCxgOR-R4MDy5PxDizBkojIx1-8YbJ3bfXN0qkVMvn5pqTLwJ0D2ihInsfSiZ9Ru0oLt2pUc_swTjyBvTMkcqgZaZfFVbrEYHIy-4p1nlmhWZSsiBz0/s320/busbavi3.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">路線一覧から選択する</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8so4yUvtlKnCU1CsLuz6V2OALCQzNVqBaMk4AcLCvXJFIAddGnkB4VMYbEgqhG9iOoDXkgnrdEdPkiV6oVA507hahOcnDM7419Ag0BepVIA3voXOs_PPadbL-Pasws9xt6LFsqON0N_4/s1600/busbavi4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8so4yUvtlKnCU1CsLuz6V2OALCQzNVqBaMk4AcLCvXJFIAddGnkB4VMYbEgqhG9iOoDXkgnrdEdPkiV6oVA507hahOcnDM7419Ag0BepVIA3voXOs_PPadbL-Pasws9xt6LFsqON0N_4/s320/busbavi4.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">これが最終的にたどり着くバス接近情報ページです。ここをスクレイピングしてGUI化する気力は残ってませんでした。でももう少しデバイスにフィットした表示したいんだけど、どうすれば良いのやら?</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZK9Ep5yugP8FMD_AGzVMXY8yGNAVPxry27NWdEQP2pEl1voxsoG5RsgSeZhcltfY9596Qssurrwu6UUg7HFckDOtmBeHwWcv3fXvElJwU22B4janjv1T3K-PN6QFKsHDraa7v56HZBOw/s1600/busbavi5.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZK9Ep5yugP8FMD_AGzVMXY8yGNAVPxry27NWdEQP2pEl1voxsoG5RsgSeZhcltfY9596Qssurrwu6UUg7HFckDOtmBeHwWcv3fXvElJwU22B4janjv1T3K-PN6QFKsHDraa7v56HZBOw/s320/busbavi5.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">駅から路線を選択する</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjClYxspdUC-tYajnc-pHxscA4pFdI9vTgpR7HwR7D8nvTnZfj6hagfoluVZeSG6hlaSjVbzYhZMvoDeYKVfp4fgtPP3qQWhe2R-vgLklAgApa7P0FgcriwgcODsVE9XQU1cXj5bIacneM/s1600/busbavi6.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjClYxspdUC-tYajnc-pHxscA4pFdI9vTgpR7HwR7D8nvTnZfj6hagfoluVZeSG6hlaSjVbzYhZMvoDeYKVfp4fgtPP3qQWhe2R-vgLklAgApa7P0FgcriwgcODsVE9XQU1cXj5bIacneM/s320/busbavi6.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">駅から路線選択で渋谷駅を選択したときの画面。ここもwebページそのまま。うまくスクレイピングできなかった。</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe2KpGKdgY9Y09YsA8s_oMaa9nD-w8TODS576hCkMr49xAZ8EbXi-Grnc5COYzdAR9f-LUfhJb_5pJ0Btbpw8G0lU7TTfdxlWEamTxXKWwXIG60gRRFpShW7OHwZBadMS-lCrREYKr_NM/s1600/busbavi7.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe2KpGKdgY9Y09YsA8s_oMaa9nD-w8TODS576hCkMr49xAZ8EbXi-Grnc5COYzdAR9f-LUfhJb_5pJ0Btbpw8G0lU7TTfdxlWEamTxXKWwXIG60gRRFpShW7OHwZBadMS-lCrREYKr_NM/s320/busbavi7.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">バス停名称を入力してバス停を選択する画面</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwCSeOmYQOxCiSCOzljy0-eneRNC2xDGTaFGhPfOyw18GM7jLZTAX0aPJwwYDdm7ckeFzNaywTF4j8X11YxleRYnOw-whL02oj1nz7QhNcbCpplS9948jtz8n9vSZ_Mc3pRf9APxL1-nI/s1600/busbavi8.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwCSeOmYQOxCiSCOzljy0-eneRNC2xDGTaFGhPfOyw18GM7jLZTAX0aPJwwYDdm7ckeFzNaywTF4j8X11YxleRYnOw-whL02oj1nz7QhNcbCpplS9948jtz8n9vSZ_Mc3pRf9APxL1-nI/s320/busbavi8.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">バス停を選択したときの画面</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
画面デザインをなんとかしないといけないですねー</div>
<div>
<br /></div>
</div>
</div>おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-58315908914303071922011-11-02T23:01:00.000+09:002011-11-02T23:03:19.161+09:00QRコードメーカ<br />
WindowsPhone7の標準で組み込まれているQRコードリーダは良くできてるなー、自分のアプリから使用するにはどうすればいいんだろう...とうい疑問から始まりましたが、ひとまず自分のアプリからQRコードを表示する方法を試してみました。<br />
<br />
QRコード表示して何に使うか!は夢が広がりますが、やっぱりリーダも使えないと中途半端かな。<br />
まぁいずれ解決されるでしょう。それはさておき<br />
<br />
<br />
<span class="Apple-style-span" style="color: #e69138;"><b>QRコードを表示するアプリを作る</b></span><br />
他力本願なアプローチでなるべく簡単にします。<br />
まずプロジェクトを作って、MainPageに<br />
<br />
<ol>
<li>TextBox</li>
<li>Button</li>
<li>Image</li>
</ol>
<br />
を配置します。 Image のSourceに以下のURLを指定します<br />
<br />
<pre><u>http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=Shift_JIS&chl=http://nextgate.blogspot.com/</u>
</pre>
<pre>XAMLは下記のようになりました</pre>
<pre><pre class="xml" name="code"><!--ContentPanel - 追加コンテンツをここに入力します-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" Grid.RowSpan="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="0.817*"/>
</Grid.RowDefinitions>
<StackPanel>
<TextBox x:Name="textBox1" Text="" AcceptsReturn="True" InputScope="Url" TextWrapping="Wrap" />
<Button Content="作成" Click="Button_Click" />
</StackPanel>
<Image Margin="0" x:Name="image1" Stretch="Fill" d:LayoutOverrides="GridBox" Grid.Row="1" HorizontalAlignment="Center" Width="300" Height="300" Source="http://chart.apis.google.com/chart?chs=300x300&amp;cht=qr&amp;choe=Shift_JIS&amp;chl=http%3A%2F%2Fnextgate.blogspot.com%2F" />
</Grid>
</pre>
という感じでUrlを指定します。</pre>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2usIbLZIoBUk9e5USmxDBnrwS_5hEfhOWhgk6Knn9bCZMpvEDePRxdJ6xw4O5y8nOtycD5uEWbbIF1dsraxI6KUuupe4Uf43ZpDZ29s9bjHh19bhQc6Iky0Lp0cuE_vrMnGEfsbhJoo8/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20111102+221209.bmp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2usIbLZIoBUk9e5USmxDBnrwS_5hEfhOWhgk6Knn9bCZMpvEDePRxdJ6xw4O5y8nOtycD5uEWbbIF1dsraxI6KUuupe4Uf43ZpDZ29s9bjHh19bhQc6Iky0Lp0cuE_vrMnGEfsbhJoo8/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20111102+221209.bmp.jpg" width="199" /></a></div>
<br />
こんな感じになります。<br />
なんかもうQRコードが表示されてて、完成したみたいです。<br />
<br />
これだけだと使い道がないので、ユーザーが指定した文字列のQRコードを表示するようにしてみます。<br />
<br />
”作成”ボタンを押したときのコードを記述します。ボタンをダブルクリックして以下のようにコードを追加します<br />
<br />
<pre class="c#" name="code">private void Button_Click(object sender, RoutedEventArgs e)
{
string url_base = "http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=Shift_JIS&chl={0}";
string url = string.Format(url_base, Uri.EscapeDataString(textBox1.Text));
image1.Source = new BitmapImage(new Uri(string.Format(url_base, textBox1.Text), UriKind.Absolute));
}</pre>
<br />
GoogleChart APIにテキストボックスの文字列を追加したURLを作成して、Imageのソースとして設定するコードです<br />
<br />
これで完成<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkt7sZK_DP1bAxAMZKVMUcKXGWaGG2yEKZ2qQk5YMylP50JHodnx0cn-JUA1mWxxls71oZr0cIDE2Pr9WoVOMlSoqZvBjf7jyuMUEzA4My1jdchRuK29-JDPNkYbXgBBngzFJ2PKD9Wk/s1600/qrmaker.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkt7sZK_DP1bAxAMZKVMUcKXGWaGG2yEKZ2qQk5YMylP50JHodnx0cn-JUA1mWxxls71oZr0cIDE2Pr9WoVOMlSoqZvBjf7jyuMUEzA4My1jdchRuK29-JDPNkYbXgBBngzFJ2PKD9Wk/s320/qrmaker.png" width="192" /></a></div>
<br />
<br />
プロジェクトファイル <a href="http://atelierlune.com/ko/QRMaker.zip">QRMaker.zip</a><br />
<br />
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-87720807263577879562011-09-25T00:02:00.000+09:002011-09-25T00:02:55.294+09:00GuGuReader デモ動画を作った紹介用にデモ動画を作ったので載せておきます。<br />
エミュレータで実行したときの動作をビデオにしました。<br />
だいたいの感じが判るかな?<br />
<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/0-k5M28VWPk?rel=0" width="420"></iframe><br />
<br />
<br />
マーケットプレースでの評価に画面の固定の仕方が判らないと指摘があったけど、答える方法がわからないのでココに書いておきます。<br />
<br />
記事を開いているときに、画面を固定したいときはページのどこかを長押しします。<br />
画面右下にピンマークがでたら固定状態です。(動画の1:20秒あたり)<br />
ピンマークをクリックすると固定を解除します<br />
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-31964320737719830492011-09-21T02:36:00.001+09:002011-09-21T02:36:25.200+09:00GuGuReader Ver1.1公開しました<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgILbigJkW2v1U2ZDyeYlbBQBl3hJtTxJZORrARZ2VEnP53TCMToGEFK3wrt-vXoP3IZ4vKI1yUfx5Di0EHOmi3nGOW4fmlGqY6t7Ak2FCBeU05-SYM2yny1DS68Z-rHzXKmnizdbhOvVM/s1600/MarketPlaceTile.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgILbigJkW2v1U2ZDyeYlbBQBl3hJtTxJZORrARZ2VEnP53TCMToGEFK3wrt-vXoP3IZ4vKI1yUfx5Di0EHOmi3nGOW4fmlGqY6t7Ak2FCBeU05-SYM2yny1DS68Z-rHzXKmnizdbhOvVM/s1600/MarketPlaceTile.png" /></a>WindowsPhone7用のGoogleReaderアプリのGuGuReaderがMarketPlaceにてダウンロードできるようになりました。<br />
ほんとうはWindowsMobile用に作ったアプリと同じ名前にするつもりだったのですが、UltimateGuitarReaderrとやらに先を越されてしまいこの名前になりました。<br />
<br />
<a href="http://windowsphone.com/s?appid=178a6e59-0f4d-46a2-bf2e-af05b8abecb1" target="_blank">http://windowsphone.com/s?<wbr></wbr>appid=178a6e59-0f4d-46a2-bf2e-<wbr></wbr>af05b8abecb1</a><br />
<br />
使用するにはGoogleReaderのアカウントが必要です。GuGuReaderでサイトの購読追加は出来ないので<br />
PCの補助的な感じで、通勤途中とかに記事を流し読みするような使い方を想定しています。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
気になる記事はスターを付けて後で読むか、共有ボタンでtwitter,facebookに投稿することができます<br />
<br />
今のところオフライン動作には対応していません。<br />
未読の記事のみ表示します<br />
<br />
簡単ですが画面の紹介<br />
<br />
<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNXvKmgJOCi2SyTZ8O7lAJ9nchcDKC76Wiq7hkVdTPvp1L7na3Mv3nP9h23ZKsRBuKoedRKl3farKm0_WWINWrGWoXL2z5FanAVXonApIdYQxAzOHf7HmaNf39VksozTiaGcMnMzpFC7o/s1600/folders.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNXvKmgJOCi2SyTZ8O7lAJ9nchcDKC76Wiq7hkVdTPvp1L7na3Mv3nP9h23ZKsRBuKoedRKl3farKm0_WWINWrGWoXL2z5FanAVXonApIdYQxAzOHf7HmaNf39VksozTiaGcMnMzpFC7o/s320/folders.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">フォルダ画面<br />
記事はフォルダごとにまとめて読みます</td></tr>
</tbody></table>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNXvKmgJOCi2SyTZ8O7lAJ9nchcDKC76Wiq7hkVdTPvp1L7na3Mv3nP9h23ZKsRBuKoedRKl3farKm0_WWINWrGWoXL2z5FanAVXonApIdYQxAzOHf7HmaNf39VksozTiaGcMnMzpFC7o/s1600/folders.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi80dsGQKwA3gJ7n89g3mW1MVPglEyAz8cuISyBfj7eBF-3xAKKI6iP_79d8mxz-UlVHSRaG-RzjWX7MzYaUeh-OQhMLhOqQH4fX0O5GXSEvN_nYcTYrzBOTir2YbOeqA_z4tFlJJ9J-ww/s1600/options.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi80dsGQKwA3gJ7n89g3mW1MVPglEyAz8cuISyBfj7eBF-3xAKKI6iP_79d8mxz-UlVHSRaG-RzjWX7MzYaUeh-OQhMLhOqQH4fX0O5GXSEvN_nYcTYrzBOTir2YbOeqA_z4tFlJJ9J-ww/s320/options.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">オプション画面<br />
GoogleReaderのアカウントログイン、記事の更新等</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz_JL5T4WFjTU_1HyXtnKPH9HR2bFNNhzuFSqlWar1mBdqU6RWN7arMsig4ZiSST3IR5dVjcrP3EhXJeu8hs_CvqaRRbUCnFq7F1dc7sO_ZWugshyKeyEDYonwvjhpzEmQWsKf94YJlGg/s1600/feedpage_jp.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz_JL5T4WFjTU_1HyXtnKPH9HR2bFNNhzuFSqlWar1mBdqU6RWN7arMsig4ZiSST3IR5dVjcrP3EhXJeu8hs_CvqaRRbUCnFq7F1dc7sO_ZWugshyKeyEDYonwvjhpzEmQWsKf94YJlGg/s320/feedpage_jp.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">記事一覧<br />
縦に記事をスクロール、横にスクロールでメニューを表示します。<br />
フォルダタイトルをクリックしてサイトの絞り込みができます</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAmWPlJveCoYwMpKfqTAA20paPxWDraneUBXj6-0sxi0j7TmZP-S52OetG_r2vM3sKXX-SPCyw1opGqIbJu68ffFc_gK-D3Vq4VtG6rCyh-BfIm7SXDl-bIB159dfJo5mDzAogi_s_jaU/s1600/contents_jp.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAmWPlJveCoYwMpKfqTAA20paPxWDraneUBXj6-0sxi0j7TmZP-S52OetG_r2vM3sKXX-SPCyw1opGqIbJu68ffFc_gK-D3Vq4VtG6rCyh-BfIm7SXDl-bIB159dfJo5mDzAogi_s_jaU/s320/contents_jp.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">記事画面<br />
タイトルリンクをクリックすると元記事、mobile+リンクをクリックするとモバイル向けに変換した元記事を開くことができます。左右に画面をフリックして次の記事に進めることができます。画面を長押しすると記事を固定できます。</td></tr>
</tbody></table>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmqnFDiojSFOVQyRLsO97rpAiFE9dCLoD-K1QJHens9Dcy0SJDk0RQtSzpCKg3z2-8FxYzIonEgq95DnluepiVXu4MWcUv2wECw58z9vp9_P3vBtnXzwYmWdVsbpuBmYJjt1X3GQvSJiU/s1600/sitepages.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmqnFDiojSFOVQyRLsO97rpAiFE9dCLoD-K1QJHens9Dcy0SJDk0RQtSzpCKg3z2-8FxYzIonEgq95DnluepiVXu4MWcUv2wECw58z9vp9_P3vBtnXzwYmWdVsbpuBmYJjt1X3GQvSJiU/s320/sitepages.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">サイト選択<br />
フォルダ内でサイト別に記事を絞り込んで表示できます。<br />
このメニューは記事一覧中に左から右にフリックすると表示できます。<br />
逆にフリックするか戻るボタンでメニューを閉じることができます</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnpFJrl8d1Nu3OB3axjLr7-b3ELLUb6xRB-MHm6133WM0ipyuWQvuGjVVi4qcntqK10HCckcA5LhSFqZpU9qWvyrXX3F7NsoNzMTSpZIVjCinltP3zcy0n-AfxMP-azG2ZmQJlUr8oOeQ/s1600/slidemenu.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnpFJrl8d1Nu3OB3axjLr7-b3ELLUb6xRB-MHm6133WM0ipyuWQvuGjVVi4qcntqK10HCckcA5LhSFqZpU9qWvyrXX3F7NsoNzMTSpZIVjCinltP3zcy0n-AfxMP-azG2ZmQJlUr8oOeQ/s320/slidemenu.png" width="192" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">メニュー<br />
今のところ全部既読にする、記事の更新があります<br />
このメニューは記事一覧中に右から左にフリックすると表示できます<br />
逆にフリックするか戻るボタンでメニューを閉じることができます</td></tr>
</tbody></table>
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-91274538605025428362011-09-06T01:17:00.002+09:002011-09-06T01:17:22.416+09:00ShareLinkTaskを試してみるWindowsPhone7ではプログラムから簡単にFacebookやtwitterにメッセージを投稿するしくみが用意されています。<br />
具体的には ShareStatusTask や ShareLinkTask を使用するようです。詳しくはWP7アプリ開発者ならお馴染みのCH3COOHさんのページ<a href="http://ch3cooh.jp/index.php/tips/windowsphone7/tasks/sharestatustask/share-status/" title="ShareStatusTaskを使ってステータスを共有する">ShareStatusTaskを使ってステータスを共有する</a>と<a href="http://ch3cooh.jp/index.php/tips/windowsphone7/tasks/sharelinktask/share-link/" title="ShareLinkTaskを使ってリンクを共有する">ShareLinkTaskを使ってリンクを共有する</a>に紹介されています。<br />
<br />
さっそく試してみることにします。<br />
<br />
という テストの為のエントリー<br />
<br />おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-7036073409202831842011-09-04T01:11:00.000+09:002011-09-04T01:11:40.551+09:00WindowsPhone7多言語対応アプリ申請までのメモ今日やっとこさWindowsPhone7アプリを申請しました。<br />
もともとMango以前から開発していたのでアプリの言語設定は英語でしたが、日本で発表するからにはマーケットには日本語で説明を書きたい。ついでだから世界中にもアプリを公開したい、アプリの説明は英語にしたい。といったところで一寸つまずいたのでメモしておきます。<br />
<br />
まず、申請してみたわかったのですが、言語設定を英語で作成したアプリにはマーケット上で英語の紹介文しかかけない。日本語で作った場合は日本語しかかけない。言語の設定はアップロードしたアプリファイルから自動的に決定される。つまり両言語同時に申請するにはアプリを多言語対応で作る必要がある?っぽい。<br />
<br />
アプリケーション自体は元々英語表記で作っているし、メッセージなどを特に日本語化する必要も感じられなかったのですが、とにかく多言語対応という体裁を作ることにします。<br />
<br />
まずはお試しでテストアプリを作りました<br />
多言語対応の仕方はここに書いてあるので、その通りにやってみます<br />
http://msdn.microsoft.com/en-us/library/ff637520(v=vs.92).aspx<br />
<br />
<br />
まずアプリのプロジェクトを作成<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwX4_uLQHQjAanyfnGrHGf7x6dUxueETag0Ws9y8weBdG0N2XSIf2v8wfkXLK6Z_F3xZMsGnlEJ87dyF3BvYmwzCQ4bV1E-IkbN2Tw5gwhTTYUD8gXt0Ft_Vsc5rWmGzHHa4D87HRgWSo/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+232140.jpg"><img alt="" border="0" height="441" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwX4_uLQHQjAanyfnGrHGf7x6dUxueETag0Ws9y8weBdG0N2XSIf2v8wfkXLK6Z_F3xZMsGnlEJ87dyF3BvYmwzCQ4bV1E-IkbN2Tw5gwhTTYUD8gXt0Ft_Vsc5rWmGzHHa4D87HRgWSo/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+232140.jpg" width="640" /></a> </div><br />
MultLangPhoneApp としました。<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8liIRHDerzxfGfDkPtwuoH4K66fyKBfyIjBCf3aC5Wos7GyJtPefdMaT5WLPDNug4ZJUpf1XyNWcWm2leSxgZDPrdYpUf2q_zxiwuapdtbAsegWPEjg3c74mXiizi2xSPW1ebyKa9uZk/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+232152.jpg"><img alt="" border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8liIRHDerzxfGfDkPtwuoH4K66fyKBfyIjBCf3aC5Wos7GyJtPefdMaT5WLPDNug4ZJUpf1XyNWcWm2leSxgZDPrdYpUf2q_zxiwuapdtbAsegWPEjg3c74mXiizi2xSPW1ebyKa9uZk/s400/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+232152.jpg" width="400" /></a> </div>プラットフォームは当然 OS 7.1 です<br />
プロジェクトを作成したら、ソリューションエクスプローラから追加→新しい項目して新規リソースファイル追加します<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqIakTekb3SGTbD142yVfRehiK8szUp4yem2kYuN_BBYOaWDrUj-5J9PuwI32LT_HuW7AfSnSuwjxjMSdtIBz3uG0guxDOFsfIt7RZFdd3ObXdh5wjXQLAGwpcFC49Puq0R0gvXBg9nTI/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+232314.jpg"><img alt="" border="0" height="457" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqIakTekb3SGTbD142yVfRehiK8szUp4yem2kYuN_BBYOaWDrUj-5J9PuwI32LT_HuW7AfSnSuwjxjMSdtIBz3uG0guxDOFsfIt7RZFdd3ObXdh5wjXQLAGwpcFC49Puq0R0gvXBg9nTI/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+232314.jpg" width="640" /></a> </div><br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLAMeB9CelHUbukiA0qPb5zrjv_aZbXosb6H_0QcpM-z_xzZIZmmyuX1L-YAjTiIXuKpX14QrYME90Jw1EYVrCk57T2SdGEZ8fXSx9ctpIlv7d4S8ySqfih_gZwUigZAgVkGjRkPPhgBU/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+232936.jpg"><img alt="" border="0" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLAMeB9CelHUbukiA0qPb5zrjv_aZbXosb6H_0QcpM-z_xzZIZmmyuX1L-YAjTiIXuKpX14QrYME90Jw1EYVrCk57T2SdGEZ8fXSx9ctpIlv7d4S8ySqfih_gZwUigZAgVkGjRkPPhgBU/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+232936.jpg" width="640" /></a> </div>アセンブリリソースファイルを選択してAppResource.resxとします。これがデフォルト言語のリソースファイルになります<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><div style="text-align: -webkit-auto;"><br />
</div></div><div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHUGK-N0-k4CL5iD0Z7JrB_uPbVwFmZ2pBQE_Lc3uWdLpr8b9NSxTWoEmL9Vsnc_f_VjngrMYrDkHoYe9K-czZ989RPaU2GacByITdbZWlyKg6Uy4JmdeqwHPGJ-Bb8lqzY1Em0ZYWgKs/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233121.jpg"><img alt="" border="0" height="30" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHUGK-N0-k4CL5iD0Z7JrB_uPbVwFmZ2pBQE_Lc3uWdLpr8b9NSxTWoEmL9Vsnc_f_VjngrMYrDkHoYe9K-czZ989RPaU2GacByITdbZWlyKg6Uy4JmdeqwHPGJ-Bb8lqzY1Em0ZYWgKs/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233121.jpg" width="640" /></a> </div>今度は日本語用のリソースファイルを同じ手順で作成します。リソースファイル名は AppResource.ja-JP.resx とします。<br />
<br />
<br />
<br />
それぞれ作成したリソースファイルにメッセージ文字列を追加します。<br />
ここではアプリケーションのひな形で作成されたアプリ画面をマルチ言語対応化することにします<br />
<div><br />
</div><br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQmwxD0qcJn58G0zXo2fa2d9s7EMi3R2elFlohTCo6HRvEdQP65E5KIeOc2UrH42YwG6SXA2Ly0C7HUIzt12JGYncjlw0venQIsmUa0_UHpGXq9Y7Tic67gh9flM57Vg3aNOMG_iyz-IA/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233221.jpg"><img alt="" border="0" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQmwxD0qcJn58G0zXo2fa2d9s7EMi3R2elFlohTCo6HRvEdQP65E5KIeOc2UrH42YwG6SXA2Ly0C7HUIzt12JGYncjlw0venQIsmUa0_UHpGXq9Y7Tic67gh9flM57Vg3aNOMG_iyz-IA/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233221.jpg" width="640" /></a> </div>AppResouce.resx にデフォルト言語(英語)の文字列を追加します<br />
TitleNameとPageName文字列を追加しました<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_QPdNqMt7rJA_tehg4gJoULoMW_-o8HEY-gqK31VaZs3KKbQ0oDc1Q8vfi9hirt84S4p9s_Drm0QZG9AVwptl589G4ebUxIA0BRdmLGcCZo8EPnxeHD7iTxfcBecPn9OHLOmySERpWw0/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233227.jpg"><img alt="" border="0" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_QPdNqMt7rJA_tehg4gJoULoMW_-o8HEY-gqK31VaZs3KKbQ0oDc1Q8vfi9hirt84S4p9s_Drm0QZG9AVwptl589G4ebUxIA0BRdmLGcCZo8EPnxeHD7iTxfcBecPn9OHLOmySERpWw0/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233227.jpg" width="640" /></a> </div><br />
AppResouce.ja-JP.resx に日本語の文字列を追加します<br />
英語の時と同じ文字列名で日本語文字列を追加しました<br />
<div><br />
</div><br />
<br />
次にニュートラル言語設定を日本語から英語に変えます<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYvaZY9dJYpaZpWxt0Ml3ukzvx_04FfeObxtjl_xhs46CAfAjUFsaWW2dF7Km8gfvzIYzf82snAs8fvXarHiicXw08YsLSAG5BAzcIGPfCSGnp30wsUeKiWiOz8Etp5xSj7cCMumGVNbg/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233314.jpg"><img alt="" border="0" height="567" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYvaZY9dJYpaZpWxt0Ml3ukzvx_04FfeObxtjl_xhs46CAfAjUFsaWW2dF7Km8gfvzIYzf82snAs8fvXarHiicXw08YsLSAG5BAzcIGPfCSGnp30wsUeKiWiOz8Etp5xSj7cCMumGVNbg/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233314.jpg" width="640" /></a> </div><br />
<br />
アプリケーションの設定でアセンブリ情報→ニュートラル言語を英語(米国)にしておきます。ニュートラル言語を英語にしておくと、例えばフランス語設定の端末にインストールしたときに仏語のリソースを作っていない場合に英語リソースが使われるので、不用意に日本語文字列を表示して文字化けしまうことが防げると思います<br />
<div><br />
</div><br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimecOa-id-B6IR94pqAgLyyxMsyQWR9gn1Qf8mPR9U2j9O6Rkm-7FTVhSY80hvUzuzBthrfbr4IH1_Yr0ZpILSWSLPiBnQ-snzTq6UGyM7QwF13Fb8RDBFZGTrBcHJK8HzFzEUmzdyZ0o/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233435.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimecOa-id-B6IR94pqAgLyyxMsyQWR9gn1Qf8mPR9U2j9O6Rkm-7FTVhSY80hvUzuzBthrfbr4IH1_Yr0ZpILSWSLPiBnQ-snzTq6UGyM7QwF13Fb8RDBFZGTrBcHJK8HzFzEUmzdyZ0o/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233435.jpg" /></a> </div>HowToページの解説にあったので、よくわからないけどとりあえず <span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px;"><strong><project name="">.csproj </project></strong></span>ファイルにja-JP;en-USを追記しておきました。これ必要なのかな....<br />
<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU6AMx_v65CFsjJL8c_E9XFezVS58QbpDs96eeA0liMIoJOHVu9_EWEtYOQ96hsKci8r-wfJTVcoDZhVfaraOWkPWihvAB6WE-WELVhZp19pFNS2s-vMDUFRqPgFZbv9673F3cUymF2hk/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233619.jpg"><img alt="" border="0" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU6AMx_v65CFsjJL8c_E9XFezVS58QbpDs96eeA0liMIoJOHVu9_EWEtYOQ96hsKci8r-wfJTVcoDZhVfaraOWkPWihvAB6WE-WELVhZp19pFNS2s-vMDUFRqPgFZbv9673F3cUymF2hk/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+233619.jpg" width="640" /></a> </div><br />
HowToページ通りにApp.xaml.csに LocalizedStringクラスを作りました。このクラスを経由してApplicationPageのxamlから直接リソースをbindするのだと思います。<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimUgW-Q20qf8ZcocD7NCFHz2n5N6IKDMSJlY8b6RusNnrGSrsAILN-OG-J1ns4Nq4tmNH4MOgyCJRekPYoyAgBB7M_sa7mRxTwc4sKsQsMfOzX1imet8L7hEw7BgsdQFqwJFs4QA4bOlM/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234041.jpg"><img alt="" border="0" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimUgW-Q20qf8ZcocD7NCFHz2n5N6IKDMSJlY8b6RusNnrGSrsAILN-OG-J1ns4Nq4tmNH4MOgyCJRekPYoyAgBB7M_sa7mRxTwc4sKsQsMfOzX1imet8L7hEw7BgsdQFqwJFs4QA4bOlM/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234041.jpg" width="640" /></a> </div>App.xamlに Application.Resoucesを追加します。これでアプリケーションページ作成画面からローカルリソースとしてリソースファイルをbind出来るようになります。<br />
HowToページでは<span class="Apple-style-span" style="font-family: Consolas, Courier, monospace; font-size: 13px; white-space: pre;">xmlns:local ="clr-namespace:GlobalizationSample"</span> 記述がいっしょくたに書いてあったけど、コンパイルしたらエラーが出たので <application>の中に移動しました。</application><br />
このあたりの決まり事がいまいち理解できていない<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><div style="text-align: -webkit-auto;"><br />
</div></div><br />
MainPage.xamlを編集してGUI画面を多言語対応します<br />
<div><br />
</div><br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG3-exNe9UkPObSeqdbdryKA5wkbUJGxgOYuI9P02y5HS2grMXyPfPSvnfAt1icyrDntm9HS38NhfHPJ8j_R6ocBimNU765oAEFoLehdzYhiBqXVCRoWTjbNfImF66A7WOJLPLjkGEMJo/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234135.jpg"><img alt="" border="0" height="602" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG3-exNe9UkPObSeqdbdryKA5wkbUJGxgOYuI9P02y5HS2grMXyPfPSvnfAt1icyrDntm9HS38NhfHPJ8j_R6ocBimNU765oAEFoLehdzYhiBqXVCRoWTjbNfImF66A7WOJLPLjkGEMJo/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234135.jpg" width="640" /></a> </div>編集前の状態ではこんな感じです。マイアプリケーションとページ名をリソースファイルから指定した文字列に置き換えするようにします<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNXLJ-0DzXTY5adlFDhGryWEgaUUhVTe0UFOTdhcJjBO4eSmPnka8xGX9rX5HI3mdaku5qp8tDqRf9d2k2ewNUc1-cLFCOwvCz0RiBeDCuBQKSAofTJQmh0YHZ-nGUKs_SZMEt2ios4vw/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234148.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNXLJ-0DzXTY5adlFDhGryWEgaUUhVTe0UFOTdhcJjBO4eSmPnka8xGX9rX5HI3mdaku5qp8tDqRf9d2k2ewNUc1-cLFCOwvCz0RiBeDCuBQKSAofTJQmh0YHZ-nGUKs_SZMEt2ios4vw/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234148.jpg" /></a> </div>ApplicationTitleのTextにbindを指定します。StaticResourceにこれまで頑張って追加したLocalizedStringsクラスが見えています。ソースに指定して、続けてパスを指定します<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitgjCJZuz_79wEjoqqulwJnLO4107NCilOUuzqOJd2r-H-E0XxOY7lEAHJlH70EyXVptWgQGvfvXyNFS7guPmxecyqdhqvSSjJKBZTM3424OuEJOERo_KgrbLYgsHwI2UJou2PZqZ6eRc/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234214.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitgjCJZuz_79wEjoqqulwJnLO4107NCilOUuzqOJd2r-H-E0XxOY7lEAHJlH70EyXVptWgQGvfvXyNFS7guPmxecyqdhqvSSjJKBZTM3424OuEJOERo_KgrbLYgsHwI2UJou2PZqZ6eRc/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234214.jpg" /></a> </div>パスはTitleNameです<br />
同様にPageTitleもバインドします<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7HhFmACO2_nKe-DwI8XUqO5MbWzHGAONzFbz_iGFC_a-ixE_66HUGpDOVTaD6ecN-5QDgUIftR_BI9uAzuihuJS6fau3hToCv0GYGl9Jy7zxrljRMDmTHhJ2p2ZyYdciMQTV_c22Y3zM/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234240.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7HhFmACO2_nKe-DwI8XUqO5MbWzHGAONzFbz_iGFC_a-ixE_66HUGpDOVTaD6ecN-5QDgUIftR_BI9uAzuihuJS6fau3hToCv0GYGl9Jy7zxrljRMDmTHhJ2p2ZyYdciMQTV_c22Y3zM/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234240.jpg" /></a> </div>パスはPageNameです<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPF4A_OuUy4WUMPI3V6Or1Yh6_gEXmt2jhRHAg2n8aTQ5VWoFwK8q1UygtY3FczTJdnSeACG5jHboBldh7YFIO_mrNvoA_WRbSclA09rYLmLfwjDvFUTNBIE8cR1A55GHX5vx6I9blA78/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234332.jpg"><img alt="" border="0" height="65" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPF4A_OuUy4WUMPI3V6Or1Yh6_gEXmt2jhRHAg2n8aTQ5VWoFwK8q1UygtY3FczTJdnSeACG5jHboBldh7YFIO_mrNvoA_WRbSclA09rYLmLfwjDvFUTNBIE8cR1A55GHX5vx6I9blA78/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+234332.jpg" width="640" /></a> </div>XAMLはこんな感じで Binding になっています<br />
<br />
<br />
以上で多言語対応のアプリが完成です!!<br />
こんな感じで画面の表示文字列をリソースから指定する事で、マルチランゲージ対応ができます。ちょっと手順が多くてめんどくさいです<br />
<br />
<br />
ビルドして表示が端末の言語設定で変わることを確認します。エミュレータで実行しました<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiKGuP9JtBqpM-JzAA0J-VswfC5fZndtWbe-fSd2WzYG8zgN-zilgf46ByAg4HibXsVz90ewL6NJ7cS-Aw8uV8IqvnzrvJRsjqWyD3uS2dhFCFKoiP5kqbL8cPqCEV64YvlHLyA9Zhia0/s1600/page_ja.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiKGuP9JtBqpM-JzAA0J-VswfC5fZndtWbe-fSd2WzYG8zgN-zilgf46ByAg4HibXsVz90ewL6NJ7cS-Aw8uV8IqvnzrvJRsjqWyD3uS2dhFCFKoiP5kqbL8cPqCEV64YvlHLyA9Zhia0/s320/page_ja.png" width="192" /></a></div><br />
エミュレータは日本語なので日本語メッセージが表示されています<br />
エミュレータの言語設定を英語に変更します<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIa0uhXLqsDzyMxGbQqjIgVWGRBUHVXYdPUG78a898g-cUkGNvJ34rN7fuhZGM622rSp6gZu9bmjVCde7zFtGkqslJE-aazQggwQTQh2WnYXPMiNdiPhe8czL8NSA7ezjjUJrwNd9AdVw/s1600/jang_set.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIa0uhXLqsDzyMxGbQqjIgVWGRBUHVXYdPUG78a898g-cUkGNvJ34rN7fuhZGM622rSp6gZu9bmjVCde7zFtGkqslJE-aazQggwQTQh2WnYXPMiNdiPhe8czL8NSA7ezjjUJrwNd9AdVw/s320/jang_set.png" width="192" /></a></div><br />
変更後、エミュレータのOSがリブートして英語環境になりました<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBn3dA6rsAITlTB6Cjb9ANam5vcE1auyFd96ttfshDds_BA6HKno6KKVg-KA7oaPjPXXgSXUkJYTqLzi79TWDyro-_w4b2Br33Tmu4a5uh7iB6eHT7z4AD9EUJG2zfhyphenhyphen-8PRsLSi1hkiI/s1600/page_en.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBn3dA6rsAITlTB6Cjb9ANam5vcE1auyFd96ttfshDds_BA6HKno6KKVg-KA7oaPjPXXgSXUkJYTqLzi79TWDyro-_w4b2Br33Tmu4a5uh7iB6eHT7z4AD9EUJG2zfhyphenhyphen-8PRsLSi1hkiI/s320/page_en.png" width="192" /></a></div><br />
アプリはばっちり英語表示になっています。<br />
<br />
<br />
<br />
<br />
テストサンプルアプリが完成したので、申請画面で英語と日本語の説明が入力できることを確認してみます。<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNl25Fg6oSr0LnlDnirkhZJUQWNIxpd5VFSX1QaA-cnPnJ6r2gmHIpt8VEbiUMQDtSn1Q7wjiMUOeHWnBkjwiTZltn_Ag_niF69GMZa1OsySVgAO3SZJDchJfW_EUoIX_VF6A1TCKZpIk/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+235217.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNl25Fg6oSr0LnlDnirkhZJUQWNIxpd5VFSX1QaA-cnPnJ6r2gmHIpt8VEbiUMQDtSn1Q7wjiMUOeHWnBkjwiTZltn_Ag_niF69GMZa1OsySVgAO3SZJDchJfW_EUoIX_VF6A1TCKZpIk/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+235217.jpg" /></a> </div><br />
<br />
パソコンでAppHUBを開いて新しいアプリを申請します<br />
<div><br />
</div><div><br />
</div><div><br />
</div><br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUrn3qAQ3_omV78MSTBS9I6b-DHSVvRLV_60Fdu0GuQMKuS2r3nX7wLFbvFEefqV4JCMiEv_WMj0xvTrWFFE0aLABtGvmuQvlzaPpwpFzzYKceeiUivBiiZDUr10wAPYtIbGLZ9ZBFgS4/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+235337.jpg"><img alt="" border="0" height="498" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUrn3qAQ3_omV78MSTBS9I6b-DHSVvRLV_60Fdu0GuQMKuS2r3nX7wLFbvFEefqV4JCMiEv_WMj0xvTrWFFE0aLABtGvmuQvlzaPpwpFzzYKceeiUivBiiZDUr10wAPYtIbGLZ9ZBFgS4/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+235337.jpg" width="640" /></a> </div>作ったアプリをアップロードします。とりあえずプライベートベータテストです。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWJLKfywO3cdoJ5reetSGelWrbHG4gWJ1pAzsezGkAUgpFsdViN6nQmuPWxR-xVq4m5UcVvEIyVe9EeNR37_vTOPJCnos7h7Kco4dz5TPtXxUToL1tVmWPOHm9SKWEDIywH6nxOXFBhZY/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+235401.bmp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="498" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWJLKfywO3cdoJ5reetSGelWrbHG4gWJ1pAzsezGkAUgpFsdViN6nQmuPWxR-xVq4m5UcVvEIyVe9EeNR37_vTOPJCnos7h7Kco4dz5TPtXxUToL1tVmWPOHm9SKWEDIywH6nxOXFBhZY/s640/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110903+235401.bmp.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><br />
詳細に英語と日本語の記入が出来るようになっています。説明文から画像ファイルまで英語用と日本語用を別々にしてすることができます<br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<br />
<br />
おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com2tag:blogger.com,1999:blog-8268775965440516351.post-85573228303906059232011-06-18T23:12:00.000+09:002011-06-18T23:12:18.380+09:00Windows8レディ次期WindowsのUIも公表されたということで、Windows8 Metro UI に対応すべくタッチパネル液晶にして、DKのカウンターに取り付けました。(嫁の居ぬ間に勝手に購入取り付けちゃいました)<br />
Windows8がいつ発売されるか判りませんが、いい感じです。いつでも準備OKですョ!<br />
<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgseuWiorzV9PyaczRMVlEXia0Y6CFcxCl4L9UoQR9DUyhE8cuVkPTyWTVTjU8h8xRpP2NavjH2odeWn1JkU0w1LaSjjx2Dtraf15K7oVfrsTWPuPRrVJXZxoPSu2h9K1TTsQkzIJ5gJds/s1600/WP_000070.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgseuWiorzV9PyaczRMVlEXia0Y6CFcxCl4L9UoQR9DUyhE8cuVkPTyWTVTjU8h8xRpP2NavjH2odeWn1JkU0w1LaSjjx2Dtraf15K7oVfrsTWPuPRrVJXZxoPSu2h9K1TTsQkzIJ5gJds/s320/WP_000070.jpg" /></a> </div><br />
若干生活臭が見えますが、こんな感じです。<br />
<br />
モニタは<a href="http://www.amazon.co.jp/gp/product/B003114OU2/ref=as_li_ss_tl?ie=UTF8&tag=uma0d-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B003114OU2">グリーンハウス 21.5インチタッチパネルワイド液晶ディスプレイ HDMI ブラック GH-JTJ223GSHB</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=&l=as2&o=9&a=B003114OU2" style="border: none !important; margin: 0px !important;" width="1" />\19620円でした。光学式のタッチパネルでHDMI,DVI,アナログ入力がついてます。タッチパネル付きで2万円以下で結構安いと思います。ピカピカの光沢画面は見栄えは良いですが、反射が気になります<br />
<br />
<br />
モニタアームは<a href="http://blogs.shintak.info/archive/2011/05/21/55531.aspx">SHINO-BLOG</a>さんを参考に<a href="http://www.amazon.co.jp/gp/product/B00358RFJ8/ref=as_li_ss_tl?ie=UTF8&tag=uma0d-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B00358RFJ8">エルゴトロン LX ウォールマウントアーム 45-243-026</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=&l=as2&o=9&a=B00358RFJ8" style="border: none !important; margin: 0px !important;" width="1" /> にしました。アマゾンで\18856円、モニタと変わらないぐらいの値段、うへー高い!。デスクスタンドタイプはこちらより5000円くらい安いのですが、キッチンのカウンターに付けたかったので<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6a64Qh5v2x5hZCA-Fd6k4urS-4lxARUQ46yLx9amLEYl4ucTLye7KPsWnK7jwQWDrBNBnLyaqoZqv_SZC-xh-kv4X4aAJEZ87w4rKO9Mn3KUgjsZ4JqJdLQfzs_EBwrxRSzIa8n0NMc0/s1600/WP_000072.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6a64Qh5v2x5hZCA-Fd6k4urS-4lxARUQ46yLx9amLEYl4ucTLye7KPsWnK7jwQWDrBNBnLyaqoZqv_SZC-xh-kv4X4aAJEZ87w4rKO9Mn3KUgjsZ4JqJdLQfzs_EBwrxRSzIa8n0NMc0/s320/WP_000072.jpg" /></a> </div><br />
値は張りましたが、かなりの自由度です!<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLvSrT926e2BySZATNtZ0v4NpuHA2s1Py1hb2Dk38OAji1kPAzP6LA3p3QGfz7Khtb9HydOQMtqhtQzLbqA4S6EKoSvGshLGhyphenhyphenc4v-KG3UFVP6Fy2xGf2eeykVyXinCboA0cEoa4gSaHo/s1600/WP_000073.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLvSrT926e2BySZATNtZ0v4NpuHA2s1Py1hb2Dk38OAji1kPAzP6LA3p3QGfz7Khtb9HydOQMtqhtQzLbqA4S6EKoSvGshLGhyphenhyphenc4v-KG3UFVP6Fy2xGf2eeykVyXinCboA0cEoa4gSaHo/s320/WP_000073.jpg" /></a> </div><br />
通常の取り付けは付属のM8のネジ2本で行うのですが、壁材の石膏ボードに直接取り付けるのは無理っぽかったのでホームセンターで適当な化粧板を買ってきて、板にアームをねじ止めして化粧版を石膏ボードに多数のネジで取り付けることにしました。石膏ボード用のネジ固定パーツが売っているので一緒に買ってきましたが、使わなくても大丈夫そうでした<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimhyphenhyphenE8gWZ1K37P2Db-2iX3wy176fnEEsoH8KWFJI2IfiyLoxobH8VuqnTb3CW5GUq3HVSdjWRpEwMsKlupNzGo3WUq7SUccgDZs-mOxbrEVzJ8t0BXsZjbBK6YvBpfV2pyuaymLAt_HbU/s1600/WP_000075.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimhyphenhyphenE8gWZ1K37P2Db-2iX3wy176fnEEsoH8KWFJI2IfiyLoxobH8VuqnTb3CW5GUq3HVSdjWRpEwMsKlupNzGo3WUq7SUccgDZs-mOxbrEVzJ8t0BXsZjbBK6YvBpfV2pyuaymLAt_HbU/s320/WP_000075.jpg" /></a> </div><br />
キッチン側にモニターを向けることもできます。でも、多分活用されることは無いでしょう<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih_1n19Q91k5OTw1KBpa_llsaaZMrlt7GcxDT9rVcN_85_iU4ltdMl5uSdV0e_w5Hs9zk3WHn3AKHs-Yzisk6S3heWPHS8DWhTEYlvNLbX7Oo2OWJuq0fff6rImqi71TUWDJ0xtnJy3cU/s1600/WP_000077.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih_1n19Q91k5OTw1KBpa_llsaaZMrlt7GcxDT9rVcN_85_iU4ltdMl5uSdV0e_w5Hs9zk3WHn3AKHs-Yzisk6S3heWPHS8DWhTEYlvNLbX7Oo2OWJuq0fff6rImqi71TUWDJ0xtnJy3cU/s320/WP_000077.jpg" /></a> </div><br />
<br />
モニタのタッチパネルはWindows7にしか対応していませんでした。<br />
良い機会なのでXPから<a href="http://www.amazon.co.jp/gp/product/B002NH4M4S/ref=as_li_ss_tl?ie=UTF8&tag=uma0d-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B002NH4M4S">Windows 7 Ultimate アップグレード</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=&l=as2&o=9&a=B002NH4M4S" style="border: none !important; margin: 0px !important;" width="1" />にしました。今なら5000円<a href="http://www.amazon.co.jp/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.co.jp%2Fgp%2Ffeature.html%3Fie%3DUTF8%26ref_%3Damb_link_61811409_2%26docId%3D3077076836%23&tag=uma0d-22&linkCode=ur2&camp=247&creative=7399">キャッシュバック</a><img alt="" border="0" height="1" src="https://www.assoc-amazon.jp/e/ir??t=uma0d-22&l=ur2&o=9" style="border: none !important; margin: 0px !important;" width="1" />もあるので\16000円ぐらいでした<br />
<br />
Windows8早く来ないかなー。Metro UIのランチャとか誰か作ってないかな<br />
<br />
<br />
<br />
<br />
<div style="clear: both; text-align: CENTER;"><a href="http://picasa.google.com/blogger/" target="ext"><img align="middle" alt="Posted by Picasa" border="0" src="http://photos1.blogger.com/pbp.gif" style="-moz-background-clip: initial; -moz-background-inline-policy: initial; -moz-background-origin: initial; background: transparent none repeat scroll 0% 50%; border: 0px none; padding: 0px;" /></a></div>おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-87644604800639327692011-05-29T19:21:00.001+09:002011-05-29T19:25:21.028+09:00TitaniumTitanium を試してみましたが、新規作成した空のプロジェクトを実行しても<br />
<br />
[INFO] Building Hello for Android ... one moment<br />
<br />
から進まなくて試せませんでした<br />
<br />
JDKを64bitから32bitに入れ替えたり、Paython2.7 とsconsを入れたりとかしたけどダメで、もう諦めて投げ出そうと思った時に<br />
<br />
PATHに<br />
<br />
%JAVA_HOME% を追加した所を<br />
%JAVA_HOME%\bin<br />
<br />
にしたところ先に進むことが出来ました。<br />
アプリをエミュレータにダウンロードして一瞬実行して<br />
Sorry! The application xxx (xxx) has stopped unexpectedly. please try again. で終わってしまいました。<br />
<br />
サンプルプロジェクトのKittchenSinkは動いたので、なんか余計なことをしてしまったのかも<br />
<br />
とりあえず先に進めただけで良しとしますかおとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-50025295976511792082011-05-29T12:00:00.000+09:002011-05-29T12:00:04.723+09:00HTC evo 借りてみました<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitWCUCIN2GNbKxXPSWlqvYYkGE4Et8E_Ywq2VeiKnyHj6CS6uGvAgTES5-Z4Gb0EaGM5r5ajSJrRkznWFViuI-17v6YuvipmrLC2OeQXLiiB6sxd81nsTOKmh6zkGXKdPTwxQ0YXMG4hs/s1600/WP_000058.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitWCUCIN2GNbKxXPSWlqvYYkGE4Et8E_Ywq2VeiKnyHj6CS6uGvAgTES5-Z4Gb0EaGM5r5ajSJrRkznWFViuI-17v6YuvipmrLC2OeQXLiiB6sxd81nsTOKmh6zkGXKdPTwxQ0YXMG4hs/s320/WP_000058.jpg" /></a> </div><br />
先週からAUのHTC EVO WiMAX ISW11HTをレンタルして使っています。<br />
EVOは通常のAU端末と使用する電波が違うということで、AUショップでエリア確認用端末を1週間無料で貸し出しをしています。貸し出し希望者が殺到しているかと思いましたがそうでもなくて、お願いして1週間ほどで借りることが出来ました。<br />
<br />
WiMAXのレンタルは今年に入ってから一度やったので、だいたいの感度は解っていたのですが、今回使ってみて以前より大分電波状態は改善されていると感じました。まず自宅室内で場所によっては信号強度”最高”か”良好”となっていて驚きました。これなら契約してもいいかも!と。<br />
通勤に田園都市線、大井町線、池上線と東急電鉄を使いますが、移動中ほぼ電波の途切れる事はありませんでしたが、大岡山や長原等のホームが駅構内に囲まれている場所ではWiMAXは受信できませんでした。東急駅内に基地局が無いって事がわかります。駅に近づくと電波が弱くなるのが悲しいですね。ただ、3G電波は健在なので困ることはありませんでした<br />
<br />
EVOは4.3インチ液晶でちょっと大きめでもう少し小さい方が持ち運びには良いのですが、画面は大きいのでWEBページ等の閲覧には見やすくて良いです。<br />
<br />
<br />
このまま契約してしまいたいぐらい気に入りましたが、端末代と運用費用で躊躇してます。<br />
携帯の契約をこれ以上増やしてどうするんだ!という気持ちと、これは趣味だから趣味にお金を使うことは許されるのでは?という気持ちで揺れています。<br />
<br />
<br />
<br />
<br />
<div style="clear: both; text-align: CENTER;"><a href="http://picasa.google.com/blogger/" target="ext"><img align="middle" alt="Posted by Picasa" border="0" src="http://photos1.blogger.com/pbp.gif" style="-moz-background-clip: initial; -moz-background-inline-policy: initial; -moz-background-origin: initial; background: transparent none repeat scroll 0% 50%; border: 0px none; padding: 0px;" /></a></div>おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-59192441015954703832011-05-07T18:13:00.000+09:002011-05-07T18:13:42.175+09:00pivotでスワイプ操作WP7 Silverlight で GoogleReader クライアントを作っていますが、その作業中にやったことを紹介していこうと思います<br />
<br />
<br />
Readerの記事送り操作にスワイプ(フリック?)で前後へ移動できるようにしてみました<br />
具体的にはPivotを使います。<br />
<br />
全部の記事リストをpivot itemに突っ込んでしまうのはリソースを食らいすぎると思われるのでcurrentのページと前後のページで 3item をあらかじめ作りました。<br />
<br />
こんなイメージ<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT7rSw47wHB10lS_9xetLQ4ENyGT1dEzgF9KP4Wf8mE4A0I47RdEVc1XY4AihpDHMSh2swT-xvbj6jGpN0zV_Uu-MdzirxtVtp6EYS0PfKs8-w6YuEFIjYgTtMWEMY8g7UxWD5zBE17S4/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3+%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT7rSw47wHB10lS_9xetLQ4ENyGT1dEzgF9KP4Wf8mE4A0I47RdEVc1XY4AihpDHMSh2swT-xvbj6jGpN0zV_Uu-MdzirxtVtp6EYS0PfKs8-w6YuEFIjYgTtMWEMY8g7UxWD5zBE17S4/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3+%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3.jpg" width="640" /></a></div><br />
この3つは繋がっているのでスワイプでぐるぐる回して切り替え表示ができます。<br />
<br />
<br />
<br />
pivo tの xaml<br />
<pre class="c#" name="code"><controls:Pivot Name="pivot1" Title="uGReader" ItemsSource="{Binding items}"
HeaderTemplate="{StaticResource HeaderTemplate}"
ItemTemplate="{StaticResource PivotItemTemp}"
d:DataContext="{d:DesignData SampleData/ContentSampleData.xaml}"
SelectionChanged="pivot1_SelectionChanged" LoadedPivotItem="pivot1_LoadedPivotItem">
</controls:Pivot>
</pre>Header , Item の表示内容はtemplateで指定しています<br />
<br />
template定義<br />
<pre class="c#" name="code"><phone:PhoneApplicationPage.Resources>
<DataTemplate x:Key="HeaderTemplate">
<StackPanel Orientation="Vertical" Width="400" Margin="0">
<TextBlock Text="{Binding bTitle}" FontSize="22" TextAlignment="Left" HorizontalAlignment="Left"
Width="400"
TextWrapping="Wrap" />
<StackPanel Orientation="Horizontal">
<ToggleButton Content="ToggleButton"
HorizontalAlignment="Right"
Width="20"
Height="20"
Margin="8,0,8,0"
IsChecked="{Binding bStared}"
Style="{StaticResource StarButtonStyle}"
VerticalAlignment="Center"
Click="ToggleButton_Click" />
<TextBlock Text="{Binding bSiteTitle}" FontSize="20" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding bAuthor}" FontSize="20" Margin="0,0,18,0"/>
<TextBlock Text="{Binding bPublished}" FontSize="20" />
</StackPanel>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="PivotItemTemp">
<Grid Margin="0,-20,0,0">
<phone:WebBrowser local:BrowserBehavior.DocumentText="{Binding bContent}" Margin="8,0,8,20" >
</phone:WebBrowser>
</Grid>
</DataTemplate>
</phone:PhoneApplicationPage.Resources>
</pre><br />
<pre class="c#" name="code">public ObservableCollection<ReaderItem> items { get; set; }
protected override void OnNavigatedTo(NavigationEventArgs e)
{
items.Add(App.Items[seldIndex]);
items.Add(App.Items[seldIndex + 1]);
items.Add(App.Items[seldIndex - 1]);
pivot1.ItemsSource = items;
}
</pre><br />
<br />
<br />
これでApp.Items リスト(ReaderItemクラス)の プロパティ bTitle,bStar,bAuthor,bPublished 等の内容をヘッダーに、bContentをpivotアイテムパネルに表示します。実際はseldIndexの決定や、リストの範囲チェックなどもします。<br />
ContentsはHtml文字列なので、WebBrowserコンポーネントにbindしました。ただし、直接WebBrowsrコンポーネントにバインドできないので依存プロパティ? <span class="Apple-style-span" style="font-family: monospace; white-space: pre;">BrowserBehavior.DocumentText </span>とやらを作って実現しました。(殆どサンプルソースをコピーしただけですが、後に紹介したいと思います)<br />
<br />
<br />
<br />
スワイプで記事を切り替える処理はLoadedPivotItemイベントでcurrent以外のitemを書き換えて行いました<br />
<pre class="c#" name="code">private void pivot1_LoadedPivotItem(object sender, PivotItemEventArgs e)
{
seldIndex = App.Items.IndexOf((ReaderItem)pivot1.SelectedItem);
int i = pivot1.SelectedIndex + 1;
if (i > 2)
i -= 3;
if (seldIndex + 1 < App.Items.Count)
{
if (items[i] != App.Items[seldIndex + 1])
items[i] = App.Items[seldIndex + 1];
}
else
items[i] = FootItem;
if (++i > 2)
i -= 3;
if (seldIndex > 0)
{
if (items[i] != App.Items[seldIndex - 1])
items[i] = App.Items[seldIndex - 1];
}
else
items[i] = HeadItem;
}
</pre><br />
ここでも実際は範囲チェックとかもします。<br />
だいたいこんな感じで記事をフリック操作でどんどん送って表示できました。<br />
<br />
やってることはPivotItemのロードタイミングでリストを書き換えるだけですが、これだけの事ができるのは面白いですね<br />
<br />
<br />
<br />
ただし問題が2点ほどあります<br />
<br />
<ol><li>WebBrowserコンポーネント上でスワイプしても記事送りになりません。Webページの横スクロール操作になります。</li>
<li>Pivotのヘッダに記事タイトルを表示していますが、タイトル文字列が大きいと改行されてヘッダの高さが大きくなってしまいます。しかも一旦大きくなったヘッダはその後タイトル文字が少なくなっても小さくならない</li>
</ol><br />
<br />
こんな感じ↓で次の記事のタイトルが長いのでヘッダが大きくなってしまい記事とヘッダの間に空白ができるている<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLZrr7aTbsBtlszKh4azSpZZ38oOeYEfUhzr8CjDnGWcoHcZlBNzqJBoMV39zUJ-gQ-_APz6jqbB_9_Y714RLUVQr6H5G90ou5cYgGLwN83a4gi1QrqUpawKz0r2HlvBwq3Lkzi58kefc/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110507+151520.jpg"><img alt="" border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLZrr7aTbsBtlszKh4azSpZZ38oOeYEfUhzr8CjDnGWcoHcZlBNzqJBoMV39zUJ-gQ-_APz6jqbB_9_Y714RLUVQr6H5G90ou5cYgGLwN83a4gi1QrqUpawKz0r2HlvBwq3Lkzi58kefc/s400/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110507+151520.jpg" width="236" /></a> </div><br />
さらに一度大きくなったヘッダは小さくならない?<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5gpJbVMR02hMnYMYu2X66ttcfaQK8NnsdDNv7IyHHXh4A0vIlczlfMbiF1rSGo-sirkeiaOyHo4sLNJWuviX-DPO2RKQICYDAi2zTX4Of5EbHDgqrDqtPqFPl2WErNlC55HiHrtj_otI/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110507+151537.jpg"><img alt="" border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5gpJbVMR02hMnYMYu2X66ttcfaQK8NnsdDNv7IyHHXh4A0vIlczlfMbiF1rSGo-sirkeiaOyHo4sLNJWuviX-DPO2RKQICYDAi2zTX4Of5EbHDgqrDqtPqFPl2WErNlC55HiHrtj_otI/s400/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110507+151537.jpg" width="237" /></a> </div><div style="clear: both; text-align: CENTER;"><a href="http://picasa.google.com/blogger/" target="ext"><img align="middle" alt="Posted by Picasa" border="0" src="http://photos1.blogger.com/pbp.gif" style="-moz-background-clip: initial; -moz-background-inline-policy: initial; -moz-background-origin: initial; background: transparent none repeat scroll 0% 50%; border: 0px none; padding: 0px;" /></a></div>おとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0tag:blogger.com,1999:blog-8268775965440516351.post-51202594305026802722011-05-05T21:42:00.000+09:002011-05-05T21:42:07.032+09:00NoDoが来たさて Trophy の Update 通知が来たので、そのままZuneからUpdateしました。去年末にもらったLG製の開発端末は何度チェックしてもupdateが来なくてがっかりしていましたが(開発機にはupdateは無いとの噂)、さすがに製品はあっさりupdate通知がきました。<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD8EwPaCPfjkMOmqGFylohVe0YlJk82Ls_JYZlczGkWvbU9JY5xAfQrvSJu-Dpvy83VTe61rUI_sy4aOrQzVCuYt_6h_qOest-eC6hUo1ylrE4NLcFqaqx_jnYz22Z0VvyL9oasAj9hcs/s1600/WP_000255.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD8EwPaCPfjkMOmqGFylohVe0YlJk82Ls_JYZlczGkWvbU9JY5xAfQrvSJu-Dpvy83VTe61rUI_sy4aOrQzVCuYt_6h_qOest-eC6hUo1ylrE4NLcFqaqx_jnYz22Z0VvyL9oasAj9hcs/s320/WP_000255.jpg" width="240" /></a></div>アップデート中に自動的に再起動して端末のアップデートが始まりました。途中経過のキャプチャを忘れてました。(興奮しすぎ)<br />
この画面が結構長く、プログレスバーも殆ど動かないのでハングったか?と不安になりますが、我慢して待つと無事アップデート完了しました<br />
<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXkAhLHfzOTblQn5_KYjRqcMNIF87d7TF-nOzVLpc4fzO9DMoUhgid16r4ZYVJoZZqGQit0dl0_k5LS1wVn8qicxy4EN0w46L5PRHc00pADYAxxUWmerFRptFS581AdxTPGoszzXqUvfU/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+00618.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXkAhLHfzOTblQn5_KYjRqcMNIF87d7TF-nOzVLpc4fzO9DMoUhgid16r4ZYVJoZZqGQit0dl0_k5LS1wVn8qicxy4EN0w46L5PRHc00pADYAxxUWmerFRptFS581AdxTPGoszzXqUvfU/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+00618.jpg" /></a> </div>アップデート完了!と思ったら、<br />
<br />
<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMBM_z1om8ns5FQIFAxzf7igMMt-sSWJmyJms63gdsY-NlUw-O-IGmMSxccQwgGosX9I6tVGVCzoLO5mPxIVY-gVDyvlKMKulOdB1t0jltvRT_2XtI3ZWO5pKa2rFyY_Ro6yWzNKCZnas/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01032.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMBM_z1om8ns5FQIFAxzf7igMMt-sSWJmyJms63gdsY-NlUw-O-IGmMSxccQwgGosX9I6tVGVCzoLO5mPxIVY-gVDyvlKMKulOdB1t0jltvRT_2XtI3ZWO5pKa2rFyY_Ro6yWzNKCZnas/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01032.jpg" /></a> </div>まだ update があるって言われました。さっきのは2月のアップデートだったのね<br />
<br />
<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiywLJ1h_77wMRfSyUyPNby1F6GLwL-8gjN30bYN863LmxCHVLd-II5y7aqd-IjT1lkwknK0zE8aoN05WUMbq7-qaUMVQWl1ODIKvvOtt_sw3ndm1QKfE1CJafTC-86E18nAxVf24dqQ6A/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01058.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiywLJ1h_77wMRfSyUyPNby1F6GLwL-8gjN30bYN863LmxCHVLd-II5y7aqd-IjT1lkwknK0zE8aoN05WUMbq7-qaUMVQWl1ODIKvvOtt_sw3ndm1QKfE1CJafTC-86E18nAxVf24dqQ6A/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01058.jpg" /></a> </div>update内容は<br />
<br />
<ul><li>Copy and paste</li>
<li>Faster start and resume times for apps</li>
<li>improved category search in Marketplace</li>
<li>Perfomance tune ups</li>
</ul><br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaMTmWLrghZ3OxP7ilkSxXuuRStMkcwr82fKmFNP96-8KSmQbuLgsQQR0u6B1O4sA3mO8MzYW6ZuHBzEhvbbv_wAN1Jm2icxVwf4MIJMAaOkdfexno_dr7bAK71eMerCIki-QxcGGAx8w/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01113.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaMTmWLrghZ3OxP7ilkSxXuuRStMkcwr82fKmFNP96-8KSmQbuLgsQQR0u6B1O4sA3mO8MzYW6ZuHBzEhvbbv_wAN1Jm2icxVwf4MIJMAaOkdfexno_dr7bAK71eMerCIki-QxcGGAx8w/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01113.jpg" /></a> </div>Downloadong updates<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi779BVPIiR9uYUzZ_ylQSp2SYqFp0a6C4pPSqvm0Gs_7BfLJp3Ub1MZH46JFEmdJvckcbNhfrbisYaa9f-T9fJnIdpvYMZpVFK004jwB-zKTfhmNw4jPmyofN2-CHtqUPlwGCSFM-Ewg/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01544.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi779BVPIiR9uYUzZ_ylQSp2SYqFp0a6C4pPSqvm0Gs_7BfLJp3Ub1MZH46JFEmdJvckcbNhfrbisYaa9f-T9fJnIdpvYMZpVFK004jwB-zKTfhmNw4jPmyofN2-CHtqUPlwGCSFM-Ewg/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01544.jpg" /></a> </div>Preparing to install<br />
<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYslg52o4wUmyCaAbiCB_RKc9VKIaYLkF4mFaH7kEf3uOwmEZzcS2Eg01e-fGWmpKZePvhOvbuUSFk6p-q_Y6QD4Sr_Z_IvJ95QScfVZ54om_ksxvXMk16h9TXtgzUv0lcPOb7W0N4K7s/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01834.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYslg52o4wUmyCaAbiCB_RKc9VKIaYLkF4mFaH7kEf3uOwmEZzcS2Eg01e-fGWmpKZePvhOvbuUSFk6p-q_Y6QD4Sr_Z_IvJ95QScfVZ54om_ksxvXMk16h9TXtgzUv0lcPOb7W0N4K7s/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+01834.jpg" /></a> </div>rebooting your phone<br />
ここで端末リブート<br />
<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGtBrmkZymGBDokgHRVfdDApxFuh6OqPMvEZLBI9L2HKdMZobDHva8PKZHjZG2WT99KeTApdHUBrVHnue2bYpxnYsIonrVxaqx7spGEIYOEAkOKlCHgclZdZye5dZonalv3wKgkxpjPYQ/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+02234.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGtBrmkZymGBDokgHRVfdDApxFuh6OqPMvEZLBI9L2HKdMZobDHva8PKZHjZG2WT99KeTApdHUBrVHnue2bYpxnYsIonrVxaqx7spGEIYOEAkOKlCHgclZdZye5dZonalv3wKgkxpjPYQ/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+02234.jpg" /></a> </div>installing update<br />
端末へのインストール中。結構待ちます。30分以上<br />
<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE6O7elVyeL8Waj2fs8FhshlkAF0Wi9KndqFQHnITzVVWytsCPtwRD4UxTzS9xW5lOJfbElYwXEG8H3DFwG_EfFX6calYQcx19lVn6b15kW28syFHYzcQ9tHdwtUr5b7WfZJqQEep2sMY/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+05820.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE6O7elVyeL8Waj2fs8FhshlkAF0Wi9KndqFQHnITzVVWytsCPtwRD4UxTzS9xW5lOJfbElYwXEG8H3DFwG_EfFX6calYQcx19lVn6b15kW28syFHYzcQ9tHdwtUr5b7WfZJqQEep2sMY/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+05820.jpg" /></a> </div>インストール完了して端末を再起動<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnZcJ6kVRGxq-Mq0_BSkma2AxPs0SwklDNVrE6c6cTQP7RFWAnzToF9wp0FX8jwze7rmbwOh7G9fpA7H-EbEkOoyZnf8VMp92zK8tXZleOMmAPF_P7PPIYiYE_KxSHJjP3dbNc2AJHWLk/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+10122.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnZcJ6kVRGxq-Mq0_BSkma2AxPs0SwklDNVrE6c6cTQP7RFWAnzToF9wp0FX8jwze7rmbwOh7G9fpA7H-EbEkOoyZnf8VMp92zK8tXZleOMmAPF_P7PPIYiYE_KxSHJjP3dbNc2AJHWLk/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+10122.jpg" /></a> </div>アップデート完了です<br />
<br />
<br />
<br />
<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEqt_ejtsBDmRZXPS53_10-2fuNuDtKXh97ZxwVjTVDrMf0i7_6bB1Zu2666XV68RayTn1U58n0HOGke5D_1VreCNX1rbngqe6m0cGFIFWceMavbPoHymksCBRC9kSN-vH8dIOQvtdX1E/s1600/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+10350.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEqt_ejtsBDmRZXPS53_10-2fuNuDtKXh97ZxwVjTVDrMf0i7_6bB1Zu2666XV68RayTn1U58n0HOGke5D_1VreCNX1rbngqe6m0cGFIFWceMavbPoHymksCBRC9kSN-vH8dIOQvtdX1E/s320/%25E5%2585%25A8%25E7%2594%25BB%25E9%259D%25A2%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3+20110504+10350.jpg" /></a> </div>zuneのupdateページにrestoreポイントができていました<br />
<br />
<br />
<br />
購入後直ぐにアップデートしたので、update前後でのパフォーマンスの違いは判りませんが、開発機とは軽快さが違うと感じましたおとーぽんhttp://www.blogger.com/profile/09772014173374701958noreply@blogger.com0