2006年02月26日

Symbian OSを採用したNTTドコモ向けFOMA新端末を開発

富士通株式会社(社長:秋草 直之、本社:東京千代田区、以下 富士通)は、シンビアン株式会社(社長:西 弘洋、本社:東京港区、以下 シンビアン)が提供するSymbian OSを採用して、NTTドコモ向けFOMA新端末を開発いたしました。また、シンビアンは、富士通と共同でFOMA端末向けにSymbian OSの日本語対応や動画対応、さらにはパフォーマンスチューニング等のカスタマイズを行いました。

新端末はSymbian OSを搭載した最初の日本市場向け携帯電話で、Symbian OSを搭載した世界初の3G向け携帯電話です。また、先進的なグラフィカルユーザインターフェースや高機能なPIM(*1)アプリケーションを搭載し、動画メールに対応した斬新な携帯電話です。富士通からNTTドコモへまもなく納入を開始する予定です。

「富士通は、オープンなSymbian OSを使用することにより、マルチメディアやエンターテイメントなどの幅広いサービスを利用できる高度な携帯電話の提供が可能になると期待しています。今後とも、シンビアンと富士通の技術を融合した豊富な機能をもつ、次世代ネットワーク向けの携帯電話を提供してまいります。」と富士通のモバイルフォン事業本部長、谷島昭一は述べています。

「富士通が、日本市場向けに初めてSymbian OSを搭載した携帯電話を開発したことは、我々にとって喜びにたえません。富士通は、Symbian OSの特徴である柔軟性を活用し、差別化した製品を開発した最高のパートナーです。Symbian OSのライセンシーは、全世界の携帯電話販売シェアの80%以上を占めており(*2)、 2.5G、および3G向け携帯電話のデファクトスタンダードになると思います。携帯電話メーカーは、Symbian OSを採用すれば、各社が開発したアプリケーション、コンテンツ、サービスなどに対応する先進的で高機能な携帯電話をお客様に提供できます。」と英 Symbian社のCEO、David Levinは述べています。
【シンビアン社について】

シンビアン株式会社は英Symbian社の日本法人です。Symbianは音声通話、ワイヤレスインターネットアクセス、多くのアプリケーション実行環境などを備えた携帯電話を実現するオペレーティングシステムを世界の大手携帯電話メーカーに供給しています。 エリクソン、ノキア、サイオンの3社は、既にSymbian OSベースのデバイスを発売しています。Symbian OSベースの次世代モバイル機器を開発している他の企業には、ケンウッド、モトローラ、松下、サムソン、三洋、ソニーエリクソン、シーメンス等が挙げられます。
posted by シンビアン at 19:10| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

Sony Ericsson、動画対応のSymbian搭載スマートフォン「P900」を発表

Sony Ericssonは、GSM/GPRSをサポートするスマートフォン「P900」とカメラ内蔵携帯電話「T630」を発表した。それぞれ「P800」と「T610」の後継機種となる。米国、ヨーロッパ、アジア地域向け製品で、2003年第4四半期から2004年第1四半期にかけて発売される予定だ。

P900は、OSにSymbian OS v7.0が採用されている。本体背面にカメラを装備しており、VGA (640 x 480) サイズの静止画、QCIF (176×144) サイズのMPEG4ビデオを撮影できる。

わずか2回のボタン操作で撮影が可能になるなど、操作性の高さが特徴の一つとなっている。機能選択用の5方向ジョグダイヤルのほか、文字入力用にUIQと呼ばれるペン入力ユーザインターフェースを搭載。さらにグラフィカルなインタフェースが、写真やビデオの共有やマルチメディアメッセージの送信をサポートするQuickShare機能を備える。データの転送には、Bluetooth、赤外線、USB接続などが利用できる。

ダイヤルボタン部分を開くとワイドスクリーン・モードに切り替わるデザインに変更はないが、ディスプレイがP800の4,096色から65,536色表示に向上した。内蔵メモリは48MB、さらにメモリースティックDuoスロットを備える。内蔵ブラウザはHTML、WAP、cHTMLなどをサポートする Operaが採用されている。メディアプレイヤーは、静止画/動画以外にMP3の再生をサポートしている。

一方、T630はテクノロジに対する関心は高いが安定した機能を使いたい20代から50代のユーザー層をターゲットにしている。ストレート型のコンパクトな本体に6万5000色表示のカラーディスプレイ、カメラ、Bluetooth機能を搭載し、 QuickShare機能も利用できる。
posted by シンビアン at 19:10| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

ソフィアシステムズがNOKIA社と提携 統合開発環境「CodeWarrior for Symbian OS」に ソフィア製エミュレータとのインターフェース・ソフトウェアが 標準装備されました

マイコン開発支援装置の総合システムメーカーである株式会社ソフィアシステムズ(本社:神奈川県川崎市、代表取締役社長:樫平扶、資本金21億8百万円、JASDAQ上場企業(6942))は、ソフィア製エミュレータとNOKIA社(本社:フィンランド)との協業により、NOKIA製統合開発環境「CodeWarrior for Symbian OS」がソフィア製開発環境と連携されたことを発表いたしました。 

