Android 方法是未定义的问题

Android 方法是未定义的问题,android,android-sqlite,Android,Android Sqlite,我在编写sqlite教程,我认为这很清楚,但我有一个问题。我想创建和读取数据库,但代码中有一个错误。我刚开始使用android和java,所以我需要一些帮助 我用过wedstrijdgeschiedenis: package com.justus.referee; public class WedstrijdenGeschiedenis { private int id; private String thuisclub; private String bezoekers; public

我在编写sqlite教程,我认为这很清楚,但我有一个问题。我想创建和读取数据库,但代码中有一个错误。我刚开始使用android和java,所以我需要一些帮助

我用过wedstrijdgeschiedenis:

package com.justus.referee;

public class WedstrijdenGeschiedenis {

private int id;
private String thuisclub;
private String bezoekers;

public WedstrijdenGeschiedenis(){}

public WedstrijdenGeschiedenis(String thuisclub, String bezoekers) {
    super();
    this.thuisclub = thuisclub;
    this.bezoekers = bezoekers;
}

//getters & setters

@Override
public String toString() {
    return "Wedstrijd [id=" + id + ", thuis=" + thuisclub + ", Bezoekers=" + bezoekers
            + "]";
}

}
我使用MySqLiteHelper:

package com.justus.referee;

import java.util.LinkedList;
import java.util.List;

import com.justus.referee.WedstrijdenGeschiedenis;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class MySQLiteHelper extends SQLiteOpenHelper {



    // Database Version
    private static final int DATABASE_VERSION = 1;
    // Database Name
    private static final String DATABASE_NAME = "WedstrijdenDB";

    public MySQLiteHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);  
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // SQL statement to create wedstrijdenGeschiedenis table
        String CREATE_WEDSTRIJD_TABLE = "CREATE TABLE wedstrijden ( " +
                "id INTEGER PRIMARY KEY AUTOINCREMENT, " + 
                "thuisclub TEXT, "+
                "bezoekers TEXT )";

        // create wedstrijdenGeschiedeniss table
        db.execSQL(CREATE_WEDSTRIJD_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // Drop older wedstrijdenGeschiedeniss table if existed
        db.execSQL("DROP TABLE IF EXISTS wedstrijden");

        // create fresh wedstrijdenGeschiedeniss table
        this.onCreate(db);
    }

    //---------------------------------------------------------------------

    /**
     * CRUD operations (create "add", read "get", update, delete) 
     */

    // WedstrijdenGeschiedeniss table name
    private static final String TABLE_WEDSTRIJD = "wedstrijden";

    // WedstrijdenGeschiedeniss Table Columns names
    private static final String KEY_ID = "id";
    private static final String KEY_THUIS = "thuisclub";
    private static final String KEY_BEZOEKER = "bezoekers";

    private static final String[] COLUMNS = {KEY_ID,KEY_THUIS,KEY_BEZOEKER};

    public void addWedstrijd(WedstrijdenGeschiedenis wedstrijd){
        Log.d("addWedstrijd", wedstrijd.toString());
        // 1. get reference to writable DB
        SQLiteDatabase db = this.getWritableDatabase();

        // 2. create ContentValues to add key "column"/value
        ContentValues values = new ContentValues();
        values.put(KEY_THUIS, wedstrijd.getThuis()); // get thuis 
        values.put(KEY_BEZOEKER, wedstrijd.getBezoeker()); // get bezoeker

        // 3. insert
        db.insert(TABLE_WEDSTRIJD, // table
                null, //nullColumnHack
                values); // key/value -> keys = column names/ values = column values

        // 4. close
        db.close(); 
    }
但在我的eclipse中,这部分代码中有三个错误:

// 2. create ContentValues to add key "column"/value
                ContentValues values = new ContentValues();
                values.put(KEY_THUIS, wedstrijd.getThuis()); // get thuis 
                values.put(KEY_BEZOEKER, wedstrijd.getBezoeker()); // get bezoeker
错误为“未为WedstrijdengeschiedIs类型定义方法getThuis()

我找不到这个错误的原因。对不起,新手的问题

我在WedstrijdenGeschiedenis类中没有看到gethuis()方法。
显然,您忘记了为变量“thuisclub”和“bezoekers”创建getter。

将以下方法添加到WedstrijdenGeschiedenis类:

public String getThuis(){
    return thuisclub;
}

public String getBezoekers(){
    return bezoekers;
}

我确实忘记了创建getter。愚蠢的新手错误(教程中没有提到)

我补充说:

public int getId() {
        return id;
}
public void setId(int id) {
        this.id = id;
}
public String getThuis() {
        return thuisclub;
}
public void setThuis(String thuisclub) {
        this.thuisclub = thuisclub;
}
public String getBezoeker() {
        return bezoekers;
}
public void setBezoeker(String bezoekers) {
        this.bezoekers = bezoekers;
}

这使得代码能够正常工作。谢谢

你能包括getThuis()方法吗?这就是问题所在!对不起,弄错了