Java 如何从sqlite数据库检索数据并将其填充到listview中?

Java 如何从sqlite数据库检索数据并将其填充到listview中?,java,android,eclipse,sqlite,android-listview,Java,Android,Eclipse,Sqlite,Android Listview,我在sqlite数据库中创建了3个表,即 表1)学院(列:-学院id、学院名称、学院地址、城市、州、pincode、电话号码、评级、校长、电子邮件、网站) 表2)课程(列:-课程id、课程名称、课程描述、课程流、持续时间、评分)和 表3)学院课程(列:-学院课程id、学院id、课程id、生效开始日期、生效结束日期、生效标志) <EditText android:id="@+id/editText1" android:layout_width="match_paren

我在sqlite数据库中创建了3个表,即
表1)学院(列:-学院id、学院名称、学院地址、城市、州、pincode、电话号码、评级、校长、电子邮件、网站)
表2)课程(列:-课程id、课程名称、课程描述、课程流、持续时间、评分)和
表3)学院课程(列:-学院课程id、学院id、课程id、生效开始日期、生效结束日期、生效标志)

    <EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="Type college name to filter..." >

    <requestFocus />
    </EditText>

    <ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    </ListView>

    </LinearLayout>
我一直在从SQLite数据库检索数据,在listview中显示数据,过滤listview,并在单击项目时显示详细信息

    <EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="Type college name to filter..." >

    <requestFocus />
    </EditText>

    <ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    </ListView>

    </LinearLayout>
示例:-

    <EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="Type college name to filter..." >

    <requestFocus />
    </EditText>

    <ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    </ListView>

    </LinearLayout>
布局:

    <EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="Type college name to filter..." >

    <requestFocus />
    </EditText>

    <ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    </ListView>

    </LinearLayout>
DBHandler:-

    <EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="Type college name to filter..." >

    <requestFocus />
    </EditText>

    <ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    </ListView>

    </LinearLayout>
    package com.android.collegefinder;

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

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 CollegeTable extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "CollegeFinder";

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

@Override
public void onCreate(SQLiteDatabase db) {
    String CREATE_COLLEGE_TABLE = "CREATE TABLE College ( " + 
    "college_id INTEGER PRIMARY KEY, " + "college_name TEXT, " + "college_address TEXT, " + "city TEXT, " + "state TEXT, " + 
    "pincode TEXT, " + "phone_number TEXT, " + "college_rating TEXT, " + "principal TEXT, " + "email TEXT, " + "website TEXT )";

    String CREATE_COURSE_TABLE = "CREATE TABLE Course ( " + 
    "course_id INTEGER PRIMARY KEY, " + "course_name TEXT, " + "course_description TEXT, " + "course_stream TEXT, " + 
    "duration TEXT, " + "course_rating REAL )";

    String CREATE_COLLEGECOURSE_TABLE = "CREATE TABLE CollegeCourse ( " +
    "collegecourse_id INTEGER PRIMARY KEY, " + "college_id INTEGER, " + "course_id INTEGER, " + "effective_start_date TEXT, " + "effective_end_date TEXT," + "effective_flag INTEGER )";

    db.execSQL(CREATE_COLLEGE_TABLE);
    db.execSQL(CREATE_COURSE_TABLE);
    db.execSQL(CREATE_COLLEGECOURSE_TABLE);

}


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS College");

    this.onCreate(db);
}

private static final String TABLE_COLLEGE = "College";
private static final String KEY_COLLEGE_ID = "college_id";
private static final String KEY_COLLEGE_NAME = "college_name";
private static final String KEY_COLLEGE_ADDRESS = "college_address";
private static final String KEY_CITY = "city";
private static final String KEY_STATE = "state";
private static final String KEY_PINCODE = "pincode";
private static final String KEY_PHONE_NUMBER = "phone_number";
private static final String KEY_COLLEGE_RATING = "college_rating";
private static final String KEY_PRINCIPAL = "principal";
private static final String KEY_EMAIL = "email";
private static final String KEY_WEBSITE = "website";