今回「CodeWarrior for Symbian OS」に標準装備されるソフトウェアは、ソフィア製高級言語デバッガ「WATCHPOINT for ARM」および「WATCHPOINT for XScale」との連携ソフトウェアです。ソフィア製JTAGエミュレータと「WATCHPOINT」を使用することで、今まで「CodeWarrior for Symbian OS」単体でのデバッグが不可能であったリセット状態からのデバッグや、割り込みルーチン内でのデバッグを可能にしました。
また、JTAGエミュレータはフラッシュメモリへの高速書込みをサポートしています。

連携ソフトウェアは、既にβ版がソフィアより配布開始され、2005年6月下旬には最終版が「CodeWarrior for Symbian OS Ver.3.0.2」に組込まれワールドワイドでリリースされます。これにより、ARM及びXScaleプロセッサ搭載システム開発のデバッグ期間の短縮、未完成のシステムに対する効率のよいデバッグ、フラッシュROMへのプログラム・ロードからプログラム実行およびブレーク、各種メモリ・レジスタの参照変更、バストレース、 エミュレーション・メモリ参照変更等、様々な充実したデバッグ機能の実現を開発者にもたらすことができます。
ソフィアでは、これら機能を使うための、ソフトウェア・キーを有償で提供いたします。開発者は、キーを使用することで、「CodeWarrior for Symbian OS」と「WATCHPOINT」のコラボ・デバッグが可能になります。

今回の対応について、株式会社ソフィアシステムズの代表取締役社長の樫平 扶は、「当社デバッガは、既にSymbian OS V8.1bサポートを2004年11月に発表しています。今回の「CodeWarrior for Symbian OS」と当社エミュレータの連携の進化は、ハードウェア・デバッグへの「CodeWarrior for Symbian OS」の利用をさらに進め、開発をより効率的に行うことができるようになります。今後も当社はNOKIAの顧客に向けた業界先端 デバッギング・ソリューションの継続的な提供をワールドワイドで行ってまいります。」とコメントしています。

●株式会社ソフィアシステムズについて
株式会社ソフィアシステムズは1975年に設立され、30年にわたり一貫して組込みシステム分野でリーダ的役割を担い、マイコン開発支援装置をベースにした包括的な開発ソリューションを提供して参りました。ソフィアは、組込み開発の有力企業と、緊密な関係で仕事をしています。また、先駆的なテクノロジーを持つ企業などと、新しいパートナーシップを形成するよう常に努力しています。ソフィアシステムズは、多くのハードウェアエンジニアおよびソフトウェアエンジニアが、限られた時間と予算内で、開発プロジェクトを完了させることを可能にする、強力で信頼性のあるリアルタイム・マイクロプロセッサ・エミュレーションシステムを一貫して提供しています。この高品質な製品は、企業や官公庁、研究機関、学校関係などの顧客から、長期にわたり満足されています。
ソフィアシステムズは、国内では、東京および名古屋、大阪に営業拠点があります。 また海外では、北米、その他アジアや中東、ヨーロッパに、販売代理店網があります。
posted by シンビアン at 19:08| Comment(0) | TrackBack(7) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

Symbian



携帯電話(スマートフォン)向けの組み込みOS、Symbian OSを作っている会社。

Psion社のソフトウェア部門を母体に1998年に設立され、Ericsson (現Sony Ericsson)、 Nokia、Panasonic、Motorola、Psion、Samsung、Siemens等が出資していたが、現在は、Siemens、Sony Ericsson、Panasonic、Nokiaになっており、Nokiaがほぼ半数の株式を取得している状態である。
posted by シンビアン at 19:03| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

2006年02月20日

シンビアンCEO、「FOMA F900iTもSymbianを採用」

6月3日、英Symbian CEO(最高経営責任者)のデビッド・レビン氏が来日し、Symbian OSの現状と取り組みについて紹介した。

 Symbianは携帯機器向けの高機能OSを開発している企業。NokiaやSamsungのほか、松下電器産業やSony Ericssonなども出資している。

 2000年にEricssonがSymbian OSを搭載した携帯電話を発売したのをきっかけに、現在では世界の携帯電話ベンダーの約85%が顧客であるという。 レビン氏によると「2003年12月にSymbian OS搭載電話機の出荷台数が月間100万台を超えた」といい、現在までの総出荷台数は1200万台以上とのことだ。
Symbian OSを搭載したNTTドコモのFOMA F900iT。タッチパネルやBluetooth機能を搭載している

 国内ではNTTドコモが2003年9月に同社と契約を結び、FOMA用のOSとして採用することを決定している。なかでもSymbian OSへの取り組みを積極的に進めているのが富士通で、今までにF2051、F2102V、F900iにおいてSymbian OSを搭載していた。

 レビン氏によると、NTTドコモが6月1日に発表したBluetooth機能搭載のF900iTにもSymbian OSが採用されているという。「Symbianの採用によって、端末の開発サイクルが速くなっている」(レビン氏)。日本法人のシンビアン代表取締役社長久晴彦氏の話によれば、富士通ではSymbian OSに対応するためにF2051の開発には1年以上かかったものの、その後の開発期間は半年程度に短縮しているという。

 「Symbianは携帯端末にカーネルなど共通部分の技術を提供する。これにより、携帯端末ベンダーは製品の差別化となる部分に注力することができる」(レビン氏)

 国内ベンダーとしては、ソニーエリクソンが欧米向けのGSM端末「P900」でSymbian OSを採用しているほか、松下電器もGSM端末「X700」を提供している。また、三菱電機はFOMA向けにSymbian OS搭載端末を開発中という。

 携帯電話向けの高機能OS市場は、Microsoftがねらっている分野でもある。この点についてレビン氏は、Microsoftに対する3つの優位性を挙げる。「第1に、我々は端末ベンダーが差別化を実現するような余地を提供している。第2に、Symbianは携帯端末向けというDNAを持っている。携帯電話にCtrl+Alt+Deleteボタンを付けて欲しいと思ったことはない。第3に、我々はオープンで透明性の高い事業モデルを採用しており、すべてのベンダーと同じ契約を結んでいる。したがって、当然ライセンス料もみな同じ価格だ」(レビン氏)

 NECなどが採用を進めているLinuxについては、「Linuxは統一バージョンがなく、それぞれのベンダーがそれぞれの市場で製品を出している。したがって、統一バージョンのLinux携帯電話というものもない」とした。

 高機能携帯電話と競合することになるPDAの今後については、「PDAは死に向かっている。まもなく死んでしまうだろう」と発言。「ソニーエリクソンの端末のように、PDAの機能を携帯電話に組み込んでしまう方法が正解ではないか」とした。なお、PDAに関しては、先日ソニーが日本以外での撤退を発表している。
