Android:Eclipseコンソールで変数を印刷する方法


回答:


117

System.out.printlnそして、Log.dの両方がLogCatではなく、コンソールにアクセスしてください。


1
LibGDXとSystem.out.printlnを使用すると、コンソールに移動します。実際のデバイスでアプリをログ/デバッグできるように、logcatに取り込む方法を探しています。
Madmenyo 2014

26

ウィンドウ->ビューを表示->その他…-> Android-> LogCat


6

私はAndroid開発に不慣れで、次のようにしています。

1)クラスを作成します。

android.util.Logをインポートします。

パブリック最終クラスDebug {
    プライベートデバッグ(){}

    public static void out(Object msg){
        Log.i( "情報"、msg.toString());
    }
}

プロジェクトが終了したら、クラスを削除します。

2)LogCat書き込みにメッセージを出力するには:

Debug.out ("something");

3)LogCatでフィルターを作成し、入力「ログタグ」に「情報」を書き込みます。すべてのメッセージはここに書き込まれます。:)

ヒント:別のフィルターを作成して、簡単にデバッグできるようにすべてのエラーをフィルターに掛けます。


8
LogクラスはほとんどすべてのAndroid開発者に馴染みがあるため、このようなコードを記述することはお勧めできません。新しい機能を追加せずに独自のクラスでラップすることで、自分以外の人にとってコードの意味がわかりにくくなります。
Thomas Dignan

6

LogCatで何かを印刷するためのフォローインコードを書くと、問題なく動作します。

int score=0;
score++;
System.out.println(score);

LogCatにスコアを出力します。


3

トーストは、変数の値を表示するための良い方法だと思います!


1
ACTION_MOVEにログオンしているax、y座標のように、値が多く高速な場合、Toastで問題が発生します。そのような場合、画面テキストまたはログ出力がより良い解決策になる可能性があります。
TechNyquist 2013年

1

わかりました、Toastは複雑ではありませんが、機能するにはコンテキストオブジェクトが必要MyActivity.thisです。

Toast.maketext(MyActivity.this, "Toast text to show", Toast.LENGTH_SHORT).show();

ToastはUIリソースですが、uiスレッドとは別の別のスレッドで使用すると、エラーが送信されるか、単に機能しませんname.toString()。 )


0

トーストは悪い考えです。変数の値を出力するには "複雑すぎる"です。logまたはsopを使用します。描かれているように、それらの出力はlogcatに送られます。この情報をエンドユーザーに公開したい場合にのみ意味があります...


0

テストするコードが比較的単純な場合は、パッケージエクスプローラーで通常のJavaプロジェクトを作成し、コードをコピーして実行し、そこで修正してから、Androidプロジェクトにコピーし直すことができます。

System.outがリダイレクトされるという事実は、単純なメソッドをすばやくテストするのにはかなり面倒ですが、正規表現が機能するかどうかを確認するためだけにデバイスエミュレーターを実行する必要はなく、私が見つけた最も簡単なソリューションです。


0

ちなみに、JSONArray内のJSONObjectの正確な場所がわからない場合は、次のコードを使用することをお勧めします(「jsonArray」はすべてのデータを含むメイン変数であると想定し、正確に検索していますequals関数を含む配列内のオブジェクト)

    JSONArray list = new JSONArray(); 
    if (jsonArray != null){
        int len = jsonArray.length();
        for (int i=0;i<len;i++)
        { 
            boolean flag;
            try {
                flag = jsonArray.get(i).toString().equals(obj.toString());
                //Excluding the item at position
                if (!flag) 
                {
                    list.put(jsonArray.get(i));
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }  
        } 
    }
    jsonArray = list;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.