private static final String[] COLUMNS = {KEY_COLLEGE_ID,KEY_COLLEGE_NAME,KEY_COLLEGE_ADDRESS,KEY_CITY,KEY_STATE,KEY_PINCODE,KEY_PHONE_NUMBER,KEY_COLLEGE_RATING,KEY_PRINCIPAL,KEY_EMAIL,KEY_WEBSITE};

public void addCollege(College college){
    Log.d("addCollege", college.toString());

    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(KEY_COLLEGE_ID, college.getCollegeId());
    values.put(KEY_COLLEGE_NAME, college.getCollegeName());
    values.put(KEY_COLLEGE_ADDRESS, college.getCollegeAddress());
    values.put(KEY_CITY, college.getCity());
    values.put(KEY_STATE, college.getState());
    values.put(KEY_PINCODE, college.getPincode());
    values.put(KEY_PHONE_NUMBER, college.getPhoneNumber());
    values.put(KEY_COLLEGE_RATING, college.getCollegeRating());
    values.put(KEY_PRINCIPAL, college.getPrincipal());
    values.put(KEY_EMAIL, college.getEmail());
    values.put(KEY_WEBSITE, college.getWebsite());

    db.insert(TABLE_COLLEGE, null, values);

    db.close();
}


//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//COURSE TABLE  


private static final String TABLE_COURSE = "Course";
private static final String KEY_COURSE_ID = "course_id";
private static final String KEY_COURSE_NAME = "course_name";
private static final String KEY_COURSE_DESCRIPTION = "course_description";
private static final String KEY_COURSE_STREAM = "course_stream";
private static final String KEY_DURATION = "duration";
private static final String KEY_COURSE_RATING = "course_rating";

private static final String[] COLUMNS_COURSE = {KEY_COURSE_ID, KEY_COURSE_NAME, KEY_COURSE_DESCRIPTION, KEY_COURSE_STREAM, KEY_DURATION, KEY_COURSE_RATING};

public void addCourse(Course course){
    Log.d("addCourse", course.toString());

    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();

    values.put(KEY_COURSE_ID, course.getCourseId());
    values.put(KEY_COURSE_NAME, course.getCourseName());
    values.put(KEY_COURSE_DESCRIPTION, course.getCourseDescription());
    values.put(KEY_COURSE_STREAM, course.getCourseStream());
    values.put(KEY_DURATION, course.getDuration());
    values.put(KEY_COURSE_RATING, course.getCourseRating());

    db.insert(TABLE_COURSE, null, values);

    db.close();

}
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// college course table

    private static final String TABLE_COLLEGECOURSE = "CollegeCourse";
    private static final String KEY_COLLEGECOURSE_ID = "collegecourse_id";
    private static final String KEY_COLLEGE_ID1 = "college_id";
    private static final String KEY_COURSE_ID1 = "course_id";
    private static final String KEY_EFFECTIVE_START_DATE = "effective_start_date";
    private static final String KEY_EFFECTIVE_END_DATE = "effective_end_date";
    private static final String KEY_EFFECTIVE_FLAG = "effective_flag";

    private static final String[] COLUMNS_COLLEGECOURSE = {KEY_COLLEGECOURSE_ID,KEY_COLLEGE_ID1,KEY_COURSE_ID1,KEY_EFFECTIVE_START_DATE,KEY_EFFECTIVE_END_DATE,KEY_EFFECTIVE_FLAG};

    public void addCollegeCourse(CollegeCourse collegecourse){

        Log.d("addCollegeCourse", collegecourse.toString());

        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(KEY_COLLEGECOURSE_ID, collegecourse.getCollegeCourseId());
        values.put(KEY_COLLEGE_ID1, collegecourse.getCollegeId());
        values.put(KEY_COURSE_ID1, collegecourse.getCourseId());
        values.put(KEY_EFFECTIVE_START_DATE, collegecourse.getEffectiveStartDate());
        values.put(KEY_EFFECTIVE_END_DATE, collegecourse.getEffectiveEndDate());
        values.put(KEY_EFFECTIVE_FLAG, collegecourse.getEffectiveFlag());

        db.insert(TABLE_COLLEGECOURSE, null, values);
        db.close();

    }
    package com.android.collegefinder;

