Windows Mobile を自在に操る 〜各種デバイスのコントロール〜

Slides:



Advertisements
Similar presentations
サイボウズ株式会社 2016/4月 版 「サイボウズ Office on cybozu.com」 すぐできるBOOK -スケジュール 編-
Advertisements

位置情報と私 木村岳文 / 位置情報と私 / はじめに GPS 付き携帯、ハンディ GPS などを使っ て、お手軽に自分が地球上のどこにいる かを調べられるようになってきました。 このデータをつかって何かおもしろいこ とができそうな予感。 具体的にどうしたらおもしろいかはよく.
Internet Explorer 障害解析 最初の一歩 - IE のトラブルを理解する -. 概要 Internet Explorer を使用中に発生するトラブルの 種類と、調査のための切り分け方法を紹介します! (以降は IE と略称で表記します) よくあるお問い合わせ Web ページの表示が白画面のまま完了しない.
Jsdo.it と Monaca による端末へ のアプリ導入 5/29 (金)課題 堀江美香.
わんくま同盟 名古屋勉強会 # 初音 玲. わんくま同盟 名古屋勉強会 #4 今日の前提 Windows Mobile アプリの話が中心 BASIC 認証 httphttp http (XML) SOAP.
講師 松本 章代. 携帯電話のプラットフォーム オープンプラットフォーム Android のアーキテクチャ LiMo のアーキテクチャ 携帯電話用 OS 携帯電話用の自作アプリ事情 2009/11/142.
フォトブックサイト企画提案書 『モバフォトBook』
Windows Workflow Foundation of .NET Framework 3.0
PHP AV(Audio Visual) 拡張 クライアントサイド PHP アプリケーションPHP
メール暗号化:秘密鍵・公開鍵の作成  作業手順 Windows メール(Vista).
デジタルカメラで撮影した写真を 友人や親戚にメールを使って送る
インターネット接続方法 プロバイダとの契約が必要(パソコン購入店で相談) 「価格.COM」や「朝日新聞 x ECナビ」等で下調べ 回線の種類
PHP AV(Audio Visual) 拡張 PHP asアプリケーション
技術トピックス 2014/10.
【ワークライフバランス 研究センター】 -Web会議システム 利用マニュアル-
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
WebDAVでOpenOffice.org の文章を共有する
「携帯待ち受けギャラリー」 環境情報学部3年 深澤 洋介.
第2章 ネットサービスとその仕組み(前編) [近代科学社刊]
QRコード作って使ってみる 作成者: 川瀬 智美 川瀬智美ですよろしくお願いします ここにあるマークご覧になったことありますでしょうか?
IGD Working Committee Update
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
Hot Pepper for iPod touch
「絵葉書を通じてのハルビンの 街の印象調査」システムUIの iPadアプリ化 谷研究室  飯 祐貴.
ジオポ 位置情報を短縮して使いやすく (c) creco.
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
ただで使えるソフトウェア ーインストールとお絵かきー
PHP Framework Update symfony 編 株式会社ディノ 月宮紀柳.
さとりすと Satori Ghost Editor 里々ゴーストの統合開発環境を作ったよ page: 1/25
MSBuild 色々出来るよ 2011/04/02 お だ.
12月11日(土) 13:00~15:00 長崎大学教育学部 全炳徳 久方純
インターネット活用法 ~ブラウザ編~ 09016 上野喬.
アプリケーション共有機能 〈参考〉 (図1) (図2)
HTTPプロトコルとJSP (1) データベース論 第3回.
クラシック音楽普及プロジェクト KG:mao B3 wakutin.
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
「ネット上のいじめ」 ネット時事課題 ○子供たちは、スマートフォンや携帯ゲーム機を使い、毎日様々なインターネットサービスを利用しています。
Titanium Studioを使った アプリ開発 Vol.1
目次. 目次 バージョンアップガイドについて リリース日 バージョン情報 2012年8月28日 (火) バージョンアップガイドの内容 バージョンアップガイドはNIコンサルティングの製品に関する最新のリリースをまとめた統合的なユーザーガイドです。新機能や機能強化の内容、その導入に必要な情報を提供します。最新の機能を利用するガイドとしてお役立てください。
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
Microsoft MVP for Development Tools – Visual C++
Emoneαプログラミング入門 初音 玲.
Microsoft MVP for Development Tools – Visual C++
仕事: SystemVerilogを使いたい
オペレーティングシステムⅡ 第13回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
平成19年10月19日 図書系のための アプリケーション開発講習会
インターネット利用法実習 経営工学基礎演習a(第3週).
Web - 01 IIS を インストールしよう.
Androidアプリの作成 情報工学部情報工学科 07A1069 松永大樹.
無線対応プレゼンテーション用機器『wivia』&
メールの仕組みとマナー.
「ネット上のいじめ」 ネット時事課題 ○子供たちは、スマートフォンや携帯ゲーム機を使い、毎日様々なインターネットサービスを利用しています。
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
Microsoft MVP for Development Tools – Visual C++
コンピュータ プレゼンテーション.
プロジェクト演習Ⅱ インタラクティブゲーム制作
UDPマルチキャストチャット      空川幸司.
WindowsMobile de HelloWorld
WindowsMobile de HelloWorld
一歩進んだ Views の使い方 スタジオ・ウミ 山中.
Firebaseを用いた 位置情報共有システム
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
地理情報コンテンツ・データベースコンテンツ新規作成
プロジェクト演習Ⅱ インタラクティブゲーム制作
Presentation transcript:

