Log.dが必要とすることがわかります
Log.d(String TAG, String).
文字列だけでなく、リスト文字列をAndroid debug logcatに出力するにはどうすればよいですか?
最も一般的なデータ構造で使用できる toString() メソッドを使用します。
_Log.d("list", list.toString());
_
上記のステートメントは、Javaで定義された Generic type を使用してList
/Collection
を宣言した場合に、期待される結果を提供します。 String、Integer、Longなど。原因は、すべてtoString()
メソッドを実装していることです。
Customer Generic Type:
ただし、独自のカスタムタイプを使用してList
を宣言すると、list.toString()
を呼び出すだけでは適切な出力が得られません。予想される出力を取得するには、カスタムタイプにtoString()
メソッドを実装する必要があります。
例:
次のようなDog
というモデルクラスがあります
_public class Dog{
String breed;
int ageC
String color;
}
_
List
タイプを使用してDog
を宣言しました
_List<Dog> dogList = new ArrayList<Dog>();
_
このリストをLogCat
に適切に印刷する場合は、Dog
クラスにtoString()
メソッドを実装する必要があります。
_public class Dog{
String breed;
int age
String color;
String toString(){
return "Breed : " + breed + "\nAge : " + age + "\nColor : " + color;
}
}
_
これで、list.toString()
を呼び出すと適切な結果が得られます。
if (list != null && list.size() > 0)
{
for (int i = 0; i < list.size(); i++) {
mStrp = mStrp + list.get(i).getdataname() + "/";
mStrD = mStrD + list.get(i).getdata2name() + "/";
}
//if you want to delete last "/"
mStrp = mStrLatPick.substring(0,mStrLatPick.length() - 1);
value = mStrp + mStrD;
Log.d("value",value);
}