2013-12-10 2 views
0

Я работал над учебником sqlite, и я думал, что это ясно, но у меня проблема. Я хочу создать и прочитать db, но в моем коде есть ошибка. Я только начал с android и java, поэтому мне нужна помощь.method is undefined issue

я использовал 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(); 
    } 

но в моем затмении есть три ошибки в этой части кода:

// 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 

ошибка «метод getThuis() isdede оштукатурен по типу WedstrijdenGeschiedenis «

И я не могу найти причину этой ошибки. Извините за проблему новичков!

+1

Можете ли вы включить метод getThuis()? –

+0

В этом была проблема! Извините за ошибку –

ответ

1

Добавьте следующие методы класса WedstrijdenGeschiedenis:

public String getThuis(){ 
    return thuisclub; 
} 

public String getBezoekers(){ 
    return bezoekers; 
} 
1

Я не вижу метод getThuis() в классе WedstrijdenGeschiedenis. Очевидно, вы забыли создать геттеры для переменных «thuisclub» и «bezoekers».

0

Я забыл создать добытчик действительно. Глупая ошибка новобранец (и это не упоминалось в учебнике).

Я добавил это:

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; 
} 

и это сделало код работает. Благодаря!