Windows Mobile を自在に操る 〜各種デバイスのコントロール〜 伊勢 シン

自己紹介 伊勢 シン といいます。 中学二年のときにVB6からはじめてC#に移って今に至る。 仕事ではPHPとPerlばっかりです。 伊勢 シン といいます。 はてなやTwitterでは iseebi っていうIDつかってます。 中学二年のときにVB6からはじめてC#に移って今に至る。 仕事ではPHPとPerlばっかりです。 某IRCチャンネルでそそのかされて以来、Windows Mobile向けのフリーソフト作ってます。

自己紹介 代表作 ZEROProxy EbIRC - IRCクライアント わかりやすく言うと「WM の回線をごにょごにょして iPod touch の Safari でブラウズする」ためのソフト やっつけで作ったのに結構流行った。なんだかなあ。 iPhone がでたので、もうお払い箱。 EbIRC - IRCクライアント いちばん最初に作ったWMアプリ。過去に作ったIRCクライアントのソースを使って1日で作成。 どこでもIRCができるため、中毒性が高い。

Windows Mobile 端末にはカメラとかGPSとかLEDとかいろんなデバイスがついてます。 今日のお題 Windows Mobile 端末にはカメラとかGPSとかLEDとかいろんなデバイスがついてます。 PCよりも「現実世界に近い」端末 でも使い方がまとめてあるところがない。 iPhoneと違って探せば出てくるけど 今日は各デバイスの使い方をまとめて紹介します。 WM開発の楽しさを少しでも感じていただければと思います。

WM開発の不便な点と解決の方法の簡単な紹介 おしながき WMの各種デバイスの紹介と使い方 カメラ、位置情報、LED、バイブレーション WMアプリの公開について パッケージマネージャ Giraffe CABインストーラの作り方 WM開発の不便な点と解決の方法の簡単な紹介 サブクラス化 Monoのソースコードを使う

今回は基本的にC# + .NET Compact Frameworkでの開発をとりあげます。 前提条件とか 今回は基本的にC# + .NET Compact Frameworkでの開発をとりあげます。 一部 C++ もでます。 動作確認した環境は以下の通りです VisualStudio 2005 Professional Windows Mobile 5 PocketPC SDK R2 Advanced/W-ZERO3[es]

デモに使ったファイルはダウンロードできます URL長いので「えびのネタ帳」で検索してリンクたどってください。 デモのダウンロードについて デモに使ったファイルはダウンロードできます URL長いので「えびのネタ帳」で検索してリンクたどってください。 http://asca.project-comets.net/hikifarm/ebineta/?WankumaOsaka22 SDKのサンプルを使うものは必要ファイルと修正点のメモを入れています

携帯電話にはおなじみのカメラ。もちろんWMにもあります。 これもプログラムから制御できます。 カメラの制御には2種類あります。 OSの撮影ダイアログを表示して保存してもらう方法 DirectShow を叩いて直接画像を取得する方法

カメラの制御:OS標準のダイアログを使う方法 ユーザーが能動的に写真を撮るアプリに使用します。 撮影した写真に書き込んだり、アップロードしたりするのに適します Microsoft.WindowsMobile.Forms を参照します。

カメラの制御:OS標準のダイアログを使う方法 Microsft.WindowsMobile.Forms.CameraCaptureDialog を使います。 FileOpenDialog と使い方はほぼおなじです。 Advanced/W-ZERO3[es] のダイアログはバグ持ち ファーム2.0未満では、キャンセルするとアプリが固まる ファーム2.0以降では、同じアプリで1回撮影したあともう1回CaptureDialog開くとアプリにすぐキャンセル通知が戻ってくる。 シャープさんなんとかしてください。

カメラの制御:DirectShow を使う方法 シャッターをきるタイミングをプログラムで制御できるので定点観測とかに使えます。 DirectShow を使ってカメラを直接制御する事ができます。 以下のサンプルが詳しいです C:\Program Files\Windows Mobile 5.0 SDK R2\Samples\PocketPC\CPP\Win32\Cameracapture

カメラの制御:DirectShow を使う方法 よくわからない人は、サンプルからいくつかファイルひっこぬいてDLLに加工してC#から使うと便利です DLLプロジェクト作って、ファイル作って、20行くらい書いたら完成 使うファイルといじった部分は資料を見てください DirectShowちゃんと扱える人なら、いろいろできそう 動画もとれます。

OS標準ダイアログを開き、写真を撮影します Demo: カメラ制御 OS標準ダイアログを開き、写真を撮影します 追加するアセンブリの場所に注意してください。 サンプルからカメラ制御用のDLLを作って、プログラム制御で写真を撮影します 追加するファイル、修正する箇所をみてください。

