<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.8.6" -->
<rss version="0.92">
<channel>
	<title>Hi-farm blog</title>
	<link>http://blog.hi-farm.net</link>
	<description>ActionScript 3.0 , AIR , FLEXからCocoa, OpenGL</description>
	<lastBuildDate>Thu, 25 Feb 2010 04:30:34 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>ja</language>
	
	<item>
		<title>iPhoneでFlashの画面を操作する</title>
		<description>以前、名古屋のFxugにて少し発表した内容なんですが、ずっと記事にできてなかったので、今更ながらまとめます。

密かに前から社内用発表会のネタとして作ってはいたのですが、僕個人的にも、なかなか披露する機会がないまま、時間が過ぎてしまいました。

概要としては、
1. iPhone上でボタンをタップすると、AIR 2で作ったサーバーに、iPhoneからSocket経由で信号を送ります。
2. AIR 2のサーバーが、信号を受け取り、信号に応じた処理を行います。

これが作ったアプリのキャプチャです。



iPhoneとAIR 2サーバーの関係は、この通りです。



簡単に行ってしまえば、これだけです。
では、ここから説明します。

1. AIR 2のサーバー部分を作成
AIRでサーバーを作るには、UDPとTCPのサーバーがありますが、今回はTCPで通信するので、flash.net.ServerSocketクラスを使用します。

宣言〜受付開始
[code]
&#60;pre&#62;import flash.net.ServerSocket;

