public void onClick(View v) { if(v.getId()==R.id.button1) { list = new ArrayList<>(); ContentResolver resolver = getContentResolver(); Uri uri = ContactsContract.Contacts.CONTENT_URI; Cursor cursor = resolver.query(uri, null, null, null, null); while (cursor.moveToNext()) { map = new HashMap<>(); //获取联系人姓名,手机号码 @SuppressLint("Range") String cName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); // Toast.makeText(MainActivity.this, cName, Toast.LENGTH_SHORT).show(); map.put("name", cName); @SuppressLint("Range") String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); // Toast.makeText(MainActivity.this, id, Toast.LENGTH_SHORT).show(); Cursor phone = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=?", new String[]{id}, null); StringBuffer sbphone = new StringBuffer(); phone.move(0); while (phone.moveToNext()) { @SuppressLint("Range") String phones = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); // Toast.makeText(MainActivity.this, phones, Toast.LENGTH_SHORT).show(); map.put("phone", sbphone.append(phones + " ".toString())); } list.add(map); } SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.layout, new String[]{"name", "phone"}, new int[]{R.id.textView3, R.id.textView4}); listView.setAdapter(adapter); }解释这段代码
时间: 2024-02-14 20:35:11 浏览: 43
这段代码实现了获取Android设备上联系人信息的功能,并将其展示在一个ListView上。具体实现过程如下:
1. 初始化一个空的ArrayList用于存储联系人信息。
2. 获取ContentResolver对象并使用ContactsContract.Contacts.CONTENT_URI查询联系人信息,返回一个Cursor对象。
3. 遍历Cursor对象,并通过getColumnIndex方法获取联系人姓名和ID。
4. 使用联系人ID查询该联系人的手机号码,并将其放入一个StringBuffer中。
5. 将联系人姓名和手机号码存储到一个HashMap中,并将其放入ArrayList中。
6. 使用SimpleAdapter将ArrayList中的联系人信息展示在ListView上。
具体实现细节可以参考注释。
相关问题
移动应用开发:建立数据库“dbTest.db”以及“tb_person”,包含字段:id name age gender height 要求实现对学生以上信息的增删改查,写出相应的xml和activity文件
好的,我可以为您提供一个简单的实现方案。以下是步骤和代码示例:
1. 创建数据库和表
在 Android Studio 中创建一个新项目。然后在项目的 `app/src/main/` 目录下创建一个 `assets/` 文件夹,并在此文件夹下创建一个名为 `dbTest.db` 的 SQLite 数据库文件。在该数据库中创建一个名为 `tb_person` 的表,包含 `id`、`name`、`age`、`gender` 和 `height` 这五个字段。
2. 编写数据库操作类
创建一个名为 `DatabaseHelper` 的类,用于连接数据库和进行增删改查操作。以下是该类的代码示例:
```java
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "dbTest.db";
private static final int DB_VERSION = 1;
private static final String TABLE_NAME = "tb_person";
private static final String ID = "id";
private static final String NAME = "name";
private static final String AGE = "age";
private static final String GENDER = "gender";
private static final String HEIGHT = "height";
public DatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE " + TABLE_NAME + " ("
+ ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ NAME + " TEXT, "
+ AGE + " INTEGER, "
+ GENDER + " TEXT, "
+ HEIGHT + " REAL)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "DROP TABLE IF EXISTS " + TABLE_NAME;
db.execSQL(sql);
onCreate(db);
}
public void insert(Person person) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(NAME, person.getName());
values.put(AGE, person.getAge());
values.put(GENDER, person.getGender());
values.put(HEIGHT, person.getHeight());
db.insert(TABLE_NAME, null, values);
db.close();
}
public void update(Person person) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(NAME, person.getName());
values.put(AGE, person.getAge());
values.put(GENDER, person.getGender());
values.put(HEIGHT, person.getHeight());
String whereClause = ID + "=?";
String[] whereArgs = {String.valueOf(person.getId())};
db.update(TABLE_NAME, values, whereClause, whereArgs);
db.close();
}
public void delete(int id) {
SQLiteDatabase db = this.getWritableDatabase();
String whereClause = ID + "=?";
String[] whereArgs = {String.valueOf(id)};
db.delete(TABLE_NAME, whereClause, whereArgs);
db.close();
}
public List<Person> queryAll() {
SQLiteDatabase db = this.getReadableDatabase();
List<Person> list = new ArrayList<>();
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex(ID));
String name = cursor.getString(cursor.getColumnIndex(NAME));
int age = cursor.getInt(cursor.getColumnIndex(AGE));
String gender = cursor.getString(cursor.getColumnIndex(GENDER));
float height = cursor.getFloat(cursor.getColumnIndex(HEIGHT));
Person person = new Person(id, name, age, gender, height);
list.add(person);
}
cursor.close();
db.close();
return list;
}
}
```
在该类中,我们继承了 `SQLiteOpenHelper` 类,并实现了 `onCreate`、`onUpgrade` 方法用于创建数据库和升级数据库。同时,我们还实现了 `insert`、`update`、`delete` 和 `queryAll` 方法用于增删改查操作。
3. 编写实体类
创建一个名为 `Person` 的类,用于表示一个学生的信息。该类包含 `id`、`name`、`age`、`gender` 和 `height` 这五个属性,并且编写相应的 getter 和 setter 方法。以下是该类的代码示例:
```java
public class Person {
private int id;
private String name;
private int age;
private String gender;
private float height;
public Person() {
}
public Person(int id, String name, int age, String gender, float height) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
this.height = height;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public float getHeight() {
return height;
}
public void setHeight(float height) {
this.height = height;
}
}
```
4. 编写布局文件和 Activity 类
在 `activity_main.xml` 文件中,创建一个界面,包括输入框和按钮,用于实现对数据库的增删改查操作。以下是该界面的代码示例:
```xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<EditText
android:id="@+id/edit_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Name"/>
<EditText
android:id="@+id/edit_age"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Age"/>
<EditText
android:id="@+id/edit_gender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Gender"/>
<EditText
android:id="@+id/edit_height"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Height"/>
<Button
android:id="@+id/btn_insert"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Insert"/>
<Button
android:id="@+id/btn_update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Update"/>
<Button
android:id="@+id/btn_delete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Delete"/>
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
```
在 `MainActivity.java` 文件中,我们首先获取界面上的输入框和按钮,并为按钮设置点击事件。当点击按钮时,我们调用相应的 CRUD 操作方法,并将结果展示在界面上。以下是该类的代码示例:
```java
public class MainActivity extends AppCompatActivity {
private EditText mEditName;
private EditText mEditAge;
private EditText mEditGender;
private EditText mEditHeight;
private Button mBtnInsert;
private Button mBtnUpdate;
private Button mBtnDelete;
private ListView mListView;
private ArrayAdapter<Person> mAdapter;
private List<Person> mList;
private DatabaseHelper mDatabaseHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditName = findViewById(R.id.edit_name);
mEditAge = findViewById(R.id.edit_age);
mEditGender = findViewById(R.id.edit_gender);
mEditHeight = findViewById(R.id.edit_height);
mBtnInsert = findViewById(R.id.btn_insert);
mBtnUpdate = findViewById(R.id.btn_update);
mBtnDelete = findViewById(R.id.btn_delete);
mListView = findViewById(R.id.list_view);
mDatabaseHelper = new DatabaseHelper(this);
mList = mDatabaseHelper.queryAll();
mAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mList);
mListView.setAdapter(mAdapter);
mBtnInsert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = mEditName.getText().toString();
int age = Integer.parseInt(mEditAge.getText().toString());
String gender = mEditGender.getText().toString();
float height = Float.parseFloat(mEditHeight.getText().toString());
Person person = new Person(0, name, age, gender, height);
mDatabaseHelper.insert(person);
mList.clear();
mList.addAll(mDatabaseHelper.queryAll());
mAdapter.notifyDataSetChanged();
}
});
mBtnUpdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = mEditName.getText().toString();
int age = Integer.parseInt(mEditAge.getText().toString());
String gender = mEditGender.getText().toString();
float height = Float.parseFloat(mEditHeight.getText().toString());
Person person = new Person(mList.get(mListView.getCheckedItemPosition()).getId(), name, age, gender, height);
mDatabaseHelper.update(person);
mList.clear();
mList.addAll(mDatabaseHelper.queryAll());
mAdapter.notifyDataSetChanged();
}
});
mBtnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id = mList.get(mListView.getCheckedItemPosition()).getId();
mDatabaseHelper.delete(id);
mList.clear();
mList.addAll(mDatabaseHelper.queryAll());
mAdapter.notifyDataSetChanged();
}
});
}
}
```
在该类中,我们首先获取界面上的输入框和按钮,并为按钮设置点击事件。当点击按钮时,我们调用相应的 CRUD 操作方法,并将结果展示在界面上。其中,我们使用了一个 `ListView` 来展示学生的信息列表。
需要注意的是,我们查询数据库和更新界面的操作都是在子线程中进行的,以避免出现 ANR 的情况。
以上就是一个简单的增删改查示例,希望能够帮助您完成此项目。
在Androidstudio中设计一个简单学生选课系统并给出代码,在这个应用程序中有两个Activity界面,分别是对课程进行操作时的CourseActivity界面,以及对学生操作的PersonActivity界面。在CourseActivity界面可以对课程进行添加,删除以及跳转到PersonActivity功能和通过ListView将所有课程显示在页面上,在PersonActivity中可以对person表数据进行增、删、改等操作和通过ListView将所有学生信息显示在页面上,在这个工程中有两个实体类(Person.java、Course.java)和一个扩展类(Relation.java),Person.java类定义了学生的属性信息,Course.java类定义了课程的属性对象,而Relation.java类是学生和课程之间的关系类实现了学生和课程之间的多对多存储关系。三个类的属性定义如下,(1)person类的定义为:id(学生号),myname(学生名),myclass(学生班级),(2)Course类:id(课程号)、name(课程名)、obj(上课对象)、phone(班长电话),(3)Relation类:studentId(学生id)、courseId(课程Id)。定义三个数据表,表结构分别为:student表、course表、relations表,通过定义DBOpenHelper类继承SQLiteOpenHelper类来创建数据库,使用SQLite存储数据
首先,我们需要在Android Studio中创建一个新项目。然后,在项目中创建三个Java类:Person.java、Course.java、Relation.java,并且创建一个名为DBOpenHelper.java的SQLiteOpenHelper类。
Person.java类定义:
```java
public class Person {
private int id;
private String myname;
private String myclass;
public Person(int id, String myname, String myclass) {
this.id = id;
this.myname = myname;
this.myclass = myclass;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getMyname() {
return myname;
}
public void setMyname(String myname) {
this.myname = myname;
}
public String getMyclass() {
return myclass;
}
public void setMyclass(String myclass) {
this.myclass = myclass;
}
}
```
Course.java类定义:
```java
public class Course {
private int id;
private String name;
private String obj;
private String phone;
public Course(int id, String name, String obj, String phone) {
this.id = id;
this.name = name;
this.obj = obj;
this.phone = phone;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getObj() {
return obj;
}
public void setObj(String obj) {
this.obj = obj;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
```
Relation.java类定义:
```java
public class Relation {
private int studentId;
private int courseId;
public Relation(int studentId, int courseId) {
this.studentId = studentId;
this.courseId = courseId;
}
public int getStudentId() {
return studentId;
}
public void setStudentId(int studentId) {
this.studentId = studentId;
}
public int getCourseId() {
return courseId;
}
public void setCourseId(int courseId) {
this.courseId = courseId;
}
}
```
DBOpenHelper.java类定义:
```java
public class DBOpenHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "select_course.db";// 数据库名
private static final int DATABASE_VERSION = 1;// 数据库版本号
public static final String TABLE_STUDENT = "student";// 学生表
public static final String TABLE_COURSE = "course";// 课程表
public static final String TABLE_RELATIONS = "relations";// 学生与课程关系表
// 学生表字段
public static final String STUDENT_ID = "id";
public static final String STUDENT_NAME = "myname";
public static final String STUDENT_CLASS = "myclass";
// 课程表字段
public static final String COURSE_ID = "id";
public static final String COURSE_NAME = "name";
public static final String COURSE_OBJ = "obj";
public static final String COURSE_PHONE = "phone";
// 学生与课程关系表字段
public static final String RELATIONS_STUDENT_ID = "studentId";
public static final String RELATIONS_COURSE_ID = "courseId";
// 创建学生表
private static final String CREATE_TABLE_STUDENT = "create table "
+ TABLE_STUDENT + "(" + STUDENT_ID
+ " integer primary key autoincrement, " + STUDENT_NAME
+ " varchar(20), " + STUDENT_CLASS + " varchar(20))";
// 创建课程表
private static final String CREATE_TABLE_COURSE = "create table "
+ TABLE_COURSE + "(" + COURSE_ID
+ " integer primary key autoincrement, " + COURSE_NAME
+ " varchar(20), " + COURSE_OBJ + " varchar(20), "
+ COURSE_PHONE + " varchar(20))";
// 创建学生与课程关系表
private static final String CREATE_TABLE_RELATIONS = "create table "
+ TABLE_RELATIONS + "(" + RELATIONS_STUDENT_ID
+ " integer, " + RELATIONS_COURSE_ID + " integer)";
public DBOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_STUDENT);// 创建学生表
db.execSQL(CREATE_TABLE_COURSE);// 创建课程表
db.execSQL(CREATE_TABLE_RELATIONS);// 创建学生与课程关系表
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_STUDENT);// 删除学生表
db.execSQL("DROP TABLE IF EXISTS " + TABLE_COURSE);// 删除课程表
db.execSQL("DROP TABLE IF EXISTS " + TABLE_RELATIONS);// 删除学生与课程关系表
onCreate(db);
}
}
```
接下来,我们需要创建两个Activity:CourseActivity和PersonActivity。
CourseActivity.java代码:
```java
public class CourseActivity extends AppCompatActivity {
private ListView listView;
private SQLiteDatabase database;
private DBOpenHelper dbOpenHelper;
private List<Course> courseList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_course);
listView = findViewById(R.id.course_list_view);
dbOpenHelper = new DBOpenHelper(this);
database = dbOpenHelper.getWritableDatabase();
Button addButton = findViewById(R.id.add_course_button);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(CourseActivity.this, AddCourseActivity.class);
startActivity(intent);
}
});
Button personButton = findViewById(R.id.person_button);
personButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(CourseActivity.this, PersonActivity.class);
startActivity(intent);
}
});
}
@Override
protected void onResume() {
super.onResume();
courseList.clear();
Cursor cursor = database.query(DBOpenHelper.TABLE_COURSE, null, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex(DBOpenHelper.COURSE_ID));
String name = cursor.getString(cursor.getColumnIndex(DBOpenHelper.COURSE_NAME));
String obj = cursor.getString(cursor.getColumnIndex(DBOpenHelper.COURSE_OBJ));
String phone = cursor.getString(cursor.getColumnIndex(DBOpenHelper.COURSE_PHONE));
Course course = new Course(id, name, obj, phone);
courseList.add(course);
}
cursor.close();
CourseAdapter adapter = new CourseAdapter(CourseActivity.this, courseList);
listView.setAdapter(adapter);
}
private class CourseAdapter extends BaseAdapter {
private Context context;
private List<Course> list;
public CourseAdapter(Context context, List<Course> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = LayoutInflater.from(context).inflate(R.layout.course_item, null);
TextView nameView = view.findViewById(R.id.course_name_view);
TextView objView = view.findViewById(R.id.course_obj_view);
TextView phoneView = view.findViewById(R.id.course_phone_view);
Course course = list.get(position);
nameView.setText(course.getName());
objView.setText(course.getObj());
phoneView.setText(course.getPhone());
return view;
}
}
}
```
PersonActivity.java代码:
```java
public class PersonActivity extends AppCompatActivity {
private ListView listView;
private SQLiteDatabase database;
private DBOpenHelper dbOpenHelper;
private List<Person> personList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_person);
listView = findViewById(R.id.person_list_view);
dbOpenHelper = new DBOpenHelper(this);
database = dbOpenHelper.getWritableDatabase();
Button addButton = findViewById(R.id.add_person_button);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(PersonActivity.this, AddPersonActivity.class);
startActivity(intent);
}
});
}
@Override
protected void onResume() {
super.onResume();
personList.clear();
Cursor cursor = database.query(DBOpenHelper.TABLE_STUDENT, null, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex(DBOpenHelper.STUDENT_ID));
String name = cursor.getString(cursor.getColumnIndex(DBOpenHelper.STUDENT_NAME));
String myclass = cursor.getString(cursor.getColumnIndex(DBOpenHelper.STUDENT_CLASS));
Person person = new Person(id, name, myclass);
personList.add(person);
}
cursor.close();
PersonAdapter adapter = new PersonAdapter(PersonActivity.this, personList);
listView.setAdapter(adapter);
}
private class PersonAdapter extends BaseAdapter {
private Context context;
private List<Person> list;
public PersonAdapter(Context context, List<Person> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = LayoutInflater.from(context).inflate(R.layout.person_item, null);
TextView nameView = view.findViewById(R.id.person_name_view);
TextView classView = view.findViewById(R.id.person_class_view);
Person person = list.get(position);
nameView.setText(person.getMyname());
classView.setText(person.getMyclass());
return view;
}
}
}
```
接下来,我们需要创建两个添加数据的Activity:AddCourseActivity和AddPersonActivity。
AddCourseActivity.java代码:
```java
public class AddCourseActivity extends AppCompatActivity {
private SQLiteDatabase database;
private DBOpenHelper dbOpenHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_course);
dbOpenHelper = new DBOpenHelper(this);
database = dbOpenHelper.getWritableDatabase();
Button addButton = findViewById(R.id.add_course_button);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText nameEdit = findViewById(R.id.course_name_edit);
EditText objEdit = findViewById(R.id.course_obj_edit);
EditText phoneEdit = findViewById(R.id.course_phone_edit);
String name = nameEdit.getText().toString().trim();
String obj = objEdit.getText().toString().trim();
String phone = phoneEdit.getText().toString().trim();
ContentValues values = new ContentValues();
values.put(DBOpenHelper.COURSE_NAME, name);
values.put(DBOpenHelper.COURSE_OBJ, obj);
values.put(DBOpenHelper.COURSE_PHONE, phone);
database.insert(DBOpenHelper.TABLE_COURSE, null, values);
finish();
}
});
}
}
```
AddPersonActivity.java代码:
```java
public class AddPersonActivity extends AppCompatActivity {
private SQLiteDatabase database;
private DBOpenHelper dbOpenHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_person);
dbOpenHelper = new DBOpenHelper(this);
database = dbOpenHelper.getWritableDatabase();
Button addButton = findViewById(R.id.add_person_button);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText nameEdit = findViewById(R.id.person_name_edit);
EditText classEdit = findViewById(R.id.person_class_edit);
String name = nameEdit.getText().toString().trim();
String myclass = classEdit.getText().toString().trim();
ContentValues values = new ContentValues();
values.put(DBOpenHelper.STUDENT_NAME, name);
values.put(DBOpenHelper.STUDENT_CLASS, myclass);
database.insert(DBOpenHelper.TABLE_STUDENT, null, values);
finish();
}
});
}
}
```
最后,我们需要在AndroidManifest.xml文件中注册这些Activity:
```xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.selectcourse">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".AddCourseActivity"></activity>
<activity android:name=".AddPersonActivity"></activity>
<activity android:name=".CourseActivity"></activity>
<activity android:name=".PersonActivity"></activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
```
以上就是一个简单的学生选课系统的代码实现,希望能对您有所帮助。