import android.app.Activity;
import android.os.Bundle;

public class SearchCollege extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.searchcollege);
    }
}
SearchCollege.java:-

    <EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="Type college name to filter..." >

    <requestFocus />
    </EditText>

    <ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    </ListView>

    </LinearLayout>
    package com.android.collegefinder;

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

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 CollegeTable extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "CollegeFinder";

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

@Override
public void onCreate(SQLiteDatabase db) {
    String CREATE_COLLEGE_TABLE = "CREATE TABLE College ( " + 
    "college_id INTEGER PRIMARY KEY, " + "college_name TEXT, " + "college_address TEXT, " + "city TEXT, " + "state TEXT, " + 
    "pincode TEXT, " + "phone_number TEXT, " + "college_rating TEXT, " + "principal TEXT, " + "email TEXT, " + "website TEXT )";

    String CREATE_COURSE_TABLE = "CREATE TABLE Course ( " + 
    "course_id INTEGER PRIMARY KEY, " + "course_name TEXT, " + "course_description TEXT, " + "course_stream TEXT, " + 
    "duration TEXT, " + "course_rating REAL )";

    String CREATE_COLLEGECOURSE_TABLE = "CREATE TABLE CollegeCourse ( " +
    "collegecourse_id INTEGER PRIMARY KEY, " + "college_id INTEGER, " + "course_id INTEGER, " + "effective_start_date TEXT, " + "effective_end_date TEXT," + "effective_flag INTEGER )";

    db.execSQL(CREATE_COLLEGE_TABLE);
    db.execSQL(CREATE_COURSE_TABLE);
    db.execSQL(CREATE_COLLEGECOURSE_TABLE);

}


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS College");

    this.onCreate(db);
}

private static final String TABLE_COLLEGE = "College";
private static final String KEY_COLLEGE_ID = "college_id";
private static final String KEY_COLLEGE_NAME = "college_name";
private static final String KEY_COLLEGE_ADDRESS = "college_address";
private static final String KEY_CITY = "city";
private static final String KEY_STATE = "state";
private static final String KEY_PINCODE = "pincode";
private static final String KEY_PHONE_NUMBER = "phone_number";
private static final String KEY_COLLEGE_RATING = "college_rating";
private static final String KEY_PRINCIPAL = "principal";
private static final String KEY_EMAIL = "email";
private static final String KEY_WEBSITE = "website";

private static final String[] COLUMNS = {KEY_COLLEGE_ID,KEY_COLLEGE_NAME,KEY_COLLEGE_ADDRESS,KEY_CITY,KEY_STATE,KEY_PINCODE,KEY_PHONE_NUMBER,KEY_COLLEGE_RATING,KEY_PRINCIPAL,KEY_EMAIL,KEY_WEBSITE};

public void addCollege(College college){
    Log.d("addCollege", college.toString());

    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(KEY_COLLEGE_ID, college.getCollegeId());
    values.put(KEY_COLLEGE_NAME, college.getCollegeName());
    values.put(KEY_COLLEGE_ADDRESS, college.getCollegeAddress());
    values.put(KEY_CITY, college.getCity());
    values.put(KEY_STATE, college.getState());
    values.put(KEY_PINCODE, college.getPincode());
    values.put(KEY_PHONE_NUMBER, college.getPhoneNumber());
    values.put(KEY_COLLEGE_RATING, college.getCollegeRating());
    values.put(KEY_PRINCIPAL, college.getPrincipal());
    values.put(KEY_EMAIL, college.getEmail());
    values.put(KEY_WEBSITE, college.getWebsite());

    db.insert(TABLE_COLLEGE, null, values);

    db.close();
}


