MIDP RMSでデータを保存し、PCで取得します
質問
MIDPのRMSを使用して保存されたデータを取得するにはどうすればよいですか?携帯電話にいくつかのデータを収集し、PCのアプリケーションで処理できるようにしたいと思います。
RMSを使用してできない場合、MIDPを使用してテキストファイルにデータを保存する方法はありますか?
解決
RMSからデータをプログラム的に取得し、ネットワーク呼び出しでサーバーに送信し、したがってPCアプリケーションに送信できます。一部の携帯電話は、ファイルシステムアクセスのために、すべてではなく、JSR 75(javax.microedition.io.file)を実装しています。テキストファイルの読み取りと書き込みに使用できます。ただし、HTTP接続を介してデータを送信することがこれを行う最も簡単な方法だと思います。
他のヒント
HTTPは行く方法です - しかし、複数のデバイスでこれを行うことを検討している場合、さまざまな問題に遭遇します。
小さなデータを送信するのは簡単ですhttp get requestを作成し、データをURLに配置するだけです - ただし、URLの長さに制限があります - これはデバイスまたはデバイスを使用しているネットワークによって制限される場合がありますオン - そして時には反対側のサーバーによって。
データを送信する最良の方法は、それをバッチと複数のHTTP投稿リクエストで送信することです。これは、邪魔になる可能性のあるプロキシサーバーを回避します。 JSONを使用して、非常に軽量なデータを送信します。
HTTPメソッドを使用してファイルをリクエストに添付することに成功しましたが、すぐにこれが特定のデバイスとネットワークに限定されていることがわかりました。
これがすべて個人的な使用のためだけである場合 - それは機能することを実行するだけですが、他の人に使用したいアプリケーションの場合、HTTP投稿と小さなバッチ(2K Say)でのみ推奨できます。
私は行くでしょう JSR 75. 。実際には、限られた数の電話でサポートされていることはまったく真実ではありません。ローエンドカテゴリに属さないほとんどすべての最新の電話は、このAPIをサポートしています。
そして、JSR 75を使用して、タスクをはるかに単純に達成します。インターネットを使用する必要さえありません。電話メモリ(またはメモリカード)にファイルを保存してから、PCから取得します。
一部のモデル(Benq/Siemensのモデルについては確実に知っています)では、Raw Recordstoreファイルを実際のデバイスからエミュレータにコピーすることができます。エミュレータは、すべてのstdout/stderrテキストをファイルに書き込みます。これを1回使用して、RMSから大量のデータを抽出しました。ただし、ファイルAPIを使用すると(モデルがサポートしている場合)、もちろん簡単です。