posted by シンビアン at 20:02| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

Symbian OS とは

「Symbian OS」は英Symbian社が開発し、様々なメーカーにライセンスしているOSです。同社は、携帯電話関連においてはノキア、モトローラ、サムスン、ソニー・エリクソン・モバイルコミュニケーションズといった世界の主要な携帯電話メーカーに「Symbian OS」をライセンスしており、海外では「スマートフォン」と呼ばれる多機能携帯電話に搭載されています。ちなみにSymbian自体は、エリクソン、ノキア、サイオン、モトローラ、松下通信工業などによって設立されたPSION Groupの1企業です。

 2002年現在、ソニー・エリクソン「P800」や、ノキア「Nokia 7650」「Nokia 3650」、そして「N-Gage」を含む20機種の携帯電話がSymbian OSを使って現在開発中であると公式にアナウンスされています。また、日本市場向けの端末では、富士通製の「F2051」がはじめてSymbian OSを採用しています。
posted by シンビアン at 19:59| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

ノキア、企業向け開発者支援プログラム「Forum Nokia PRO」

ノキア・ジャパンは、企業を対象とした開発者サポートプログラム「Forum Nokia PRO」を、6月から国内で開始する。同プログラムは会員制の有料プログラムで、世界市場に向けたコンテンツ制作を、開発・マーケティングなどの側面からサポートする。年会費は40万円で、申込受付は同社Webサイトにて開始されている。

 今回発表された「Forum Nokia PRO」は、2004年2月から世界各国で開始されている企業向けの開発者サポートプログラム。5月現在、世界で116社が加盟しており、テスト環境やテクニカル・サポート、ビジネス開拓、マーケティングサポート、コミュニティプログラムなどが提供される。


ノキア・ジャパン代表取締役社長 ヘイッキ・テンフネン氏
 会員となった企業は、国内に数カ所用意されている試験施設「Nokia Developer HUB」の利用が、当初は1社につき月5時間使用できる予定で、日本にいながらGSM端末のコンテンツやアプリを開発・検証できる。また、ノキアの携帯電話端末や開発者向けSDKなどがセットになった開発キットが年1回提供されるほか、無料トレーニングセッション、日本語テクニカルサポート、会員企業による交流会など、各種のサポートプログラムが提供される。

 同社は19日、都内で携帯コンテンツプロバイダを集めて「Forum Nokia PRO」に関する発表会を開催した。発表会の冒頭、壇上に上がったノキア・ジャパン代表取締役社長のヘイッキ・テンフネン氏は、同プログラムの日本市場への導入が世界各国で展開される政策の一環としながらも、日本の携帯電話市場については「モバイルコンテンツでは日本は最も進んだ市場。戦略的市場と位置づけている」とし、同プログラムを日本で導入する意気込みを語った。


ノキア・ジャパン Forum Nokia日本代表 大塚孝之氏
 続いて登壇した、同社 Forum Nokia日本代表の大塚孝之氏は、同プログラムを「トッププロバイダ向けに、世界で成功していただくために用意したプログラム」と述べ、会員企業に質の高いサポートが提供されることを説明した。発売前のプロトタイプの端末を貸し出すことが可能なことも明らかにされたほか、毎年40種類以上の新製品が世界で発売される同社製端末が、会員向けに優先的に用意されるとのこと。また、会員情報は世界各国のForum Nokiaチームで共有され、具体的な海外展開の際にも役立てられるという。

 同プログラムは、世界で1,000万台以上出荷された同社のプラットフォーム「Series 60」を中心に大きく4つのプラットフォームが扱われる予定で、国内で開発から検証までをサポートすることにより、海外投資を抑えたい企業や、これから世界市場向けのコンテンツを制作する企業にとって「海外ビジネスに対する登竜門、パスポートになる」(大塚氏)としている。
posted by シンビアン at 12:19| Comment(0) | TrackBack(3) | Forum Nokia | このブログの読者になる | 更新情報をチェックする

最新Symbian OS搭載のスマートフォン、ソニエリが発表

