Search code examples
androidarraylistandroid-sqliteandroid-log

Cant display arraylist in logs


Helllo guys, i have arraylist created from SQLite database, when i try to display this arraylist in logs i have:

 01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777ae8
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777cb0
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777cd0
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777cf0
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777d10
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777d30
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777d50
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777d70
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777d90
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777db0
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777dd0
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777df0
01-05 18:57:50.238  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777e10
01-05 18:57:50.239  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777e90
01-05 18:57:50.239  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777eb0
01-05 18:57:50.239  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777ed0
01-05 18:57:50.239  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777ef0
01-05 18:57:50.239  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777f10
01-05 18:57:50.239  16099-16099/com.testdymamicalarray I/ARRAY﹕ com.testdymamicalarray.Cards@41777f30

Why i didnt see values of this arraylist?

My code in MainActivity:

List cards=dataBaseAdapter.getAllCards();
    int a=cards.size();

    for(int i=0;i<a;i++){
        Log.i("ARRAY",cards.get(i).toString());
    }

Method to create ArrayList in DBAdapter:

public List getAllCards(){
    List cards = new ArrayList();


    SQLiteDatabase sqLiteDatabase= helper.getWritableDatabase();

    Cursor cursor=sqLiteDatabase.rawQuery(helper.QUERY,null);

    cursor.moveToFirst();

    while(!cursor.isAfterLast()){

        Cards oneCard=parseCards(cursor);

        cards.add(oneCard);

        cursor.moveToNext();

    }
    cursor.close();
    return cards;
}

Please tell me what im doing wrong. I just whant to see my values in logs such as id, name, value, code,country

EDIT:

Class Cards

public class Cards {

int id;
String name;
String code;
String value;
String country;

public Cards(int id, String name, String code, String value,String country) {
    this.id = id;
    this.name = name;
    this.code = code;
    this.value = value;
    this.country = country;
}

public String getValue() {
    return value;
}

public void setValue(String value) {
    this.value = value;
}

public Cards(String name, String code, String value , String country) {
    this.name = name;
    this.code = code;
    this.value = value;
    this.country = country;
}

public Cards() {

}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getCode() {
    return code;
}

public void setCode(String code) {
    this.code = code;
}

public String getCountry() {
    return country;
}

public void setCountry(String country) {
    this.country = country;
}

}


Solution

  • You'll need to override toString() in your Cards class to produce the output you want.

    Example:

    @Override
    public String toString() {
        return String.format("id:%d name:%s code:%s value:%s country:%s",
                id, name, code, value, country);
    }