デバッグのために変数の値をコンソールに出力したかったのですが、system.out.printlnは機能しません。
System.out.println
とLog.d
はどちらもコンソールではなくLogCatに移動します。
ウィンドウ->ビューを表示->その他…-> Android-> LogCat
LogCatに何かを印刷するために次のコードを書くことは完全にうまくいきます!!
int score=0;
score++;
System.out.println(score);
logCatにスコアを出力します。これを試してください
私はAndroid開発の初心者で、これを行います:
1)クラスを作成します。
import Android.util.Log; public final class Debug { private Debug(){} public static void out(Object msg ){ Log.i( "info"、msg.toString()); } }
プロジェクトが終了したら、クラスを削除します。
2)LogCat書き込みにメッセージを印刷するには:
Debug.out ("something");
3)LogCatでフィルターを作成し、「by Log Tag」の入力に「info」を書き込みます。すべてのメッセージがここに書き込まれます。 :)
ヒント:すべてのエラーをフィルタリングして簡単にデバッグできる別のフィルターを作成します。
トーストは、変数の値を示すための良い方法だと思います!
drawnonwardは正しいです。詳細については、次のリンクを参照してください。 http://developer.Android.com/resources/faq/commontasks.html#logging
テストするコードが比較的単純な場合は、パッケージエクスプローラーで通常のJavaプロジェクトを作成し、コードをコピーして実行し、そこで修正してから、Androidプロジェクト。
System.outがリダイレクトされるという事実は、単純なメソッドをすばやくテストするのは非常に面倒ですが、それは、正規表現が機能するかどうかを確認するためだけにデバイスエミュレーターを実行するよりも、私が見つけた最も簡単なソリューションです。
ところで、正確な場所がわからない場合 JSONArray内のJSONObjectの==次のコードを使用することをお勧めします:そして、私は等しい関数で配列内の正確なオブジェクトを検索しています)
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;
トーストは悪い考えです。変数の値を出力するには「複雑すぎ」ます。 logまたはs.o.pを使用します。すでに描かれたように、それらの出力はlogcatに送られます。この情報をエンドユーザーに公開したい場合にのみ意味があります...