Sony Ericssonの新端末「P990」はSymbian OS 9.1とUIQ 3ソフトプラットフォームを搭載し、Wi-Fiネットワークにも対応。ユーザーはOpera 8でWebサイトを閲覧できる。(IDG)

 来年第1四半期に、Sony Ericsson Mobile Commnunicationsは、Symbian OS 9.1とUIQ 3ソフトプラットフォームを搭載した初のスマートフォンを発売する。同社が10月10日、明らかにした。

 この発表と同日に、Symbianの子会社UIQ Technologyは最新版ソフトプラットフォームUIQ 3向けのSDK(ソフト開発キット)を発表した。UIQ 3はSymbianをベースとしており、開発者はこれを使うと、UIQに対応した各社のスマートフォンで動作するアプリケーションを開発できる。携帯電話開発者は、それぞれの端末向けにアプリケーションを書き直したり、調整しなければならないことが多い。UIQプラットフォームはそうした作業を取り除くことを目指している。

 このSDKは、UQIの開発者コミュニティープログラムに登録し、Smartphone Showに参加した500人の開発者に提供される。Smartphone ShowはSymbianの年次カンファレンスで、10月11日から12日までロンドンで開催される。このSDKの最終版は、UIQの開発者プログラムサイトで10月26日からダウンロード提供される。

 Sony Ericssonの新端末「P990」は最新のSymbian OSを走らせるほか、UMTSとWi-Fiネットワークに対応し、2メガピクセルカメラを搭載する。ユーザーはOpera 8でWebサイトを閲覧できる。80Mバイトの内蔵メモリと64Mバイトのメモリースティックを備え、また別売りの4Gバイトメモリースティックも利用できる。

 Sony Ericssonは発表文で、発売前にこの端末を発表したのは、この端末が発売されてすぐに使えるアプリケーションを構築する時間を開発者に与えるためだと述べている。開発者はC++またはJavaでプログラムを構築できる。

 同社はこの端末をSmartphone Showで展示する予定だ。
posted by シンビアン at 11:26| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

ソケットの作成と接続

ソケットの作成と接続

 サーバ名からIPアドレスを解決した後は、そのIPアドレスに対してソケットの接続を確立します。

// ソケットの作成
TInetAddr addr ;
RSocket socket ;
addr.SetPort(80);
TInt32 addNum = TInetAddr::Cast(nameRecord.iAddr).Address() ;
addr.SetAddress( addNum );

User::LeaveIfError(socket.Open(socketServ, KAfInet, KSockStream,
KProtocolInetTcp));
socket.Connect( addr, status );
User::WaitForRequest( status );

if( status != KErrNone ){
User::Leave(KErrCouldNotConnect);
}

 TInetAddrクラスは、アドレスとポート番号をカプセル化したクラスです。このクラスのインスタンスに対して、DNSで獲得したIPアドレスと、今回用いるポート番号(80)を指定します。

 その後、TInetAddrで表されるIPアドレスとポート番号に対してRSocket::Open、RSocket::Connect関数でソケットの確立を行います。Connect関数も非同期になっておりますので、呼び出しの直後にUser::WaitForRequest関数を呼び出し、この非同期関数の実行終了を待ちます。

 Open関数での第一引数はソケットサーバのインスタンスです。第二引数以降はおそらく説明は必要ないかと思います。

HTTPのHEADメソッドの発行

 今回はHTTP/1.0のHEADメソッドを発行し、その結果を受けます。HTTPはテキストベースのプロトコルですから、単純に文字列をサーバに渡すだけです。

_LIT8(KHead, "HEAD / HTTP/1.0\n\n");
socket.Write(KHead, status);
User::WaitForRequest( status );

if( status != KErrNone ){
User::Leave(10);
}
TBuf8<256> result ;
socket.Read( result, status );
User::WaitForRequest( status );
if( status != KErrNone ){
User::Leave(KErrCouldNotConnect);
}
TBuf<256> result16 ;
result16.Copy( result) ;

 ここで注意が必要な点として、ディスクリプタの幅の問題があります。Series60ではUnicodeを用いていますが、HTTPの通信はAscii コードなどになります。したがって、通信を受けた部分では8bitのディスクリプタで受け、それを表示する段階で16bitのディスクリプタにコピーをしたものを利用しています。

最後にサンプルについて

 今回のサンプルは「コードをひとつの関数にまとめる」意味から、アクティブオブジェクトを使用しておりません。本来であれば、非同期の処理としてアクティブオブジェクトを利用する場所でも、処理の終了を同期的に待っております(User::WaitForRequest関数を使用している箇所です)。
posted by シンビアン at 11:18| Comment(0) | TrackBack(0) | Series60プログラミングテクニック | このブログの読者になる | 更新情報をチェックする

今回のサンプル

