用安卓写一个课程表具有增删改查和连接数据库
时间: 2024-05-14 11:18:36 浏览: 104
Kotlin实现简单的学生信息管理系统,SQLite数据库,增删改查
5星 · 资源好评率100%
好的,你可以按照以下步骤来实现:
1. 首先,创建一个 Android Studio 项目。
2. 在项目中创建一个数据库表,用于存储课程信息。例如,可以创建一个名为 "course" 的表,包含以下列:
- id:用于唯一标识每个课程。
- name:课程名称。
- day:上课日期。
- time:上课时间。
- location:上课地点。
3. 在项目中创建一个 DBHelper 类,用于连接数据库和执行 SQL 语句。可以参考以下代码:
```
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "Course.db";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE course (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, day TEXT, time TEXT, location TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS course");
onCreate(db);
}
}
```
4. 在 Activity 中创建增删改查的方法,可以参考以下代码:
```
public class MainActivity extends AppCompatActivity {
private EditText mNameEditText;
private EditText mDayEditText;
private EditText mTimeEditText;
private EditText mLocationEditText;
private TextView mDisplayTextView;
private DBHelper mDBHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNameEditText = findViewById(R.id.name_edit_text);
mDayEditText = findViewById(R.id.day_edit_text);
mTimeEditText = findViewById(R.id.time_edit_text);
mLocationEditText = findViewById(R.id.location_edit_text);
mDisplayTextView = findViewById(R.id.display_text_view);
mDBHelper = new DBHelper(this);
}
public void addCourse(View view) {
SQLiteDatabase db = mDBHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", mNameEditText.getText().toString());
values.put("day", mDayEditText.getText().toString());
values.put("time", mTimeEditText.getText().toString());
values.put("location", mLocationEditText.getText().toString());
long id = db.insert("course", null, values);
mDisplayTextView.setText("Added course with ID " + id);
}
public void updateCourse(View view) {
SQLiteDatabase db = mDBHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", mNameEditText.getText().toString());
values.put("day", mDayEditText.getText().toString());
values.put("time", mTimeEditText.getText().toString());
values.put("location", mLocationEditText.getText().toString());
int count = db.update("course", values, "id=?", new String[] {String.valueOf(id)});
mDisplayTextView.setText("Updated " + count + " courses");
}
public void deleteCourse(View view) {
SQLiteDatabase db = mDBHelper.getWritableDatabase();
int count = db.delete("course", "id=?", new String[] {String.valueOf(id)});
mDisplayTextView.setText("Deleted " + count + " courses");
}
public void viewCourses(View view) {
SQLiteDatabase db = mDBHelper.getReadableDatabase();
Cursor cursor = db.query("course", null, null, null, null, null, null);
StringBuilder builder = new StringBuilder();
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String day = cursor.getString(cursor.getColumnIndex("day"));
String time = cursor.getString(cursor.getColumnIndex("time"));
String location = cursor.getString(cursor.getColumnIndex("location"));
builder.append("ID: ").append(id).append("\n")
.append("Name: ").append(name).append("\n")
.append("Day: ").append(day).append("\n")
.append("Time: ").append(time).append("\n")
.append("Location: ").append(location).append("\n\n");
}
mDisplayTextView.setText(builder.toString());
}
}
```
5. 最后,创建一个布局文件,包含增删改查所需的 EditText 和 Button,以及显示查询结果的 TextView。
以上就是一个简单的课程表应用程序的实现步骤。需要注意的是,这只是一个简单的示例,可以根据需求进行修改和扩展。同时,需要在 AndroidManifest.xml 文件中声明数据库访问权限:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
阅读全文