3

携帯電話用のj2meアプリケーションを作成するSystem.out.println()場合、エミュレーターを使用している場合はコンソールでプリントを使用します。ただし、コードが携帯電話にデプロイされている場合、コンソール出力はどこに送られますか?

テザリングされていない携帯電話でこれを確認できない場合、携帯電話が展開中のPCに[USB経由で]接続されているかどうかを確認する方法はありますか?

4

8 に答える 8

4

Symbian 電話 (Nokia、Sony-Ericsson、Motorola、Samsung、Panasonic、Siemens、Series60、Series80、Series90、または UIQ プラットフォームを確認してください) では、System.out と System.err の両方を取得できます。最も重要なことは、Throwable.printStackTrace() も取得できることです。

Symbian OS の初期のバージョンには、Redirector と呼ばれるネイティブ ツールが付属していました。最終的に、サードパーティの MIDlet 開発者も利用できるようになりました。最近は見つけるのが難しいかもしれませんが、Java 仮想マシンが使用する C 標準ライブラリの Symbian 実装にプラグインする C++ コードを使用して再開発することができます。

Symbian OS の新しいバージョンには、単純に System.out、System.err、および Throwable.printStackTrace() を取得できる追加の GCF プロトコルが付属しています。

javax.microedition.io.Connector.openDataInputStream("redirect://");

Sun Ltd cldc-hi 仮想マシンから IBM J9 仮想マシンへの移行中に、Series60 の一部のバージョンで「redirect://test」を使用する必要がある場合があります。

出力をログに記録する MIDlet を起動する前に接続を開く必要があるため、別の MIDlet で開く必要があります。

于 2009-09-30T17:47:01.610 に答える
2

QuickRecipesOnSymbian への返信ありがとうございます。

次の記事では、Symbian 電話で標準エラー/出力を表示するための対応する J2ME MIDlet を見つけることができます。

http://wiki.forum.nokia.com/index.php/How_to_get_System.out_output_from_a_MIDlet_and_save_it_to_a_file_in_S60_devices

このソリューションは、Samsung i8910 でも正常に機能します。(私はこのサイトの初心者なので、複数のリンクを投稿できませんでした。そのため、記事の最後にあるソースと jar を含む zip を見つける必要があります。)

于 2010-08-25T00:17:51.710 に答える
2

j2meロギングに関する回答でこの質問を見つけました。他に何もうまくいかない場合は、これを試すことができます。ただし、アクセスする簡単な方法System.out.println()はいいでしょう。

于 2008-09-24T13:19:41.007 に答える
1

簡単な答えは、どこにもそれらを見ることができないということです。どこかで印刷されますが(印刷物がたくさんあると電話の負荷が遅くなるため)、ほとんどの電話では、それにアクセスする方法がありません。

一部のデバイスはコンソール出力を表示します。たとえば、Sony Ericssonsは、デバイス上のデバッグプログラムをテザリングして実行している場合にすべてを表示します。さまざまなメーカーの開発者サイト(存在する場合)を検索することで、どれがそれを実行し、どれが実行しないかを見つけることができます。

最善の策は、プログラム内のStringBufferに追加する小さなメソッドを作成することです。次に、StringBufferの内容を画面に表示するキー押下をマップします。これらの厄介なデバイスの問題を検索するために非常に貴重です。

于 2008-09-27T11:00:37.700 に答える
0

また、製品コードに println を含めないようにする必要があります。

これを行うと、実際にメモリリークが発生する電話を見たことがあります (たとえば、Sprint の Sanyo 8400.

于 2008-10-05T04:04:22.920 に答える
0

私が提供できる唯一の意見は、これはプラットフォームごとに大きく異なるということです。私は主に BlackBerrys を使用しており、System.err はデバイスのイベント ログに記録されますが、System.out がどこに記録されるかわかりません。

于 2008-09-24T16:04:32.043 に答える
0

J2ME には標準実装がないため、デバイスへのログオンは常に問題になります。GEARに連絡できます。これは、行を印刷して画面に表示できる「デバイス内」デバッグ コンソールも実装する J2ME グラフィック フレームワークです。

于 2009-01-13T17:27:44.230 に答える
0

たとえば、BlackBerry J2ME デバイスをコンピュータに接続し、デバッガをそのデバイスに接続できます。実際のデバイスでプログラムを実行すると、System.outOutputStream がデバッガー コンソールに移動します。

于 2009-04-30T15:25:10.397 に答える