hIDDEN bLOG

2010/1/14 木曜日

MonoTouchでCoreLocation

このエントリをはてなブックマークに追加
Filed under: .NET,iPhoneアプリ,MonoTouch — @ 23:08:46

さっそく実機で加速度やロケーションといったセンサーを使えるように...と思ったところでちょこっと引っかかった点があったのでまとめてみた。

というのもこのロケーションAPI、Objective-Cだと、プロトコルであるCLLocationManagerDelegateを使用して値の変更を受け取るのだが、これがMonoTouchにはクラスとして移植してある。
すると、クラスの多重継承を認めない.NETの制約により、適用出来る場面が大幅に制限されてしまう。

対処は簡単で、CLLocationManagerのラッパークラスを作成し、そこからイベントとして位置(と向き)の変更を受け取れるようにした。
ソースダウンロード locationmanager.zip
名前空間なんかは適当にいじって利用ください。

以下、ラッパー使用側のサンプルソース。 (続きを読む…)

2010/1/13 水曜日

ほぼ実物大iPhoneペーパープロトタイピングシート+

このエントリをはてなブックマークに追加
Filed under: iPhoneアプリ — @ 19:51:51

以前こちらの記事で公開した、iPhoneペーパープロトタイピングシート。
これに日本人ならみな大好きな、グリッドを追加したバージョンを作成した。

10ピクセルごとにラインを引いているので、お好みでどうぞ。

ぎっしり版 グリッドつき(PDF)
ゆったり版 グリッドつき(PDF)

ついでに以前公開していたものも。

ぎっしり版(PDF)
iphone_paper_proto.jpg

ゆったり版(PDF)
iphone_paper_proto_yuttari.jpg

MonoTouch買ったお

このエントリをはてなブックマークに追加
Filed under: .NET,iPhoneアプリ,MonoTouch — @ 13:09:58

重度のC#erであるところのボクですが、このたびMonoTouchを大購入に踏み切った次第。
この、C#によりiPhoneアプリが開発できるようになるというステキアイテム、これにより開発スピードを極めて加速し尽くし、ボロ儲けしようという目論見。
ついでにこの円高局面も、$399かーえー40,000円くらいなーという初見に対して36,000円(購入当時)くらいで済んでしまうという若干のお得感を醸すことで追い風となったのは言うまでもない。

手始めに、まずは簡単なHello worldから作ってみた。

MonoDevelopを起動して最初に行うのは、ソリューション・プロジェクトの作成。
ファイル>新規>ソリューションと、実にVisualStudio的なメニューからウィザード表示に移る。
そこでC#>iPhone>iPhone MonoTouch Projectを選択した状態で、ソリューション名等を適宜入力する。
mt01-011.png

もうひとつなにか聞かれるが、これはそのままで「OK」。
mt01-021.png

次いで画面デザインを行ってしまう。
xibファイルをダブルクリックし、Interface Builderを起動する。
mt01-03.png

そう、Interface Builder。
MonoTouchといえど画面レイアウトのデザインにはこれが必要なようだ。しかしXcodeのときには.hファイルと.mファイルを行き来してアウトレットやアクションの記述が必要だったが、MonoTouchではこの手順がずいぶん簡単になっている。
またIBを使わずコード上でレイアウトを記述するにしても、C#のおかげでとても楽になっている。
話はそれてしまったが、画面レイアウトを続けていこう。

今回は、テキストボックス、ボタン、ラベルを配置してみた。
ライブラリウィンドウから、コントロールをドラッグして配置する。
mt01-04.png

配置したコントロールに、それぞれアウトレットを作成する。
このスクリーンショットは「Snow」がつかないLeopardでのもので、Snow Leopard+Xcodeがインストールされている場合、アウトレットの登録箇所がちょっと違うので注意が必要だ。
mt01-05.png
今回はAppDelegateにアウトレットを作成する。
mt01-06.png
AppDelegateを選択した状態で、インスペクタウィンドウの「Class Outlets」ペインにある「+」ボタンをクリックして、アウトレットを3つ追加した。

