freetel priori2 をテスト機として調達

以前のテスト機で失敗 (メモリ不足なのかデバッグができない) したので、今回追加でテスト機を調達しました。本当は Nexus 5 辺りが良かったのですが、予算がないので freetel の priori2 です。

今回は本体メモリが 1 GB あるせいか、デバッガーがいきなりデバッグを放棄すると言うこともなく、Android SDK の USB ドライバーをインストールするだけで、adb_usb.ini の編集もなしで認識されると言う、素直な良いテスト機と言うのが最初の印象でした。

なぜか USB のソケットがトップ側にあるんですけどね。

追記: Wi-Fi は 2.4 GHz だけのようです。

Android Emulator でスクリーンショットが…

Android Emulator でアプリの公開用スクリーンショットを撮ろうといろいろ試してみたのだが、Host GPU を使う設定にすると Android SDK の機能ではどうやっても無理という結論に到達しました。

Host GPU を使わない設定では動作しないアプリだし、高速なエミュレーターの使える x86 版も出せないので、もう残る手段はホスト上に表示されたウィンドウ画像をキャプチャするぐらいしか思いつきませんね。

C++Builder で TCustomOrientationSensor を使ってみる

ここ最近、筆者は C++Builder XE5 を使って iOS アプリケーションを作成しているところですが、TCustomOrientationSensor を使ってみたところ、プロパティ HeadingX/Y/Z で磁気センサーの計測値を取得できるようだということがわかりました。

まずフォームに FMX.Sensors.TOrientationSensor を配置した上で、イベント OnSensorChoosing に対して TCustomOrientationSensor のプロパティ SensorTypeTOrientationSensorType::Compass3D であるセンサーを選択して、プロパティ Sensor を参照します。(参考までに筆者の iPhone 5s では 2 つの TCustomOrientationSensor オブジェクトが検出され、SensorType が Compass3D でないほうは Inclinometer3D でした。)

残念ながら FMX から磁気センサーのキャリブレーションを要求する機能がないようで、あまり実用にはなりそうにありませんが、条件付きながら磁場を計測する一つの手段にはなりそうです。

> Bitbucket リポジトリー コミット

[注記: 『外来語 (カタカナ) 表記ガイドライン』に倣って、repository の日本語表記を「リポジトリー」に変更しました。]