//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//COURSE TABLE  


private static final String TABLE_COURSE = "Course";
private static final String KEY_COURSE_ID = "course_id";
private static final String KEY_COURSE_NAME = "course_name";
private static final String KEY_COURSE_DESCRIPTION = "course_description";
private static final String KEY_COURSE_STREAM = "course_stream";
private static final String KEY_DURATION = "duration";
private static final String KEY_COURSE_RATING = "course_rating";

private static final String[] COLUMNS_COURSE = {KEY_COURSE_ID, KEY_COURSE_NAME, KEY_COURSE_DESCRIPTION, KEY_COURSE_STREAM, KEY_DURATION, KEY_COURSE_RATING};

public void addCourse(Course course){
    Log.d("addCourse", course.toString());

    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();

    values.put(KEY_COURSE_ID, course.getCourseId());
    values.put(KEY_COURSE_NAME, course.getCourseName());
    values.put(KEY_COURSE_DESCRIPTION, course.getCourseDescription());
    values.put(KEY_COURSE_STREAM, course.getCourseStream());
    values.put(KEY_DURATION, course.getDuration());
    values.put(KEY_COURSE_RATING, course.getCourseRating());

    db.insert(TABLE_COURSE, null, values);

    db.close();

}
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// college course table

    private static final String TABLE_COLLEGECOURSE = "CollegeCourse";
    private static final String KEY_COLLEGECOURSE_ID = "collegecourse_id";
    private static final String KEY_COLLEGE_ID1 = "college_id";
    private static final String KEY_COURSE_ID1 = "course_id";
    private static final String KEY_EFFECTIVE_START_DATE = "effective_start_date";
    private static final String KEY_EFFECTIVE_END_DATE = "effective_end_date";
    private static final String KEY_EFFECTIVE_FLAG = "effective_flag";

    private static final String[] COLUMNS_COLLEGECOURSE = {KEY_COLLEGECOURSE_ID,KEY_COLLEGE_ID1,KEY_COURSE_ID1,KEY_EFFECTIVE_START_DATE,KEY_EFFECTIVE_END_DATE,KEY_EFFECTIVE_FLAG};

    public void addCollegeCourse(CollegeCourse collegecourse){

        Log.d("addCollegeCourse", collegecourse.toString());

        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(KEY_COLLEGECOURSE_ID, collegecourse.getCollegeCourseId());
        values.put(KEY_COLLEGE_ID1, collegecourse.getCollegeId());
        values.put(KEY_COURSE_ID1, collegecourse.getCourseId());
        values.put(KEY_EFFECTIVE_START_DATE, collegecourse.getEffectiveStartDate());
        values.put(KEY_EFFECTIVE_END_DATE, collegecourse.getEffectiveEndDate());
        values.put(KEY_EFFECTIVE_FLAG, collegecourse.getEffectiveFlag());

        db.insert(TABLE_COLLEGECOURSE, null, values);
        db.close();

    }
    package com.android.collegefinder;

import android.app.Activity;
import android.os.Bundle;

public class SearchCollege extends Activity {

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

有什么东西不起作用吗?你的问题是什么?不要在没有说明问题的情况下来这里发布所有代码。你真的认为有人会为了帮助你而阅读和理解所有这些代码吗?现实一点。帮我们帮你,不。所有这些都在纳什正常工作。我的问题是:-如何在listview中从sqlite数据库检索数据?我想在lisview中检索college_name列。我只想对我的上述问题进行编码。请帮帮我,我是新来的android@m0skit0如果你帮不了我,我没有问题。请不要在这里让别人帮忙。你不明白。我想帮你。如果你一直这样问,没有人会帮你。