Java 如何从sqlite数据库检索数据并将其填充到listview中?
我在sqlite数据库中创建了3个表,即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
表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如果你帮不了我,我没有问题。请不要在这里让别人帮忙。你不明白。我想帮你。如果你一直这样问,没有人会帮你。