// 接続してきたSocketを保持する
var socks:Vector. = new Vector.();
// インスタンス生成
var server:ServerSocket = new ServerSocket();
// 接続時のイベントハンドラ作成
server.addEventListener(ServerSocketConnectEvent.CONNECT, serverSocketConnectHandler, false, 0, false);
// 待ち受けポートを指定（43243番で受け付ける）
server.bind(43243);
// 待ち受け開始
server.listenen();&#60;/pre&#62;
[/code]
接続時：
function serverSocketConnectHandler(event:ServerSocketConnectEvent):void
{
  // 接続してきたSocket
  var socket:Socket = event.socket;
  // 接続してきたSocketにデータを返すため、イベント設定
  socket.addEventListener(ProgressEvent.SOCKET_DATA, receiveHandler, false, 0, false);
  // 接続してきたSocketを保持する
  socks.push(socket);
}
受信時：（本来は宛先を指定するべきだが、特に指定せず、全てのSocketに送信しています）
function receiveHandler(event:ProgressEvent):void
{
 ...</description>
		<link>http://blog.hi-farm.net/2010/02/25/iphone%e3%81%a7flash%e3%81%ae%e7%94%bb%e9%9d%a2%e3%82%92%e6%93%8d%e4%bd%9c%e3%81%99%e3%82%8b/</link>
			</item>
	<item>
		<title>Mac版Flash CS4のflパッケージへのパス</title>
		<description>久しぶりのブログ記事がメモレベルですみません。

Flash BuilderとFlashとを共存させたい場合、Flash Builder側にもflパッケージの場所を教えてあげたい場合があると思うのですが、なかなかこれが忘れやすいところにありますので、メモ代わりに残しておきます。

ちなみに、Snow Leopard, Flash CS4の環境です。
Application/Flash CS4/Common/Configuration/以下です。（Flash CS4の位置はインストールした場所により異なるでしょう）

.swcの中身は今イチ解らなかったのですが、
コンポーネント類 .swc : Components/以下
コンポーネント類のソース：Component Source/ActionScvript 3.0/以下

です。
もしかしたらもっと簡単に使えるようになる方法があるのかな、とも思いますが、ソースもみれるのはこれはこれでいい事があるかもしれないので残しておきます。


イージング系：libs/projects/Flash/src/以下 </description>
		<link>http://blog.hi-farm.net/2009/09/30/mac%e7%89%88flash-cs4%e3%81%aefl%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e3%81%b8%e3%81%ae%e3%83%91%e3%82%b9/</link>
			</item>
	<item>
		<title>ListBoxとDataTemplate</title>
		<description>なんと今回はC#あるいはWPFについてです。

自分があまりにも物事を忘れやすいことを反省して、忘れないようにするためのタスク管理アプリを作りました。
その時にListBoxで困ったのでメモ。
やりたい事は、ListBoxのItemsSourceに自分で作成したクラスのプロパティのコレクションを適用させる、ということ。

Window1.xamlの一部
ListBoxの定義：
[code]
&#60;ListBox x:Name=&#34;dataList&#34; ItemTemplate=&#34;{StaticResource listTemplate}&#34;/&#62;
[/code]

DataTemplateの定義（TodoEntityというのが自分で定義したエンティティクラスです。）：
[code]
&#60;DataTemplate x:Key=&#34;listTemplate&#34; DataType=&#34;{x:Type local:TodoEntity}&#34;&#62;
            &#60;Grid ToolTip=&#34;{Binding Path=DescriptionValue}&#34;&#62;
                &#60;Grid.ColumnDefinitions&#62;
              ...</description>
		<link>http://blog.hi-farm.net/2009/08/11/listbox%e3%81%a8datatemplate/</link>
			</item>
	<item>
		<title>[iPhone]POSTでファイルアップロードもできるサンプルをアップしました。</title>
		<description>現在作っているアプリでは、iPhoneからファイルとデータをアップロードする仕組みが必要になり調べてみたのですが、なかなか目的を達成してくれるクラスやライブラリが見つからなかったので自分で作ってみました。
ソースとテストで使ったPHPのファイルもgithubのここにおいています。
http://wiki.github.com/mmlemon/HTTPMultipartPost

ソースにはcopyrightとか書いていますが、改編などはご自由にどうぞ。ただし、こちらではいかなる責任も負いませんのでご了承下さい。

内容は、こんな感じです。

MultipartPostHelper：このクラスを使ってファイルのアップロードを行います。
実際の使い方は、HTTPPostSample2ViewController.mをご確認下さい。

使用する流れは下記の通りです：

	送信先URLを設定する	
	文字列データ部分を作成する（Key用の配列と値用の配列が必要です。）
	バイナリデータ部分を作成する（このとき、data=実際のデータ：NSData、orgName：ファイル名、postName:Postで使われる名前。例：orgName="file.txt", postName="postFile"の場合、PHPでは、$_FILES["postFile"]["name"]とすると、"file.txt"が返されます。）
	文字データをMultipartPostHelperに追加
	バイナリデータをMultipartPostHelperに追加
	sendで送信



以上です。
 </description>
		<link>http://blog.hi-farm.net/2009/07/22/iphonepost%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%a2%e3%83%83%e3%83%97%e3%83%ad%e3%83%bc%e3%83%89%e3%82%82%e3%81%a7%e3%81%8d%e3%82%8b%e3%82%b5%e3%83%b3%e3%83%97%e3%83%ab%e3%82%92/</link>
			</item>
	<item>
		<title>Word Pressの自動アップデート</title>
		<description>連続Postですみません。

最近WordPress上でアップデートが可能になってとても便利だな〜なんてのんびり喜んでいたのですが、google analysisのプラグインの設定が消えてしまう、という問題が起こりました。

実際このサイトは誰が見ているんだろう、という位なのでpvとかあまり意識していなかったのですが、ある日を境にアクセス数が0になってたので、さすがにこれはおかしいと思い調べてみると、UA-00000-0というような値になってしまっていました。。。。

メニュー下部のここをクリックして設定を確認してみるとよいと思います。

[caption id="attachment_210" align="aligncenter" width="165" caption="wpの環境設定"][/caption] </description>
		<link>http://blog.hi-farm.net/2009/07/13/word-press%e3%81%ae%e8%87%aa%e5%8b%95%e3%82%a2%e3%83%83%e3%83%97%e3%83%87%e3%83%bc%e3%83%88/</link>
			</item>
	<item>
		<title>iPhone 3GSに乗り換えたときに躓いたこと。</title>
		<description>

つい先日、iPhoneに新しい機種、iPhone 3GSが発売されました。
なので早速僕も購入して、現在開発中のアプリを実機に入れて試そうとしたときにちょっと上手くいかなかったのでメモしておきます。

プロジェクトファイルを開いて、Device - 3.0 &#124; DebugとしてiPhone 3GSに繋ごうとすると、
「供給された iPhone OS デバイスが接続されていません」



とか言われてしまい、実機にアプリをインストールすることができなかった。

当然と言えば当然の話しなんですが、provisioningファイル作るときに、DevicesでIDを登録してるんでした。この辺に関しては、iTunes経由で古いiPhoneからうまい具合に調整してくれていると思ってたのですが、そんなこと無かったです。考えてみれば
Deviceが違う=Device IDが違う、



ということなので当然なのですが。

Deviceに対応していないprovisioningファイルを使おうとしても使えないのは当然です。なので、iPhone Developer Programで新しい機種のIDを登録し、Provisioningを修正して新しい機種にも対応するProvisioningファイルを再生成し、インストールすると、無事に実機にアプリケーションをインストールすることができるようになりました！めでたしめでたし。

追伸：

こんなところでつまづく僕ですが、ほそぼそと開発合宿なるものをやっていますので、ご興味あれば参加表明していただければと思います。

http://blog.hi-farm.net/2009/07/01/200907の近況/ </description>
		<link>http://blog.hi-farm.net/2009/07/13/iphone-3gs%e3%81%ab%e4%b9%97%e3%82%8a%e6%8f%9b%e3%81%88%e3%81%9f%e3%81%a8%e3%81%8d%e3%81%ab%e8%ba%93%e3%81%84%e3%81%9f%e3%81%93%e3%81%a8%e3%80%82/</link>
			</item>
	<item>
		<title>タイマー表示</title>
		<description>今作っているアプリで時間経過を表示する必要がありましたので、サンプルを作成しました。

ほとんどこちらのサイト様を参考にしています。ありがとうございます。

http://cocoa.synck.jp/1237172145.html


一式はgithubにおきましたので、必要でしたらこちらからどうぞ。
http://github.com/mmlemon/iPhoneTimerSample/tree/master

[caption id="attachment_186" align="aligncenter" width="150" caption="ストップウォッチアプリのキャプチャ"][/caption]
操作方法：

	Startボタンをタップ：計測開始
	Stopボタンをタップ：計測終了
	再びStartをタップした場合、0秒から再計測します

ソースについて：
時間を測る事は、

開始時刻をNSTimeIntervalで保持します。

現在時刻を保持する方法は、

NSTimeInterval time = [NSDate timeIntervalSinceReferenceDate];

を使うだけです。

二つのNSTimeIntervalを比較するには、単純に引き算するだけです。

NSTimeInterval currentTime = [NSDate timeIntervalSinceReferenceDate] - time;

（※timeは計測開始時刻を保持するNSTimeInterval）

定期的に表示時刻をアップデートするにはNSTimerを使います。こんな感じ。

[code]

self.timer =  [NSTimer scheduledTimerWithTimeInterval: 0.01                                ...</description>
		<link>http://blog.hi-farm.net/2009/07/07/%e3%82%bf%e3%82%a4%e3%83%9e%e3%83%bc%e8%a1%a8%e7%a4%ba/</link>
			</item>
	<item>
		<title>2009/07の近況</title>
		<description>かなり投稿回数が少なくなってしまっているブログですが、つい先日までは本業で時間をいっぱいいっぱい使ってて、全く動けない状態でした。

だけど、これからは時間ができたのでiPhone開発合宿の予定を再調整したいです。http://123.writeboard.com/8464cc38ec43064f5 pass:ipdc09

とてもありがたいことに今月は結構休みを頂けることになったので、この間にflashとiPhoneの一人合宿？も行って成長しないと！ </description>
		<link>http://blog.hi-farm.net/2009/07/01/200907%e3%81%ae%e8%bf%91%e6%b3%81/</link>
			</item>
	<item>
		<title>メモ FMDatabaseについて</title>
		<description>自分への備忘録的なメモです。

iPhoneアプリ開発で、sqliteに対してFMDataBaseを使う場合、

select : executeQuery

他（delete, update, create table, insert..） : extecuteUpdate

です。

さっき間違って使っていて、[db close]しようとするとそこでロックしたような状態で動かなくなってしまいました。 </description>
		<link>http://blog.hi-farm.net/2009/05/01/%e3%83%a1%e3%83%a2-fmdatabase%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/</link>
			</item>
	<item>
		<title>湯河原でiPhoneアプリ開発合宿#2を行いました。</title>
		<description>結構前になってしまうのですが、4/18-4/19の2日間、湯河原にてiPhoneアプリ開発合宿#2を行いました。

メンバーは、kara_dさん、gnueさん、allnightappsさん、kirara_397さんと僕（mmlemon）の5名で、幹事はkara_dさんでした。

宿泊先近辺はこんな感じです。



宿泊地の岩本旅館。とても風情のあるところでした。



今回は当然ですが、ネット（e-mobile）が使える環境でした。

今回も各自自分の作りたいアプリを作るという形式で、実際にアプリを作られて操作感などをテストされていた方、ウェブと連携させるアプリを作られている方で、サーバー側のロジックを作られた方、またはiPhone OS 3.0の機能について技術調査されていた方、これから作ろうとするアプリのコンセプトを考えるかた、と本当に一人一人がいろんな事をやっていて日頃一人で開発している時はあまり意識していなかったところに気づかされることもあり、大変有意義な時間を過ごす事ができました。

僕はというと、最近どはまりしていたところがあったのですが、allnightappsさん、gnueさんの力を借りて簡単に解決できました。

やっぱりこうやって同じところに集まって合宿することは明日からも頑張ろう！という良い刺激にもなるし、合宿の日までに或る程度形にしないといけない！と自分を追い込むこともできるので、これからも続けたいな、と思いました。

で、月も変わった事ですので、第三回の予定を立てようと思います。

http://123.writeboard.com/8464cc38ec43064f5/v/show/6745677

pass: ipdc09

です。

ご興味もたれた方はtwitterのアカウントなどご連絡先などを添えて追記して下さい。

あるいは、twitterで@mmlemonまでDMいただければと思います。 </description>
		<link>http://blog.hi-farm.net/2009/05/01/%e6%b9%af%e6%b2%b3%e5%8e%9f%e3%81%a7iphone%e3%82%a2%e3%83%97%e3%83%aa%e9%96%8b%e7%99%ba%e5%90%88%e5%ae%bf2%e3%82%92%e8%a1%8c%e3%81%84%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/</link>
			</item>
</channel>
</rss>
