連載第4回となる今回は、各端末に実装されているGPSやカメラといった物理デバイスをRhodesから扱う方法を紹介する。

GPS

 Rhodesの特徴は、前述したMVCアーキテクチャや強力なモジュール群だけではない。各プラットフォームが対応しているデバイス操作も非常に簡単に呼び出せるようになっている。例としてGPS機能を使用し、経度・緯度情報を表示してみよう。

1. GPSを使う準備

 GPSを使用する場合は、Rhodesプロジェクトの直下に設置されている「build.yml」にGPSのライブラリを読み込む記述を追加する。

build.yml

sdk: "c:\InstantRhodes\ruby\lib\ruby\gems\rhodes-3.0.2"
sdkversion: 3.0.1                                  
name: roster                                       
version: 1.0                                       
vendor: rhomobile                                  
build: debug                                       
bbver: 4.6                                         
wmsdk: "Windows Mobile 6 Professional SDK (ARMV4I)"
applog: rholog.txt                                 
iphone:                                            
  configuration: Debug                             
  sdk: iphonesimulator4.3                          
  provisionprofile:                                
  codesignidentity:                                
  entitlements:                                    
  BundleIdentifier: com.rhomobile.roster           
  BundleURLScheme: roster                          
wp:                                                
  productid: 'cb084f50-b33f-012e-5ad6-002332c85ef8'
                                                   
extensions: ["json", "rexml", "set"]
android:            
  version: 2.2        
capabilities:      # この行を追加
- gps              # この行を追加

 XMLの解析で変更した「extensions」とは異なり、GPSなどの物理デバイスなどの使用には「capabilities:」項目の追加と、使用するデバイス名を指定する必要がある。

2. ソースの設置

 GPS情報を取得し、表示を行うため、「GetGps」という機能名でフォルダ・ファイルを設置しよう。

種類場所名前用途
フォルダapp/GetGpsソース設置フォルダ
ファイルapp/GetGpsget_gps_controller.rbControllerファイル
index.erbViewファイル