地図を表示したり、まわりにあるお店の情報を取得したり、位置情報の役割はますます重要になっています。 位置情報の取得 地図を表示したり、まわりにあるお店の情報を取得したり、位置情報の役割はますます重要になっています。 WM 端末では以下の方法で位置を取得できます GPS中間ドライバ(GPS Intermediate Driver)経由 WMの位置情報取得の本来の姿 EMONSTERやBluetooth経由で接続したGPSレシーバなど W-SIM経由 (シリアルポートでATコマンドを送信) WILLCOM W-ZERO3シリーズのみ

位置情報の取得:GPS中間ドライバを使う方法 gpsapi.dll の関数を使います GPSOpenDevice GPSCloseDevice GPSGetPosition GPSGetDeviceState サンプルに入っているGpsクラスを使うと便利です。 C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CS\GPS WM5SDK R2 のサンプルだとうまく動きませんでした

シリアル通信のため、System.IO.Ports.SerialPort を使います。 位置情報の取得:W-SIMを使った方法 シリアル通信のため、System.IO.Ports.SerialPort を使います。 COM1ポートを開いてATコマンドを3つ送ると位置情報と郵便番号を取得できます。 “at@lbc1”、 “at@lbc?”、 “at@lbc2” W-SIM使用中(パケット通信中)は使えないので、事前に接続を切断する必要があります。

GPS中間ドライバ経由で位置を取得します。 Demo:位置情報取得 GPS中間ドライバ経由で位置を取得します。 使用しているのはAd[es]ですが、 mimicGpsという、W-SIMの位置情報を中間ドライバに流してGPSとして位置を取得できるようにするアプリを使っています。

LEDの制御は NLedGetDeviceInfo、NLedSetDevice というネイティブAPIを使います これは、NGetDeviceInfoとNLedSetDeviceというネイティブのAPIを使って制御します。 Windows Mobile の中ではLEDとバイブレーションは同列に扱われていて、同じAPIで制御できます。

Demo:LED、バイブレーションの制御 その後、バイブレーションの動かしてみます。 もしかしたらわかりにくいかもしれません。

Windows Mobile アプリの配布について PCでインストーラを動かし、ActiveSync経由でインストール (商用アプリに多い) インストーラCABを実機転送してインストールする 圧縮されているインストーラCABを解凍して実機転送してインストールする EXEだけ圧縮されているファイルを展開してユーザーが配置する

Windows Mobile アプリの配布について おすすめは「インストーラCAB単体の配布」 なによりもユーザーが簡単に扱える MSにしてはわかりやすいインストール管理の仕組みなんだから使わなきゃ損 インストーラCABは「スマートデバイスCABプロジェクト」を用意するだけで簡単にできます。プログラム一覧への登録もできます。 インストール/アップデートを支援する仕組みが最近できた>次項で宣伝

専用のアプリカタログクライアントからアップデートやインストールができます。 Giraffe について Windows ケータイアプリカタログ 様々なアプリの更新情報をまとめるサイト+専用クライアントによってインストールとアップデートを支援します。 専用のアプリカタログクライアントからアップデートやインストールができます。 最近登録数が100を超えました

インストーラCABだけ上げるときはHTTPサーバーにMIMEタイプを設定しましょう AddType application/x-cab-compressed .cab やっておかないと実機のInternet Explorerで開いたときにHTMLとして読み込まれて大変な事になります。 スマートデバイスCABプロジェクトで2バイト文字を使うとCABの作成に失敗します。 VSが出力してる文字コードが良くないらしい 手動でinfファイルを書けばできるけど…

Demo:インストールCABの作り方、Giraffe Giraffe の登録に必要な 「CABインストール名」というパラメータの説明も行います。 Giraffe の画面をご紹介します。

Windows Mobile 開発の不便なところ .NET Compact Framework は元の .NET Framework に比べていろいろ機能が減っている URLエンコードするサンプルで紹介される System.Web 関連のクラスは全滅に近い Resize イベントをもっているコントロールはForms くらいしかない。 メール送信等便利な機能の多くが削られている

.NET Framework のオープンソース実装 Mono のソースコードをプロジェクトに取り込んで使う方法 ほしいクラスのソースを取り込んでビルドとおるまでひたすらほかのクラスの取り込みと修正。 根気が必要です。 ライセンスに注意が必要。 Mono は LGPL です。 ソースコードを取り込むと公開の義務が発生します。

Compact Framework はイベントが足りない上、各コントロールにWndProcイベントがない 解決法:サブクラス化を使う Compact Framework はイベントが足りない上、各コントロールにWndProcイベントがない ウィンドウメッセージフックする「サブクラス化」を行って必要なイベントを取得する方法がある VB5/6の時代では常套手段 SetWindowLong を使います。 この記事が詳しいです。 http://iseebi.half-done.net/?TechDoc/SubclassAtWindowsMobile

Windows Mobile についているデバイスの使い方をご説明しました まとめ Windows Mobile についているデバイスの使い方をご説明しました これだけあれば何か面白いもの作れるね! iPhone に負けるな!立ち上がれWM開発者! アプリの配布はCABで。Giraffe登録してね! Compact Framework は いろいろ減ってるけどわりとなんとかなります