アプリ開発のTipsとか(2)先日に引き続き、W-ZERO3用のアプリを書いていて気がついたことをメモしてみました。今後アプリを作られる方の参考になれば幸いです。UIデザインやってみれば分かるが、トップレベルのメニューは2つまでしか表示されないことを考慮してデザインする必要あり。追記)メニューは2つ以上でも大丈夫でした。左右ボタンで選択できないだけです。ご指摘いただき、ありがとうございました。(/追記)W-ZERO3は縦横がダイナミックに切り替わるので、ダイアログはどちらの画面でも正しく表示されるようにレイアウトしよう。エミュレータと実機両方で試してみた方がよい。エディットコントロール最初にW-ZERO3を使ったとき、なぜメモ帳が付いてないんだろうと思ったが、自分でエディットコントロールを使うアプリを書いて見て、その理由が分かった。Mobileのエディットコントロールはこんな問題があるようだ。標準でメモ帳が付いてないんだな。そんなわけで、エディットコントロールを利用した拙作TinyPadは、ちょっとしたメモ用途にしか使えない。Mobileや他のエディタを使おう(笑)文字コードは全てUnicodeWindowsのWin32APIは、たいてい文字コードとしてANSIとUnicodeが選べるようになっている。MobileはUnicode版しか用意されていない。ANSIのファイルを扱う場合はUnicodeとの相互変換が必要だ。Documentsしか開けない?ファイル名を取得するGetOpenFileName。Documents配下のファイルしか、開けなくないですか?内蔵メモリはともかく、MiniSD配下のファイルは、セーブ時(GetSaveFileName)しか選べないっぽい。Dialogを使わず、自前で作るしかないのかなあ。どなたか知っている方がいましたら、教えていただけると嬉しいです。miniSD上のファイルも普通に開けます。アイコンにMiniSDのマークが付くので、内臓メモリと同じファイル名があっても、判別可能です。Dialogで使用頻度が高いと思われるフォント選択ダイアログChooseFont()。eVC++を見た感じ、見当たらない。これはAPIが存在しないわけではなく、ヘッダに定義されてないだけなので、以下の方法で呼び出すことができる。各種パラメータを設定し、上記アドレスをコールこれでChooseFont()は使えるが、残念ながらW-ZERO3では問題がある。縦画面モードでは問題ないが、横画面モードでは画面からダイアログがはみ出るばかりか、OKボタンが押せなくなり、アプリの強制終了しか手段がなくなってしまう。いうわけで、現状では自前でフォント選択ダイアログを作るしかないようだ。こちらも、もし何かよい方法があれば、教えていただけると嬉しいです(こればっか)VGAモードeVC++で普通にプログラムを作ると、解像度がQVGA(240x320)のアプリになる。VGA(480x640)のLCDを持つW-ZERO3なのだから、アプリもVGA対応にしたいものだ。eVC++でアプリをVGA対応にするには、以下の2ステップが必要。Mobileは、リンク時に設定するSubsystemのバージョン番号が4.20より大きいと、VGA対応アプリと認識するとのこと。Subsystemバージョンを変更するには以下のようにする。Edition用のエミュレータでしか実行できなくなってしまうので、ARMV4の設定のみを変更するのがいいだろう。以上の設定を行ってからbuildを実行すれば、アプリがVGAで表示されるはずだ。アプリがVGA対応したかどうかはビットマップ等を表示してみればよいが、もっと簡単に見分ける方法は、メニューを見ること。VGA対応していれば、メニューのフォントがQVGAの時より細かく表示されているはず。英数を使うと分かりやすい。Mobileにおけるプログラミングは、WindowsとAPIの親和性は高いものの、作るには多少の慣れが必要です。リソース制約、解像度、アプリの振る舞い、などの違いから、Windowsと全く同じというわけにはいきません。言うものの、それは非常に難解というわけではありません。Windowsプログラマなら(作る物にもよりますが)それほど困難ではないでしょう。組み込みでC/C++以外にもJavaや.NETなど選択肢が多いのは、組み込みの開発環境としては、けっこう恵まれていると思います。何より、この小さなコンピュータで自分のプログラムが動くというのは、なかなか快感です。Worldが出た時はかなり嬉しかった。組み込み開発の楽しさをお手軽に楽しめるという点では、お勧めのハードです。スタンドアロンだけでなく、通信アプリだって作ることができるので、応用範囲も広い。この記事や他のサイトなどを見て、一人でも多くのW-ZERO3プログラマが増えてくれることを願っています。Tumblr広告を非表示にする関連記事2010-03-24願わくばこの試みが世界に広がっていきますように先日からradikoの試験放送が始まりましたね。v0.2公開TinyClockをアップデートしました。WS003SHからWS011SHへの機種変は正解だったの?Advanced/W-ZERO3[es](以降アドエス)をしばらく使ってみ...2006-07-07バグを防ぐためにプログラマが出来ることバグの根絶って、本当に難しいと思います。Emulatorが動かない件W-ZERO3が動くようになってよかったです。(22)リンクはてなブログブログをはじめる(無料)お知らせ参加グループプログラミングはてなブログをはじめよう!yasuhoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。