2009年10月25日日曜日

iPhoneでキャプチャ禁止

iPhoneのSDK3.0からカメラ用APIが色々追加されたと聞きました。
いくら探してもキャプチャを取れなくするAPIは公開されていません。

カメラ付きケータイが禁止されている会社もあるのに、なぜ非公開なのでしょうか。疑問です。

ソースコードなどを書くとまずそうなので、方法だけ載せます。

まず前提として、iPhoneはシングルタスクで稼動する。ということがあります。

そして、非公開APIを含めて実現できること。
カメラロールに入っている画像の撮影時間を取得すること。
カメラロールに入っている画像を削除すること。

ということはつまり、
1)アプリ起動時の起動時間を保持しておく。

2)アプリ終了時に(起動時間≦撮影時間)の画像を全て削除する。

とすれば、アプリ起動中にキャプチャした画像は亡き者になります。

※OSアップデートによって実装できなくなる可能性もあります。

ちなみにOS3.1.2ではこの方法がうまくいくことが確認できました。

2009年10月14日水曜日

xfireでSOAP

最近仕事でjavaのSOAP通信にxfireというライブラリを使い、どつぼにハマった。
ドキュメント類も一切ないので、これから使う人のためにメモ。

xfireとは:
次世代のSOAPフレームワーク。各種標準をサポートしており、扱いやすいAPIを通じてSOA開発のアプローチを実現する。
※このフレームワークというのがポイント!


使い方
①SOAPサーバ側にxfire設定ファイル(services.xml)を、WEBアプリの以下のパスに配置されるようにする。
WEBルート/classes/META-INF/xfire/services.xml

services.xml
<bean>
<service>
<name>WebServiceName</name>
<serviceclass>com.oboegaki.servers.TestService</serviceclass>
<implementationclass>com.oboegaki.servers.Test</implementationclass>
</service>
</bean>

②SOAPサーバ用xfireライブラリをクラスパスに入れる。

③web.xmlにxfire定義を追加する。

web.xml
<web-app>
<servlet>
<servlet-name>XFireServlet</servlet-name>
<display-name>XFire Servlet</display-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet>


④WEBアプリをデプロイ

注意点
①SOAPクライアントとしてxfireを使用するときは、SOAPサーバ側もxfireでなければならない。

②SOAP通信に用いるインタフェースは、クライアント側とサーバ側で同じパッケージにしなければならない。

2009年10月9日金曜日

Android

Google Androidが気になっている。
iPhone嫌い、ってかapple嫌いの私は必然的にGoogle好きになってしまった。

というわけでAndroidケータイHT-03Aを買うべく、まずはアプリを作る。

これからアプリ作成日記を書こうと思う。