2012-02-13 15 views
0

基本的には、(QSLiteで作成された)リストビューの結果を表示しようとしていますが、リストビューの要素を抽出するためのCourseDetailsでこの問題が発生しました:Android-SQLite:コンストラクタDBHelperは定義されていません

"説明リソース・パスの場所の種類 コンストラクタDBHelper(CourseDetails)定義されていCourseDetails.java/MariposaTrainingMobile/SRC/COM/mariposatraining /コースは31 Javaの問題をライン"

私はこのためにDBHelperクラスを使用していますが、私はなぜプログラムが私にそのエラーを送っているのかわからないし、私のDBHelperクラスのコードは問題の解決策を教えてくれません:

public class DBHelper extends SQLiteOpenHelper{ 

private String sql; 
SQLiteDatabase db; 

public DBHelper(Context context, String name, CursorFactory factory, 
     int version) { 
    super(context, name, factory, 1); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onCreate(SQLiteDatabase db) 
{ 
    // TODO Auto-generated method stub 
    String sql= " CREATE TABLE courses (" + "_id INTEGER PRIMARY KEY AUTOINCREMENT, " + " title TEXT, " + " instructor TEXT, " + " length TEXT, " + " rating TEXT, " + " topic TEXT, " + " subject TEXT, " + "description TEXT)"; 
    db.execSQL(sql);   
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

    db.execSQL("DROP TABLE IF EXISTS courses"); 
    onCreate(db);  
} 


public void insertCourses() 
{ 
    db=getWritableDatabase(); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Enabling Freedom...', 'Instructor: Keith Savell', 'length: 60', 'Rating: 4.82', 'Topic: Creating a Prosthetic Environment ', 'Subject:Learn to evaluate and modify the environment to support our residents with cognitive impairment as they age in place.', 'Description: Residents with dementia and delirium are constantly assessing the environment, looking for clues to help them understand where they are, who others around them are, what they are supposed to be doing and what is expected of them.')"; 
    db.execSQL(sql); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Interdisciplinary Care Planning', 'Instructor: Keith Savell', 'length: 60', 'Rating: 4.7', 'Topic: Interdisciplinary Care Planning', 'Subject:Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Description: Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')"; 
    db.execSQL(sql); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Culture Change: Creating A Climate Of Care...', 'Instructor: Keith Savell', 'length: 60', 'Rating: 5', 'Topic: Culture Change ', 'Subject:Learn to evaluate and modify the environment to support our residents with cognitive impairment as they age in place.', 'Description: Residents with dementia and delirium are constantly assessing the environment, looking for clues to help them understand where they are, who others around them are, what they are supposed to be doing and what is expected of them.')"; 
    db.execSQL(sql); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Medical Records Documentation', 'Instructor: Keith Savell', 'length: 60', 'Rating: 5', 'Topic: Medical Records Documentation ', 'Subject:Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Description: Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')"; 
    db.execSQL(sql); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Census Challenges', 'Instructor: Keith Savell', 'length: 60', 'Rating: 4.45', 'Topic: Creative Solutions to Drive Census ', 'Subject:Learn to evaluate and modify the environment to support our residents with cognitive impairment as they age in place.', 'Description: Residents with dementia and delirium are constantly assessing the environment, looking for clues to help them understand where they are, who others around them are, what they are supposed to be doing and what is expected of them.')"; 
    db.execSQL(sql); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Fall Prevention: Reducing Fall Related Injuries', 'Instructor: Keith Savell', 'length: 60', 'Rating: 5', 'Topic: Guidelines for Health Care Providers ', 'Subject:Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Description: Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')"; 
    db.execSQL(sql); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Meaningful Engagement', 'Instructor: Keith Savell', 'length: 60', 'Rating: 5', 'Topic: Creating The Failure Free Activity Program ', 'Subject:Learn to evaluate and modify the environment to support our residents with cognitive impairment as they age in place.', 'Description: Residents with dementia and delirium are constantly assessing the environment, looking for clues to help them understand where they are, who others around them are, what they are supposed to be doing and what is expected of them.')"; 
    db.execSQL(sql); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Dementia and Delirium', 'Instructor: Keith Savell', 'length: 60', 'Rating: 4.69', 'Topic: The Importance of Accurate Diagnosis and Treatment ', 'Subject:Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Description: Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')"; 
    db.execSQL(sql); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Behavior Management', 'Instructor: Keith Savell', 'length: 60', 'Rating: 5', 'Topic: Using Root Cause ', 'Subject:Learn to evaluate and modify the environment to support our residents with cognitive impairment as they age in place.', 'Description: Residents with dementia and delirium are constantly assessing the environment, looking for clues to help them understand where they are, who others around them are, what they are supposed to be doing and what is expected of them.')"; 
    db.execSQL(sql); 
    sql="INSERT INTO courses(title, instructor, length, rating, topic, subject, description) VALUES ('Communication: Powerful Tools For...', 'Instructor: Keith Savell', 'length: 60', 'Rating: 5', 'Topic: Powerful Tools For Communicating With Residents ', 'Subject:Encourage the Interdisciplinary Treatment Team (IDT) to work as a team and view the Care Plan as a resident-centered collaborative effort to enhance the care and quality of resident life.', 'Description: Interdisciplinary Care Planning requires members of the Interdisciplinary Treatment Team (IDT) to view the Care Plan as a resident centered collaborative effort - rather than as a staff centered document. Learn how to utilize the Care Plan to truly function as a team - working together to enhance the care and quality of resident life.')"; 
    db.execSQL(sql); 
} 

public ArrayList<Courses> getCourses() 
{ 
    db = getWritableDatabase(); 
    sql = "SELECT title, instructor, length, rating, topic, subject, description FROM courses"; 
    Cursor cursor = db.rawQuery(sql, null); 
    ArrayList<Courses> courses = new ArrayList<Courses>(); 

    while (cursor.moveToNext()) 
    { 
     Courses oCourses=new Courses(); 
     oCourses.title=cursor.getString(0); 
     oCourses.instructor=cursor.getString(1); 
     oCourses.length=cursor.getString(2); 
     oCourses.rating=cursor.getString(3); 
     oCourses.topic=cursor.getString(4); 
     oCourses.subject=cursor.getString(5); 
     oCourses.description=cursor.getString(6); 
     courses.add(oCourses);   
    } 

    db.close(); 
    cursor.close(); 
    return courses; 

}} 

、ショー要素は、選択のための私のクラスのCourseDetails:

public class CourseDetails extends Activity { 
protected TextView tTitle; 
protected TextView tInstructor; 
protected TextView tLength; 
protected TextView tRating; 
protected TextView tTopic; 
protected TextView tSubject; 
protected TextView tDescription; 

protected int courseId; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.course_details); 

