PiClipをNokia Asha Platform端末に特化してみるテスト。その1。
今月に入って、Nokia Asha 501が発表された。
前にSeries 40 full touch端末について『これで完成形か』とか書いてたけど、正直すまんかった。1年経ってさらにここまで変わるとは思わなかった。
501が発売されたら当然買うけど、さしあたり開発環境で遊んでみたので覚書。
前に書いてた記事
NokiaのSeries 40 full touch端末の開発環境について。
http://ayamadori.hatenablog.com/entry/20120701/1341156403
PiClipをSeries 40 full touch端末に特化してみるテスト。その1?
http://ayamadori.hatenablog.com/entry/20120826/1345994936
Nokia Asha 305 を買いました。
http://ayamadori.hatenablog.com/entry/20120909/1347199378
との比較がメインになりそう。
続きを読むたじみ陶器まつりに行ってきました。 #tajimiyakumo
買う予定なかったのに、マグカップ買っちゃった。。。
(普通に使ってます)
たじみ陶器まつり
http://www.tajimi-pr.jp/201341314info/toukimatsuri%20info.html
いろんな陶器が見られて楽しかった。いくら半額といわれても、さすがに7ケタの器は買えないけれど(笑)
とはいえ、1番の目的は写真にある『やくならマグカップも(以下、やくも)』の豆本。
参加イベントレポート(第61回 たじみ陶器まつり)
http://yakumo-tajimi.com/event.html
中高生は無料、それ以上は1冊100円(それ以下は配布しない?)ということで、Vol.1,2で200円払って買ってきた。よくある同人誌だと、豆本は宣伝用に無料配布してメインの同人誌を買わせるパターンが多いと思うのだけど、逆の構図になっているのがやくもらしい。これ、ちゃんとお金払って買った大人が(自分を含め)どの程度いたのか興味がある。
あ、ちなみに内容はちゃんと面白かったです。(詳しくは書かないけど)
2番目の目的は陶器まつり限定のやくもまんが(パンフレット)。
これ、この前の週に行われた全国萌えキャラフェスティバルで配布された限定まんがとリンクしているようで、そちらを入手できなかった*1自分としてはよく分からない部分もあった。つくづく残念。
3つ目はやくもVol.5。まあこれは多治見じゃなくても入手できるけれど、少なくとも日本橋では無理だった(品切れか発見できてないか)ので、無事に手に入ってよかった。
相変わらず、すごく自分好みのお話。
*1:休日出勤だった。。。orz
CompassとLocationの話。(IS12T限定?)
トライアスロンのテーマがセンサを利用したアプリということで、簡易ナビゲーションアプリを作ってみたいと思ったのだけど、エミュレータではコンパスが動作しないので、IS12Tを買ってみた。
一応実機でちゃんと動いているように見えるのだけど、一部よく分からない挙動をしている。
WebBrowserコントロールがちらつくという話。
もいっこWebBrowserコントロールのネタがあったんだった。
NavigateToString()でhtmlソースを表示するとき、WebBrowserコントロールの背景色が白色固定でかっこ悪い。
なので、デバイスの背景色と一致するように、こんな感じでソースに手を入れてる。
// Get color resource and convert ARGB to RGB (#AARRGGBB -> #RRGGBB) string backgroundColor = (App.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush).Color.ToString().Remove(1,2); string textColor = (App.Current.Resources["PhoneForegroundBrush"] as SolidColorBrush).Color.ToString().Remove(1, 2); string linkColor = (App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush).Color.ToString().Remove(1, 2); // from http://stackoverflow.com/questions/9124166/how-to-make-webbrowser-control-with-black-background-in-windows-phone-7-1 string header = "<html><head><meta name=\"viewport\" content=\"width=device-width, user-scalable=0\"/><style type=\"text/css\">body{background-color: " + backgroundColor + "; color: " + textColor + "}a:link{color: " + linkColor + "}</style></head><body>"; string footer = "</body></html>"; source = header + source + footer;
これで一応望み通りに表示はできるのだけど、表示される直前に一瞬コントロール部分が真っ白になる現象が起こってる。
検索してみると他にも悩んでる人はいるようで、
Is it possible to change the background color of the WebBrowser control before loading content?
http://stackoverflow.com/questions/5602132/is-it-possible-to-change-the-background-color-of-the-webbrowser-control-before-l
Preventing white background before WebBrowser control's rerendering
http://social.msdn.microsoft.com/Forums/en-US/wpdevelop/thread/d17c9b92-28e6-4271-961f-c237ceb80f46/
参考にしながらNavigatingイベントやLoadCompletedイベントを拾ってOpacityやIsVisibleを変化させたりしてみたのだけど、解決しない。
ま、実用上そこまで困るものでもないんだけど、どうにも気持ち悪い。
最悪、ページ遷移アニメーションとかでごまかすしかないのかなー。
WebBrowserコントロールの日本語表示について。
WebBrowser クラス
http://msdn.microsoft.com/ja-jp/library/microsoft.phone.controls.webbrowser(v=vs.92).aspx
Windows Phone 7では、NavigateToString()*1で日本語を表示させようとすると文字化けするらしい。
[WP7] WebBrowser コントロール (WP7.0)
http://shinichiaoyagi.blogspot.jp/2011/06/wp7-webbrowser-wp70.htmlWebBrowserコントロールでローカルのコンテンツを表示する
http://ch3cooh.hatenablog.jp/entry/20111114/1321239292
ここにあるように、文字実体参照にして渡せば解決するので特に問題はないのだけど、
Windows Phone 8のWebBrowserコントロールは少し挙動が異なるかもしれないのでメモ。
文字列『だけ』を渡した場合に文字化けするのはWP7と同じだけど、htmlヘッダで囲むと文字化けしないっぽい。
ほげほげ[文字化け] → <html>ほげほげ</html>[正しく表示]
ブラウザがIE9→IE10に変わったのが影響しているのかな?
WP7では特に調査してないのでよく分からん。>やれよ
livedoor Readerのクッキー処理とCookieContainer
CookieContainer クラス (System.Net)
http://msdn.microsoft.com/ja-jp/library/windowsphone/develop/system.net.cookiecontainer(v=vs.105).aspx
livedoor ReaderのWeb APIにアクセスするには、Cookieにreader_sidをセットする必要がある。
LivedoorReaderのセッションの作り方
http://d.hatena.ne.jp/thrakt/20091225/1261715185
ログイン処理をしてみると、レスポンスヘッダのSet-Cookieでは実際にそう指示されているのだけど、なぜかreader_sidだけがCookieContainerにセットされない。*1
おそらくCookieContainerのドメイン周りの処理が影響していると思われるのだけど、正直よく分からん。ネットワーク周りの知識なさすぎ>自分
Set-CookieとCookieContainer
http://agloo.blog92.fc2.com/blog-entry-40.html
対策としては、これだけを手動でCookieにセットしてやれば良い。*2
CookieContainer.SetCookies(new Uri("http://reader.livedoor.com"), "reader_sid=" + apiKey);
結論だけ見たらとても簡単な話なのに、なんであんなに解決に時間がかかったんだろうねまったくorz
Windows Phone トライアスロン2013に参加してみた。
Windows Phone アプリケーション トライアスロン 2013
http://msdn.microsoft.com/ja-jp/jj884074.aspx
ちょうどDell XPS 12を買ってWP8の開発環境が構築できるようになったし*1、前からWindows Phone開発はやってみたいなあと思っていたので、参加するのにちょうど良いタイミングだった。
作ったのは以下の3つ。
- Feedladder
livedoor Readerの非公式クライアント。
- Templatish
テンプレート(製図とかでつかうアレ)もどき。
- NAVI2HOME
Windows Phone開発だけでなくVisual StudioもC#も初めて*2というところからの参加だったので、いろいろ手探り、というかサンプルそのままといったところもあってちょっと恥ずかしくはある。
特に下2つはトライアスロンを完走するためにでっち上げたようなものなので、実用性も皆無じゃないかなw
Feedladderだけは多少やる気があって、今もアップデート申請中。
締切が決まっていたのでだいぶん時間を取られてしまったけれど、サンプルやテンプレートがしっかり用意されていて、それらを眺める(そしてちょっといじる)だけでもいろいろと勉強になった。
これから、作業中に気づいたところをゆるゆるとメモしていこうと思う。
あとはソースを整理して公開したいなあ。