2007年10月30日火曜日

uGNote1.22

GoogleNoteの公開ページを閲覧するアプリuGNoteを更新しました
といっても先月行ったオフラインブラウズ機能をちょっといじっただけです
機能的には殆ど変わっていません。9/30日バージョンからの変更内容は

  • 画像ファイルの受信に失敗することがあったので受信処理を変更
  • オフライン用のログファイルの保存先を設定できるように修正
  • 不要なログファイルをメモ単位で削除するように修正
です

オフラインファイルの保存先を設定する処理にだいぶ手間取りました。あとはプログラミングをサボり気味でした。細かい作りこみの様な作業はテンションが下がってしまって、はかどらなかったりします。

cabファイル

このアプリの基本コンセプトはログファイルを残さない事でしたが、オフライン機能を導入したことでログを残す設計になりました。
ログを残さないってコンセプトはセキュリティ考慮的な意味合いがあったりした訳ですが、そもそも公開ノートを閲覧する時点でセキュリティ云々は意味が無い事に後で気がつきました。

そんな訳でオフラインの要望を貰ってあっさりと方針を転換しましたが、プログラミングはあっさりとは行きませんでした....

オフラインブラウズをする場合はuseridの設定画面で、offline browseにチェックを入れる必要があります



オフラインファイルの保存先はオプションメニューから設定画面を開いて設定します



オプションメニューはユーザーリスト表示中のみ選択できます。また、メモのダウンロード中は選択できません

2007年10月29日月曜日

モーターショー

土曜日にモーターショーに行ってきました。土曜日は天気が良くなかったし、僕はモーターショーにあまり興味が無かったので気は乗らなかったのだけど、小3のお兄ちゃんが行きたいと言うので行ってきました。
お兄ちゃんは前の日から興奮ぎみでした。

彼は、なぜかプジョー好きで、普段から「プジョー、プジョー」とうんざりする位にプジョーの話を聞かされていたので、プジョーブースでの彼の満足げな顔を見て、来て良かったな~って思いました

話題のGTRは人が多すぎて近づくことも出来ず。

トヨタとかホンダ、日産のコンセプトカーって相変わらず、かっこ悪いなーとか思いました。未来っぽいデザインの車って何であんなにかっこ悪くしちゃうんだろーね。って思うのは僕だけなのか?
日産のロボットが付いてる奴なんて、意味が分からん!と思っていたけど、実物を見ると、かわいいから良いか~って気になってしまった。R2D2みたいな物か?でも必要ないと思う

BMWでもらった冊子に付いていたVirtual Ownerってポスターが面白かった
ポスターをこんな感じで地面に置いて、


携帯で写真を撮って、bmwのサーバにメールを送ると、一分ぐらいで




BMWを合成した写真が送られてくる。ポスターの置く向きや角度に合わせて、車の向きも変わる。自宅の車庫の前で撮影してオーナー気分を体験してください、って事らしいけど

自宅も、車庫もネーヨ!

しょうがないので駅の改札前で撮ったり、部屋の中で撮ったりして遊びました...

2007年10月27日土曜日

開拓おかき

北海道の土産物屋さんで、売り切れだった北菓楼の開拓おかき。千歳空港のお店でも売り切れで、買えないと思うと欲しくなるもので。飛行機の搭乗ゲート前でようやく見つけてホタテ味だけ購入した。

ホタテ味チョーうまかった!他のも食べてみたいと、思っていたら
二子玉川の高島屋で北海道展をやっていたので、4種類買ってしまった

Posted by Picasa

2007年10月25日木曜日

web上のファイルを受信する処理

フォルダ選択ダイアログは、不満はあるけど一応実装できた。ノート
不満点は
  1. やはり、ルートの名前とアイコンが取得できていないので適当に処理してしまった
  2. 指定したフォルダを選択した状態でダイアログを開く処理が不完全
だが、使用上あまり重要でもないと思うので、あんまり深く追っかけないで次の課題に進む事にした