今回のサンプル「DumbBrowser」は、HTTPサーバのルートコンテキスト(「http://サーバー名/」の形式のアドレス)にHTTP/1.0のHEADメソッドを用いて通信を試みます。そのためには、以下の流れになります。

1. DNSを用いてIPアドレスを解決
2. 1で取得したIPアドレスを持つサーバに対して書き込み(“HEAD / HTTP/1.0\n\n”)
3. 2に対するサーバからのレスポンスを取得

 今回のサンプルは、こちらからダウンロード可能です(DumbBrowser.zip)。

サンプルの実行

 サンプルをダウンロードして、これまでと同様にビルドしますと、エミュレータのメニューに次のようなアイコンが追加されます(画面2)。

■ 画面2

 このアプリケーションを実行し、[オプション]→[サーバにHTTP/HEADで..]とメニューを選択しますと、次のようなダイアログが現れます(画面3)。

■ 画面3

 ここにサーバ名を入れます(プロトコル名「http://」は入れないで下さい)。例えば、「www.hicorp.co.jp」と入力すると、次のような実行結果になります。なお、実行には多少の時間がかかることがあります(画面4)。

■ 画面4

RSocketServについて

 コードの説明に入る前に、RSocketServクラスについて解説をしておきたいと思います。このクラスはプラットフォームがもつネットワーク機能へアクセスする際のハンドルになります。

 プラットフォーム側では、ネットワーク機能はSocket Serverで実現されており、このSocket Serverに対して依頼を発行するときの窓口になります。したがって以下のサンプルでも、このクラスのインスタンスは、ネットワークの接続が必要な箇所で引数で渡される使われ方をします。

DNSを用いた名前解決

 DNSを用いて名前解決を行うコードは次の通りです。

// void CDumbBrowserContainer::LoadHTMLData関数より抜粋
RSocketServ socketServ ;
RHostResolver hostResolver ;

this->iHostNameLabel->SetTextL( url );

User::LeaveIfError( socketServ.Connect() );
User::LeaveIfError( hostResolver.Open(socketServ,
KAfInet, KProtocolInetUdp) );

TNameEntry nameEntry ;
TRequestStatus status ;

// DNSによる名前解決
hostResolver.GetByName( url, nameEntry , status );
User::WaitForRequest( status );

if( status != KErrNone ){
User::Leave(KErrCouldNotConnect);
}

// 取得したIPアドレスの確認
TNameRecord nameRecord = nameEntry();

TInetAddr addr ;
TBuf<15> ipAddr;
TInetAddr::Cast(nameRecord.iAddr).Output(ipAddr);
this->iIpLabel->SetTextL( ipAddr );

 名前解決は、RHostResolverクラスが行います。RHostResolverのメンバ関数であるOpen関数の第一引数に渡すのは、ソケットサーバーであるRsocketServクラスのインスタンスになります。このクラスは名前が示す通り、IPプロトコルのエンドポイントを表すクラスになります。

 また、KafInetは使用されるIPのプロトコルがIPv4であること、KProtocolInetUdpはIPレイヤの上位のプロトコルがUDPであることを表しています。おそらく、このあたりのセッションの確立方法はUnixなどのほかのOSでネットワークプログラムを作成した経験があれば、さほど難しくないと思います。

 最後に、RSocketServ、RHostResolverクラスはやはりRクラスになっていますので、作成にはConnect関数やOpen関数など、また終了処理にはCloseなどの関数を呼び指します。LoadHTMLData関数の一番下にこの終了処理がまとめて記述されています。

 実際の名前解決は、以下のコードで行われます。

// DNSによる名前解決
hostResolver.GetByName( url, nameEntry , status );
User::WaitForRequest( status );

 GetByName関数は、非同期の処理になります。したがって、本来はアクティブオブジェクトを用いて処理を行うのが本筋になりますが、ここではコードのわかり易さを優先して、非同期の関数であるGetByNameの実行終了をUser::WaitForRequest関数で待ちます。第二引数に名前解決の結果が格納されます。最後にDNSに問い合わせた結果を画面に表示します。
posted by シンビアン at 11:11| Comment(0) | TrackBack(0) | Series60プログラミングテクニック | このブログの読者になる | 更新情報をチェックする

ネットワーク接続

いよいよ秋も深まり、皆様いかがお過ごしでしょうか? 今回は本連載の最終回として、ネットワークの接続を見ていきたいと思います。また、サンプルとしてHTTPを用いた簡単なアプリケーションを用意しました。この連載の読者の方に「TCP/IPとは」と書いても釈迦に説法になると思いますので、ネットワークの基本的な知識は既知のものとして扱います。
Series60でのTCP/IP

 Series60のAPIレベルでは、IPv4とIPv6の双方が使用可能です。また、IP over BluetoothやIrDAなども利用することが可能です。

エミュレータ上のネットワーク設定

 エミュレータ上で[tools]→[Preference]→[Ethernet Settings]と選択すると、次のような画面が現れます。また、複数のネットワークカードをもつマシンであれば、一番下に[Select the adapter to use]の項目から使用するネットワークカードを選択して下さい(画面1)。

■ 画面1

 基本的には、一番上にある「promiscuous mode」にチェックを入れて、proxyなどの設定を適切に行えば問題ないはずです。

補足:

エミュレータでは仮想ネットワークドライバを利用し、新たなIPを要求します。筆者の失敗談になりますが、普段仕事をしている環境では、DHCPがMac アドレス認証を利用して物理的な無線LANカードにひとつのIPアドレスのみを割り当てるようになっていました。エミュレータの仮想的なネットワークドライバがIPアドレスを要求しますので、どうしても上手く動作しないときは原因のひとつとして疑ってみてください。
posted by シンビアン at 10:33| Comment(0) | TrackBack(0) | Series60プログラミングテクニック | このブログの読者になる | 更新情報をチェックする

描画対象のグラフィックスディバイスの取り出しとフォントの設定

次に文字列を描画しますが、文字列の描画にはフォント情報が必要であり、フォント情報はグラフィックスディバイスクラスが管理をしています。そこで、グラフィックスディバイスのインスタンスを取得する必要があるのです。この一連の処理は、以下の形で行われています。

// 文字列の描画
CFont* iFont;
TTypefaceSupport myTypefaceSupport;
TFontSpec myFontspec(myTypefaceSupport.iTypeface.iName.Des(), 100 );

CGraphicsDevice* device= gc.Device();
User::LeaveIfError(
device->GetNearestFontInTwips(iFont, myFontspec));
gc.UseFont( iFont );

再描画のタイミング

 再描画を強制するためには、CCoeControl クラスにある DrawNow関数を呼び出します。今回のサンプルでは、以下の様に背景色を変更するときに、この関数を呼び出しています。

void CGraphicsTestContainer::ChangeBgColor()
{
if( bgColor == KRgbBlue )
bgColor = KRgbGray ;
else
bgColor = KRgbBlue ;
DrawNow();
}

ビットマップの使用について

 今回はサンプルとしては触れていませんが、ビットマップを画面に貼り付けることも可能です。ただし、注意が必要な点として、ビットマップはいわゆる Windows形式のビットマップから独自形式であるマルチビットマップ(拡張子:mbm)に変更する必要があります。最新のSDKであれば、プロジェクトの設定ファイルであるmmpファイルに使用するビットマップを記述すれば、ビルド時にマルチビットマップに変換をしてくれます。記述例としては下記のようになります。

START BITMAP graphicslab.mbm
HEADER
TARGETPATH ..\..\..\..\wins\c\system\apps\graphicslab
SOURCEPATH ..\bitmaps
SOURCE c12 background.bmp
SOURCE c12 ball.bmp
SOURCE c12 ball_mask.bmp
SOURCE c12 other_ball.bmp
SOURCE c12 other_ball_mask.bmp

 アプリケーションがビルドされると、筆者の環境では以下のパスにマルチビットマップのファイルができています。

C:\Symbian\8.0a\S60_2nd_FP2_J\epoc32\wins\c\System\
Apps\GRAPHICSLAB\graphicslab.mbm
-----
補足:筆者の環境では、以下のパスがエミュレータの
ファイルシステムのルートになっています。
-----
C:\Symbian\8.0a\S60_2nd_FP2_J\epoc32\wins

 このマルチビットマップ形式は「複数のビットマップファイルをひとつにまとめたもの」です。したがって、プログラム上で元のビットマップを取り出すには、そのインデックスを指定する必要があります。

 このインデックスの指定は、SDKディレクトリ以下のIncludeディレクトリに自動的にヘッダファイルを生成しますので、これを利用します(graphicslab.mbg:ファイル名はマルチビットマップファイル名と同一、ただし拡張子がmbgになる)。筆者の環境では以下に生成されています。

C:\Symbian\8.0a\S60_2nd_FP2_J\epoc32\include

 次回はTCP/IPを用いた通信について見ていく予定です。
posted by シンビアン at 10:32| Comment(0) | TrackBack(0) | Series60プログラミングテクニック | このブログの読者になる | 更新情報をチェックする

描画を用いた簡単なサンプル

描画を用いた簡単なサンプル

 それでは、描画の処理を用いた簡単なサンプルを見て行きましょう(GraphicsTest.zip)。今回のサンプルでは、以下の処理を行います。

1. 背景の塗りつぶし
2. 直線の描画
3. 楕円(円)の描画
4. 文字の描画

 サンプルをダウンロードしていただき、これまでと同様にビルドしていいただければ、エミュレータ上で次のようなアイコンが表示されていると思います(画面1)。


 このアプリケーションを実行すると、次のような画面になります(画面2)。


 さらにメニューから「背景色の変更」を選択すると、次のような画面になります(画面3)。


サンプルコードの確認

 描画の処理を行っているコードはGraphicsTestContainerクラスのDraw関数に記載されています。それでは、この関数の中で行われている処理を見て行きましょう。まずは、関数の処理の先頭に

void CGraphicsTestContainer::Draw(const TRect& aRect) const
{
CWindowGc& gc = SystemGc();

と書かれていると思います。これはこのアプリケーションがもっている(主に液晶画面描画用の)グラフィックスコンテキストを取得してくる部分です。SystemGC関数自体はCcoeControlクラスに定義されている関数です。

 この次には、背景や直線、楕円(円)の描画の処理が続きます。こちらの部分に関しては、コードを追っていただければ特に説明は要らないと思います。

// 背景色を現在の色に設定する。
gc.SetBrushColor( bgColor );
gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
gc.DrawRect( aRect );

// 直線を描画する
gc.SetPenColor( KRgbGreen );
gc.SetPenStyle( CGraphicsContext::ESolidPen );
gc.DrawLine( TPoint(10,10), TPoint(100,100 ) );
gc.SetPenStyle( CGraphicsContext::ENullPen );

// 描画モードを変更する。
gc.SetDrawMode( CGraphicsContext::EDrawModeOR );
gc.SetBrushColor( KRgbRed );
gc.DrawEllipse( TRect(50,50,150,150 ) );
gc.SetDrawMode( CGraphicsContext::EDrawModePEN );

-----
補足:通常の描画用APIと同様に、左上端が原点(0,0)です。

 また、楕円(円)の描画部分に関しては、描画モードをビットのORをとるように設定している点にもご注意ください。
posted by シンビアン at 10:11| Comment(0) | TrackBack(0) | Series60プログラミングテクニック | このブログの読者になる | 更新情報をチェックする

グラフィックス描画

アミューズメント系アプリケーションや、通常のコントロールでは表示できないような描画を行う場合、グラフィックスの処理がどうしても必要になります。今回はこのグラフィックスの処理を見ていきましょう。
グラフィックスディバイスとグラフィックスコンテキスト

 Series60では、Win32 APIなどのようにグラフィックス関連の操作は抽象化が行われてます。この抽象化により、単に「画面上ある点から他の点に線を引く」「矩形に塗りつぶす」といった処理を行うことができます。この抽象化を担うのが「グラフィックスディバイス」と「グラフィックスコンテキスト」です。

 グラフィックスディバイスは、描画対象を表すクラスになります。通常、描画の対象となるものは(携帯でしたら)液晶画面と考えるのが一番自然でしょう。しかし、画面のチラツキを抑えるためにダブルバッファリングを行うと、どうしてもビットマップを別途用意する必要があります。このようなビットマップへの書き込みも、ビットマップを表すグラフィックスディバイスを用います。

 これに対して、グラフィックスコンテキストは描画のための関数や制御を提供するクラスになります。よくある説明としては、

* グラフィックスディバイスは描画される紙やキャンパスにあたる
* グラフィックスコンテキストは描画する際に用いるペンや筆である

といわれることが多々ありますが、今回もこのように考えれば大丈夫です。

グラフィックスディバイス

 先に述べたとおり、グラフィックスディバイスは「描画の対象を抽象化する」ためのクラスです。しかし、液晶画面に描画するのか、ビットマップ領域に描画するのかで使用するクラスが異なってきます。

 Series60では、APIとしてC++のライブラリを利用していますので、複数クラスがある場合は当然、クラスの階層関係が考えられます。グラフィックスディバイス関連のクラス階層の頂点(つまりもっとも抽象的なクラス)がCGraphicsDeviceクラスになります。そして、各々の描画対象を表すクラスは、このCGraphicsDeviceクラスを継承する形で定義されています(図1)。

■ 図1 グラフィックスディバイスのクラス構成 (出典:NRIラーニングネットワーク 「ノキア Series 60 C++開発入門コース」より)

 CGraphicsDeviceクラスが持つメンバ関数としては以下のものがあります。つまり直感的には、描画を行う際に必要な情報を管理していると見ていただいても構わないと思います。

* ディスプレイ領域の管理
SizeInPixelsやSizeInTwipsなどの関数
* フォントの管理と取得
GetNearestFontInTwipsなどの関数
* カラーフォーマットの管理
DisplayMode関数

グラフィックスコンテキスト

 一方、グラフィックコンテキストは描画を行う際に利用するペンやブラシのようなものです。ですので、具体的な描画用関数はこのグラフィックスコンテキストクラスが持っています(図2)。

■ 図2 グラフィックスコンテキストのクラス構成 (出典:NRIラーニングネットワーク 「ノキア Series 60 C++開発入門コース」より)

 CgraphicsContext クラスが持つメンバとしては以下のものがあげられます。

* 自身が描画を行う対象であるグラフィックスディバイス
Device関数
* 文字描画に使用するフォントの選択
UseFontやDiscardFont関数
* 図形描画に使用する各種設定を行う関数
SetPenSize、SetBrushColorなどの関数
* 実際に図形/文字の描画を行う関数
DrawEllipse, DrawLine, DrawText, DrawBitmapなどの関数群

posted by シンビアン at 10:08| Comment(0) | TrackBack(0) | Series60プログラミングテクニック | このブログの読者になる | 更新情報をチェックする

2006年02月17日

Opera と任天堂、ニンテンドー DS 用 Opera ブラウザを発表

Opera Software と任天堂は15日、ニンテンドー DS 用のインターネットブラウザ「ニンテンドー DS ブラウザー」を発表した。DS カードとして6月より販売予定だ。価格は3,800円。

同製品は両社が共同開発したもの。デスクトップ向け Opera ブラウザと同じコアをベースに、ニンテンドー DS 上で Web ページのレンダリング性能を実現する。

ニンテンドー DS にカードを指し込み、ネットワークに接続するだけで、上下2枚の液晶画面でブラウジングできる。

2画面を利用することで、全体画面と拡大画面に分けたり、縦につなげたひとつの大きな画面として Webページを閲覧できる。文字入力は漢字を含む手書き入力が利用可能。ジャストシステムの ATOK も搭載し、ニンテンドー DS ならではのタッチペンと予測変換を組み合わせる。

Opera Software の取締役副社長 Scott Hedrick 氏は「ニンテンドー DS はすでに、Wi-Fi を利用して離れたところにいるユーザーともリアルタイムに対戦できるようなゲームをもサポートしている。Web ブラウジング機能の追加は同機にとって自然な展開。優れた Web 環境はデバイス製造業者にとって製品の差別化要因となりつつある」と話す。
posted by シンビアン at 12:38| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

Microsoft が『Communicator Mobile』を発表

Microsoft は14日、携帯電話やハンドヘルド機で利用できるコミュニケーション クライアント『Microsoft Office Communicator Mobile』を発表した。音声/動画/電話機能を統合したデスクトップ クライアント『Microsoft Office Communicator 2005』の移動体通信版だ。

発表は同日、Microsoft の CEO (最高経営責任者) Steve Ballmer 氏が、移動体通信業界の国際イベント『3GSM World Congress』(2月13-16日) の基調講演にて行なった。

同社によれば、Microsoft Office Communicator 2005 のインターフェースを基にした Communicator Mobile は、Web ベースのビデオ会議、VoIP、インスタントメッセージ (IM)、音声通信、リアルタイムのコラボレーション環境など、多様な通信方式の境界をまたぎ、統合型のシームレスな通信を提供するものだという。

Communicator Mobile は、企業向け通信ソリューション『Microsoft Office Live Communications Server (LCS) 2005』の機能を『Windows Mobile』搭載デバイスで利用可能にし、シームレスな音声/データ通信を実現する。また、『Microsoft Outlook』などの主要ビジネスメッセージ アプリケーションや、『SharePoint Portal Server』および『Live Meeting』といった次期主要アプリケーションを使用するユーザー向けに、リアルタイムのプレゼンス機能も備える。

Microsoft によれば、ベータテスト プログラムの一環として、少数の LCS 2005 ユーザーが既に Mobile Communicator を導入しているという。導入済みのユーザーとして、IT サービスプロバイダの Siemens Business Services や、イギリスを拠点とする国際法律事務所 Linklaters の名が挙がっている。

Mobile Communicator を使えば、企業の Wi-Fi ネットワークで IM プレゼンス機能を実行/管理したり、Wi-Fi ホットスポットやホームネットワークを介して仕事をするユーザーに、企業のコラボレーションリソースへのアクセスを提供したりすることも可能だ。

モバイルユーザーは、携帯電話を通じて自身のプレゼンス情報を設定したり、ハンドヘルド機から IM グループチャットに参加することができる。

Mobile Communicator は、今後60日以内に LCS ユーザー向けにダウンロード提供される予定だ。
posted by シンビアン at 12:36| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

ARM、低消費電力クロックレスプロセッサ「ARM996HS」を発表

ARM と、Philips の1事業部門である Handshake Solutions は2006年2月14日、低消費電力を特徴とするクロックレス IC 設計技術を搭載したプロセッサ「ARM996HS」を発表した。

クロックレスプロセッサは、非同期で処理を行うことにより、同期を行うためのタイマーが不要となる。このため、効率よく消費電力を抑えられるのが特徴だ。動作がなければ、ダイナミック消費電力がゼロのため、バッテリー寿命は大幅に延長される。

ARM996HS は、電磁妨害(EMI)が低いために敏感な回路に干渉する可能性が低く、電流ピークが低いためにアナログコンポーネントとの統合が容易なことも特徴。また、消費電力が少ないためにシステムの電力要件は下がる。

なお ARM は、クロックレス IC 設計の可能性を以前から認識し、マンチェスター大学の Steve Furber 博士が率いる Amulet プロジェクトを支援し続けているという。
posted by シンビアン at 12:35| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

ARM、TrustZone 採用の DRM ソフトウェアソリューションを発表

ARM は2006年2月15日、ARM、Obigo、Philips が、TrustZone ソフトウェア API を採用した DRM 機能を、近くリリースするモバイルソフトウェア製品に組み込んで公開すると発表した。

TrustZone テクノロジーは、ウイルス保護、VPN、DRM など、セキュリティを最優先するアプリケーションを、半導体/ソフトウェアレベルにおいて実装できる。

Philips の CEO である Cees Geel 氏は、「TrustZone テクノロジーと Philips のソフトウェアソリューション、Obigo のアプリケーションスイートの統合により、モバイルコンシューマ機器メーカー、モバイル通信事業者、サービス/コンテンツ・プロバイダは、DRM ガイドラインを満たし、自社の投資と収益を守ることができる。」と述べている。
posted by シンビアン at 12:35| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

Broadcom、Bluetooth + FM ラジオ混載チップを発表

Broadcomは2006年2月16日、Bluetooth およびベースバンドと FM ステレオラジオチューナーをシングルチップに統合したデバイスを発表した。

この Broadcom BCM2048 ソリューションは、FM ラジオおよび Bluetooth を使ったワイヤレスステレオ機能をシングルチップで追加できるため、個別のコンポーネントを利用する既存のソリューションと比べて、最大40%のコスト節減を実現し、必要なボード面積を約3分の1に縮小できるという。

Bluetooth 仕様バージョン2.0の主要機能をすべてサポートしており、次期バージョン2.1もサポートする。

なお、BCM2048 Bluetooth/FM 機能混載チップは現在、早期導入パートナー企業向けにサンプル出荷されている。
posted by シンビアン at 12:34| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

Philips、小型の次世代モバイルテレビソリューションを発表

Philips は2006年2月13日、欧州・アジア市場向けに従来の6分の1の大きさの次世代 DVB-H モバイルテレビソリューションを発表した。

この DVB-H フロントエンドソリューション「BGT215」のサイズは7×7mm。15×26mm ほどであった従来の製品から大幅な小型化が実現されている。このような小型化によって、よりコンパクトでエレガントなデザインのデジタルテレビ受信対応携帯電話機が登場することが予想される。

チューナーとチャネル復調機能の両方を実装し、これまでのバージョンと同様な機能を搭載しているだけでなく、低消費電力型を活かして少ない充電回数でより長時間のテレビ視聴が実現できる。

BGT215ソリューションは、2006年3月から携帯電話機およびポータブルテレビを開発するメーカーにサンプル出荷を開始する予定。
posted by シンビアン at 12:33| Comment(0) | TrackBack(0) | NOKIA SMARTPHONE HACKS | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。