Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Smartphone workshop kansai #9

926 views

Published on

  • Be the first to comment

  • Be the first to like this

Smartphone workshop kansai #9

  1. 1. WindowsMobileでのTwitterの はじめかた。~ tmytの場合 スマートフォン勉強会@関西 #9 tmyt
  2. 2. かるく自己紹介  はじめましての方、はじめまして。  tmytっていいます。  大学院生になりました。  スマートフォンはWM派です。  あと、男です。  今日の格好は@Hisumiにやらされました。
  3. 3. おしながき  Azureaの紹介  Twitterのはじめかた。  Twitterのはじめかた – Phase.2  ちょっぴり開発者よりなおはなし  WorldViewしてみたよ!
  4. 4. Azureaってなんだろう  拙作のTwitterクライアント。  WindowsMobileで動きます。  僕が快適に使えるクライア ントを目指しました。  とある方面にも好評なよう です。
  5. 5. ついったー楽しいですね  ついったー楽しいです  お外にいるときでもわりとついったーし ちゃいますよね  Twitterドラマ(笑)も始まって絶好調ですね
  6. 6. ついったーのはじめかた ~ 普通の人の場合 ~  まずTwitter (http://twitter.com/)へアクセス して  今すぐ登録 ボタンをおして  フォームを記入して  アカウントを作成 押せば登録完了!  これであなたもついったー廃人!
  7. 7. いや、 そんなことはどうでもいいんだ
  8. 8. ついったーのはじめかた ~ tmytの場合 ~  とりあえず登録する。  端末を買う  とりあえずAPI仕様書を読む  とりあえずクライアントを書く  なんてかいてき!
  9. 9. とりあえず端末購入して悩む  i-mate 8502という端末がありまし た。  なんと製造していた会社が倒産し ました。  すると、なんということでしょう。 5,6万する端末がなんと驚き1万3千 円。  あれ、手元になにか増えてる。
  10. 10. 端末を購入した結果  ストレートQWERTY最高!  QVGAせまい!  EbIRCでTIGもいいけどもっと快適につ いったーしたい!  アプリ書けばいいじゃん。
  11. 11. 結果Azureaを作りました。  TIGでリプライを追う拡張も作ったけど入 力めんどい。  もっと快適にリプライおいたい!  そうだツリービューで追えたらかっこい いじゃん!  そんなアプリないのかな。  (約30分後)いいや作ればいいじゃん!
  12. 12. UIの必要条件としたもの  非選択項目は1行で表示される。  全文は項目を選択することで表示する  項目は子アイテムを持つことができる  QWERTYで快適に操作できる  それなりにタッチスクリーンでも使いや すければいいや。
  13. 13. 必要条件を満たすコントロール  標準コントロールで使えそうなもの  LISTBOX  SysListview32  SysTreeview32  さてどれなら必要条件を満たすコント ロールを作れるでしょうか
  14. 14. では検討してみましょう。
  15. 15. LISTBOXでやってみる  項目の高さをフレキシブルに変更できな い。  変更可能なのは項目が追加されたタイミング のみ。  結論:つかいものにならん。
  16. 16. SysListview32でやってみる。  項目の高さをフレキシブルに変更できな い。  全部同じ高さ or それぞれ違う高さを設定でき る。  しかしどちらも1回しか変更できない。  ツリービュー風味のことはVisualStudioで 実装されているがあれは気合いらしい。  結論:つかいものにならん。
  17. 17. SysTreeview32でやってみる。  項目の高さをフレキシブルに変更できな い。  リストビューっぽくするにはほとんど全 部オーナードローとかしないといけなさ そう。  結論:つかいものにならん。
  18. 18. 標準がこのざまじゃ… しかたないですね…
  19. 19. リストビューを作ってみよう!  リストビューを作るといってもそんなに 難しいことはありません。  どこかに項目情報を持っておいて表示さ せるだけです。  std::vector<ITEMINFORM>  std::deque<ITEMINFORM>  etc…  あとはコントロールの制御を書いて、ほ らできあがり!
  20. 20. リストビューができました  やっぱ全部自作のコントロールはかっこ いいですね!  表示がかっこよくなったら次に問題にな ることがありますね。  挙動  操作した時のみため  etc…  いろいろありますが…
  21. 21. それは 速度 ですね
  22. 22. 描画を高速にしましょう  Azureaが高速化のために行っているのは次 のようなこと。  計算はできる限りキャッシュする  とくに文字を描画した時の幅とか高さとか  必要な領域以外は描画しない  スクロールする際にはビットマップを保持し てスクロールするAPIを利用する  ScrollWindowEx  ScrollDC
  23. 23. 速度は問題ない。次は?  パンスクロールを採用したい。  どうする?  気合で実装する  OSにおまかせする  OEM実装のものにおまかせする。  さてどうしよう。
  24. 24. OEM実装のものにおまかせ  OEM実装におまかせ。 つまり端末メーカの独自実装におまかせ。  一番楽。  何もしないで大丈夫。  HTCの場合だとTouchFloの世代からは大丈 夫。  スクロールバーがあるとドライバレベル でフックしてスクロールしてくれる。
  25. 25. OEM実装におまかせ(2)  FTouchSLというアプリケーションがあり ます。  こいつもHTCのキネティックスクロールみ たいなことができます。  インストールするだけ。  らくちん。
  26. 26. OSにおまかせ  必要条件  WM6.5 lator  Native Application  WM6.5 DTK  コントロールにスクロールバーがあること  TKSetWindowAutoGesture を呼ぶ  あとはコントロールをはじくとスクロー ルできます。  らくちんですね。
  27. 27. じゃぁ気合で実装するには?  マウスメッセージをハンドルする。  WM_LBUTTONDOWN  WM_LBUTTONUP  WM_MOUSEMOVE  WM_MOUSEMOVEで前回との変位量をも とにコントロールをスクロールする。  文字に起こすとこれだけ。  意外とらくちん。
  28. 28. でも慣性が…  指を離した後もしばらくスクロールした い。どうするか。  WM_MOUSEMOVEで移動量と時間から速 度と加速度を求める。  求めた値を保存しておいて WM_LBUTTONUPが来た時にタイマーを セット。  あとはタイマーの実行ごとに保存した値 をもとにスクロールさせるだけ。  ね?かんたんでしょ?
  29. 29. もっとListViewっぽくしたい。  WM6.5からシステムコントロールのデザ インを変更できるようになりました。  リストビューのスタイル情報はレジスト リにあります。  HKEY_CURRENT_USER¥Software¥Microsoft¥To day¥ListView  ここに画像のパスとかパディング情報とかが あるので気合でがんばりましょう。  UxThemeも実装されているようです?(未 確認)
  30. 30. ネイティブコードでいろいろ頑張ると... こういうこともできます。 DEMO
  31. 31. MARKETPLACEで海外進出!! WORLDVIEWで海外へ!
  32. 32. WorldViewとはなんぞや  Marketplace for Windows Phoneでアプリ ケーションを翻訳せずに別の国で出品す るもの  一切翻訳できません!  もちろん、アプリケーションの紹介も翻 訳できません!  でも英語ができればそれでいいんです
  33. 33. とりあえずWorldViewしてみよう
  34. 34. WorldViewする上での注意点  アプリケーションの紹介ページは翻訳さ れません!  つまり日本語版をWorldViewすると日本以 外では化け化けで読めません!  en-USを追加の地域で申請してから、それ をWorldViewするといいとおもいます
  35. 35. WorldViewするとこんなにいいことが!  日本とかいうしょーもない規模のマーケット から世界のすばらしいマーケットに進出でき ます!  日本の4倍~6倍のダウンロードは見込めるん じゃないでしょうか  英語もしくはそれ以外の言語でメールとか飛 んできます!怖い!  自分が読み書きできない言語でもロケール ファイルを書いてくれる人とかいることがあ ります!  なんてすばらしいんでしょう!
  36. 36. みなさんWORLDVIEWで世界へ!
  37. 37. ご清聴ありがとうございました

×