次の課題は画像ファイルをwebからダウンロードしてファイルに保存する処理。
今までは受信処理を非同期処理として複数個のファイルを同時にダウンロードするようにしていた。しかし受信に失敗しているファイルが幾つかあるようだったので、受信処理を見直すことにしてみた。

非同期処理は、HttpWebRequest.BeginGetResponse();を使って、非同期リクエストを発行してレスポンスをコールバック関数で処理する
非同期なので、レスポンスが帰る前に次の処理が実行できる。あらかじめ受信する必要のあるuriへのリクエストを発行しておけるので、リクエスト->レスポンス->リクエスト->レスポンス....と順番に処理をするよりも効率が良いはず。

ただし、リソースが限られるので大量のリクエストを発行することは出来ないので、同時に発行するリクエストを制限する必要があると思う。リクエスト数の制限はOSかフレームワークがやってくれるから気にしないで好きなだけBeginGetResponseを呼び出しても良い”と勝手に思っていたが受信失敗しているので、そうでもなさそう

また、レスポンス待ちで長時間処理が終了しないリクエストをkillする仕組みを用意しなければいけないので処理が煩雑になってしまった

そこで、ThreadPool.QueueUserWorkItem();を使って同期処理の受信関数を複数スレッド同時実行するようにしてみた。、ThreadPoolはシステムが同時に実行するスレッドを適当に管理してくれるもの(だと思う)

実験してみた結果は、ほとんどの受信リクエストが失敗するというひどい状態になってしまった。

結局今のところ、ファイルを一個づつ順番に同期処理でダウンロードするのが一番確実みたい。これだと、レスポンスの遅いuriがあると無駄に時間を費やしてしまうので効率が悪く気にいらない。他に解決策が見つからなければしかたが無いかもしれない

2007年10月23日火曜日

蓼科

土日にまた白樺湖近辺に行ってきました、そろそろ紅葉の時期かと思って出かけてみました。
紅葉はこれからって感じでしたが、場所によっては良い感じで楽しめました
遊んでばっかりですね

霧が峰、八島が原湿原、車山、横谷渓谷と見て回りました

金曜日は雨でしたが土日は快晴。土曜日は前日の雨のおかげか空気がスッキリときれいで富士山が良く見えました。

八島が原湿原:天然記念物だそうです。


お昼は定番の蕎麦やに行きました。最近蕎麦アレルギー反応が強くなってきた感じがしていたので、蕎麦は食べないようにしました。かき揚げ丼を頼みましたが、不覚にも完食できませんでした....

車山:正面に富士山がうっすらと見えました

横谷渓谷の王滝:滝まで結構な山道でした。途中からは登山道って感じでした。筋肉痛になりそうです。

2007年10月18日木曜日

プログラムしてない

先週旅行から帰ってきて、一週間、録画してあった24を見ただけで終わってしまいました。
ほとんどプログラムさわってないので、旅行前に何をしていたか忘れてしまった....

2007年10月13日土曜日

フォルダ選択ダイアログ

yeneさんにコメントでSHGetFileInfoを教えてもらったので、フォルダアイコンを表示できるようにしてみた。ただ、WinodowsMobileには開いた状態のフォルダアイコンは存在しないのか?取得できなかった。エミュレータで実行した場合と、アドエスで実行した場合ではアイコンの形状が違って、アドエスでは横向きのフォルダアイコンが出てきた。僕の個人的な趣味ではエミュレータで表示された従来のアイコンのほうが好き。横向きは、なんか中身がこぼれそうで心配だ
さらに、アドエスではSHGFI_SELECTICONを指定すると一寸だけ開いたアイコンが取得できた。ホンとにちょっとだけなので暫く気がつかなかった
ルートの名前とアイコンは取得でき無そうなので自分で用意しなければいけないのかも...

エミュレータで実行した場合(QVGA)


アドエスで実行