在 Java 代码中,可以使用 SQLite 数据库来存储用户输入的课程信息,使用 CursorAdapter 来将数据库中的数据显示在课程表中。
时间: 2023-11-28 19:47:25 浏览: 103
是的,你可以使用 SQLite 数据库来存储用户输入的课程信息。以下是一个简单的 Java 代码示例,它使用 SQLiteOpenHelper 类来创建和管理数据库:
```java
public class CourseDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "course.db";
private static final int DATABASE_VERSION = 1;
public CourseDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE courses (_id INTEGER PRIMARY KEY AUTOINCREMENT, "
+ "course_name TEXT, course_day_of_week INTEGER, "
+ "course_start_time INTEGER, course_end_time INTEGER);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Implement database upgrade logic here
}
}
```
在这个示例中,我们创建了一个名为“courses”的表,其中包括课程名称、星期几、开始时间和结束时间等字段。
接着,我们可以使用 CursorAdapter 来将数据库中的数据显示在课程表中。以下是一个简单的代码示例,它使用 SimpleCursorAdapter 类来实现:
```java
public class CourseListFragment extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> {
private static final int LOADER_ID = 0;
private CourseDatabaseHelper mDbHelper;
private SimpleCursorAdapter mAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDbHelper = new CourseDatabaseHelper(getActivity());
mAdapter = new SimpleCursorAdapter(getActivity(), R.layout.list_item_course, null,
new String[] { "course_name", "course_day_of_week", "course_start_time", "course_end_time" },
new int[] { R.id.course_name, R.id.course_day_of_week, R.id.course_start_time, R.id.course_end_time }, 0);
setListAdapter(mAdapter);
getLoaderManager().initLoader(LOADER_ID, null, this);
}
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(getActivity(), CourseProvider.CONTENT_URI, null, null, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
mAdapter.swapCursor(data);
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
mAdapter.swapCursor(null);
}
}
```
在这个示例中,我们创建了一个名为“CourseListFragment”的 Fragment,它使用 SimpleCursorAdapter 来将数据库中的数据显示在 ListView 中。我们使用 LoaderManager 来异步加载数据,并在数据加载完成后更新 ListView。
阅读全文