Page

2010年3月13日土曜日

任意の文字列に機能を持たせる

 RIM の開発者向けの KB サイトには、各種 Tips やサンプルなどがあります。自分で使用したい機能などを調べると、結構な確立で見つかります。
 そんな中で以下の記事があります。

How to - Leverage pattern matching in BlackBerry smartphone applications to provide an integrated user experience

 実際にサンプルを起動してみないとわからないですが、PatternRepository と名前がついたサンプルでは、BB のメールやメモ帳などのテキストを表示している部分にてZip コード(5桁の数字)があった際、そこをクリックすると Zip コードを検索できるサイトでの検索結果を表示する、という処理が行われています。
 なんだか難しそうですが、コードをみると非常にシンプルです。ポイントは、

1. 5桁の数値のパターンを登録するため、 \\d{5} という正規表現を PatternRepository という機能に追加
2. 条件に当てはまるパターンに対して、"http://www.getzips.com/CGI-BIN/ziplook.exe?What=1&Zip=" + "パターン で識別した文字列" という URL をブラウザでアクセス

です。



 ブラウザの実行の仕方が、私が普段使っているものとはちょっと異なりますが、この部分は無視しても、上記の 2 つのポイントに該当するコードは非常に少ないものです。つまり、パターンと、関連付けるアクションを定義するだけで、後は BB 側でメールの本文やメモ帳などの各種テキストを表示するフィールドにて本文を解析し、定義したアクションを実行してくれるます。
 例えば、メール本文に 60610 という文字列があったら、そこをクリックするとブラウザが起動して

http://www.getzips.com/CGI-BIN/ziplook.exe?What=1&Zip=60610

のURLがブラウザで表示されます。

 BBの標準のアプリでは、文中のメールアドレスや URL 、電話番号などをクリックすると、内容に応じた動作を行います。また、メールだけでなく、メモ帳、BlackBerry Messenger など複数のアプリケーションで同様の動作となります。
 これは各アプリごとに制御しているわけではなく、OS側に文字列の解析およびアクションを管理する機能があると考えられます。
 恐らく、 PatternRepository には標準の状態でメールアドレスや電話番号、URLなどのパターンが登録されているので各種アクションが発生するのでしょう。そして、同様のパターンを Opera Mini などのサードパーティのアプリケーションが登録しているので、URLをクリックすると BB Browser で起動したり、Opera で起動したりなどの選択が可能になります。
 また、 @aaaa などの Twitter のアカウント名に対応するパターンを UberTwitter や RIM の Twitter for BlackBerry などが登録しているのでしょう。この2つのアプリをインストールすると、 Twitter のアカウント名に相当する文字列をクリックすると、どちらのアプリを使用するかの選択ができるようになります。

 企業利用の場合、自社で扱っている製品のIDとか、お客様IDなど、各企業固有の ID というものがあるケースが多いと思うので、イントラネットにその ID を URL として処理できるWebアプリなどを稼動しているケースが多いと思います。
 BB 上で今回の機能を利用したアプリを作成して配布すれば、メールの本文などに URL をコピペせずとも、
AB1234 のお客様で問題が発生しています”
など送り、 BB 上でその文字列をクリックするだけでイントラの画面へ推移できます。非常に便利です。
また、当然メール本文だけでなく、メモ帳や BBM でもパターンにマッチする文字列があれば、それはリンクとして機能します。

すべて自分のアプリやろうとすると、かなりの労力が必要となりますが、今回のような標準で用意されている連携機能を使用すれば、楽して BB 上でオリジナルの機能を展開できます。
今回のような機能は他にもあると思いますので、いろいろ研究してみてはいかがでしょうか?

0 コメント:

コメントを投稿