    courseId = getIntent().getIntExtra("COURSE_ID", 0); 
    SQLiteDatabase db = **(new DBHelper(this))**.getWritableDatabase(); 
    Cursor cursor = db.rawQuery("SELECT emp._id, emp.title, emp.instructor, emp.length, emp.rating, emp.topic, emp.subject, emp.description, mgr.title managerTitle, mgr.instructor managerInstructor FROM courses emp LEFT OUTER JOIN courses mgr ON emp.rating = mgr._id WHERE emp._id = ?", 

      new String[]{""+courseId}); 

    if (cursor.getCount() == 1) 
    { 
      cursor.moveToFirst(); 

      tTitle = (TextView) findViewById(R.id.tTitle); 
      tTitle.setText(cursor.getString(cursor.getColumnIndex("title"))); 

      tInstructor = (TextView) findViewById(R.id.tInstructor); 
      tInstructor.setText(cursor.getString(cursor.getColumnIndex("instructor"))); 

      tLength = (TextView) findViewById(R.id.tLength); 
      tLength.setText(cursor.getString(cursor.getColumnIndex("length"))); 

      tRating = (TextView) findViewById(R.id.tRating); 
      tRating.setText(cursor.getString(cursor.getColumnIndex("rating"))); 

      tTopic = (TextView) findViewById(R.id.tTopic); 
      tTopic.setText(cursor.getString(cursor.getColumnIndex("topic"))); 

      tSubject = (TextView) findViewById(R.id.tSubject); 
      tSubject.setText(cursor.getString(cursor.getColumnIndex("subject"))); 

      tDescription = (TextView) findViewById(R.id.tDescription); 
      tDescription.setText(cursor.getString(cursor.getColumnIndex("description"))); 

    } 

}} 

が本当にあなたの助け

答えて

3

をいただければ幸いエラーメッセージが間違っている正確に何を説明します。

public DBHelper(Context context) 

しかし、あなたが定義した唯一のコンストラクタは、これは1です::コンストラクタのシグネチャは次のようになりますことを意味する

(new DBHelper(this)) 

:あなたはコンストラクタを呼び出している

public DBHelper(Context context, String name, CursorFactory factory, 
    int version) 

正しい引数でコンストラクタを呼び出すか、必要な引数を指定して新しいコンストラクタを追加する必要があります。

+0

が私に言うことができるのですか?どうもありがとうございました! – JLouis

+0

欠落しているすべてのパラメータを指定する必要があります。パラメータが意味するものについてのドキュメントを参照してください:http://goo.gl/1eGr4 –

1

あなたはこのようDBHelper作成している:

new DBHelper(this) 

"これは" CourseDetailsオブジェクトが入ります。

しかし、あなたが提供する唯一のコンストラクタは、私はそれを正しく再作成せずにコンストラクタを呼び出す必要がありますどのように

public DBHelper(Context context, String name, CursorFactory factory, int version) 
+0

しかし、本当にあなたの助けをたくさんありがとう、新しいものを作成せずに既に作成されたDHBHelperでビルダーを適切に定義する方法がわかりません。 – JLouis

関連する問題