そして登録したアウトレットとコントロールを紐づける。
mt01-07.png
「MainWindow.xib」ウィンドウ上のAppDelegateを右クリックし、表示された黒いウィンドウにある各アウトレットの○印から、レイアウト上のコントロールへマウスをドラッグする。おなじみのこの操作だ。
これで3つのアウトレット全てを紐づけてしまう。

一度IB上での編集を保存して、MonoDevelopに戻ってみよう。
すると、C#のコードにプロパティが自動生成されている。
簡単、便利、MonoTouch。
mt01-08.png

IBに戻って、今度はボタンのタッチイベントを処理するアクションを記述しよう。
mt01-09.png
インスペクタウィンドウで、今度は「Class Actions」のペインにアクションを追加する。

mt01-10.png
さきほどのアウトレットの紐づけのときとは逆方向で、今度はレイアウト上からAppDelegateへドラッグを行う。
レイアウト上のボタンで右クリックし、紐づけしたいイベント、今回は「Touch Down」の○印からドラッグしてAppDelegateでボタンをドロップ。
mt01-11.png
追加したアクションが1件だけなので、「touchDown」をクリックすると、イベントとアクションが紐づけられた。
mt01-12.png

さてここまでプログラムレスで進めてきた。
最後にちょっとだけコーディング。
ボタンのタッチイベントで、ラベルにテキストを設定する。
NSStringの、えーなんだっけか...とか考えなくてもString.Formatとかイッパツ。
mt01-13.png

AppDelegateクラスの末尾に、下記のメソッドを追加する。
さきほど設定したアクション名が、ここで記述するメソッド名となる。

1
2
3
4
partial void buttonDown( UIButton sender ) 
{ 
    this.messageLabel.Text = String.Format( "Hello {0}.", this.nameText.Text ); 
}

これをコンパイルし、iPhoneシミュレータで実行する。
mt01-14.png

適当な名前を入力しボタンをタッチすると、
mt01-15.png

はいこんにちは。
mt01-16.png

ちなみにこのSDK、現在は体験版も配布されており、ちょっと触ってみることが可能になっている。しかし体験版の制約として、実機への転送はできなくなっている。

2009/12/3 木曜日

google日本語入力をdvorakerが試してみた

このエントリをはてなブックマークに追加
Filed under: IT系 — @ 15:34:38

いきなりで驚いたのだが、googleがフリーのIMEを発表した。
変換精度や語彙については多くの方が語ってくれると思うので、dvoker目線で、google日本語入力に足りないと思ったポイントを2点挙げてみる。

1.ローマ字設定がない

日本のdvorakユーザーは「か行」の入力に「k」ではなく「c」を使う、というのは常識中の常識なのだが、こういったローマ字マッピングの設定変更ができない。
MS-IMEでもそうだが、初期設定のままだと「か・く・こ」はいいが、「き・け」を入力しようと「ci」や「ce」と入力すると「し・せ」となってしまう。
この点については、しかし無いものはしようがない、仕方ないから「k」のほうを使うということである程度我慢できる。

2.mac版でキーレイアウト選択ができない

こちらはちょっとどうしようもない。
英数入力時にdvorakを選択していても、かな入力にしたとたんQWERTYレイアウトに入れ替わってしまう。
ことえりの使えなさ加減に辟易していつATOKを買ってもおかしくなかったところに、今回の発表を聞いて喜んでインストールしてみたわけなのだが...
こればっかりはどうしようもない。
今後のアップデートに期待。

以上2点が追加されれば、個人的に最強レベルに入力が快適になるわけで、とても期待していますはい。

2009/10/4 日曜日

お月見

このエントリをはてなブックマークに追加
Filed under: 光画 — @ 0:14:28

googleロゴが今日は月見バージョンになっていて、ふと見上げれば実にいい天気。
月もこれまたよくでていたので、400mmGを引っ張り出して撮ってみた。
手持ちでw

トリミングしてみたのがこちら。

さすが名月。
被写体が強烈に明るいおかげで、ISO200-F8-1/500秒で撮れた。

Pages: Prev 1 2 3 4 5 6 7 8 9 10 ...43 44 45 Next

HTML convert time: 0.944 sec. Powered by WordPress