Author: Shinji Chikugi
Table of Contents
はじめに
モバイルアプリの開発で、端末に保存されているデータベースやログなどを、開発用のPCに持ってきて確認したいケースは良くあります。モバイル端末では「サンドボックス構造」として、モバイルアプリケーションがアクセス可能な領域が制限されています。PCからも同様で、モバイルアプリケーションの領域を直接参照することは出来ません。
以下の手段を使用すれば、モバイルアプリケーションのデータを開発用のPCに転送することが出来ます。
Andoroidの場合:
- Android端末のUSBデバッグを有効にします。
- コマンドプロンプトから”adb shell”を実行します。
- Andoroidのシェルが起動しますので、”run-as [アプリケーションのパッケージ名]”を実行して、アプリケーションのストレージに移動します。アプリケーションのパッケージ名はRAD Studioのプロジェクトオプションで確認出来ます。
- cpコマンドで、転送したいファイルをPCからアクセス可能なディレクトリにコピーします。
例)”cp Test1.IB /sdcard/Pictures” - “exit”を入力して、adbから抜けます。
- “adb pull”で開発用のPCにファイルを転送します。
例)”adb pull /sdcard/Pictures/Test1.IB”
iOSの場合:
- ホストのMacでXCodeを起動して、[Window|Devices and Simulators]を選択します。
- “INSTALLED APPS”でアプリケーションを選択して、歯車のアイコンをクリックしてメニューを表示します。
- メニューの”Download Container”を選択します。
- 保存先を選択して[Save]をクリック。アプリケーションデータを保存します。
- 保存したアプリケーションデータで右クリック(オプションメニューを表示)して、[パッケージの内容を表示]を選択します。
- ホストのMacから開発用のPCにコピーします。
まとめ
今回の例はInterBase ToGoのデータファイルです。データをモバイル端末にデータベースとして持たせる場合、FireMonkey + FireDAC + InterBase Togoの組み合わせは非常に有力です。
InterBase Togoはマルチデバイス対応ですので、Windows、AndroidとiOSの相互でファイルをコピーするだけでアクセス出来ます。デバッグに使用したり、編集してから再配置して、モバイル端末に再反映するなどの応用が可能です。
もちろん、データベースファイルだけではなく、ログファイルなどの一般的なファイルもこの方法で転送できます。