设计一个Android studio app,需要具备以下条件,规划完成SQLite数据库建库、建表(10条记录以上),表中数据的增、删、改、查操作;可扩展完成ListView显示表中内容等。 项目可结合任务3的工作,如可创建通讯录、证券信息、成绩单等自己感兴趣的内容
时间: 2024-03-25 13:36:07 浏览: 137
好的,你需要我为你讲解如何设计一个Android studio app,满足以下要求:
1. 完成SQLite数据库的建库、建表(10条记录以上);
2. 实现表中数据的增、删、改、查等操作;
3. 可扩展完成ListView显示表中内容;
4. 项目可结合任务3的工作,如可创建通讯录、证券信息、成绩单等自己感兴趣的内容。
首先,你需要在Android Studio中创建一个新的项目。在项目中,我们需要先创建一个SQLite数据库,并且在其中创建一张表。
1. 创建SQLite数据库
在Android Studio中,可以使用SQLiteOpenHelper类来帮助我们创建SQLite数据库。你需要创建一个新的类,继承自SQLiteOpenHelper类,并且实现onCreate()和onUpgrade()方法。onCreate()方法用于创建数据库和表,onUpgrade()方法用于升级数据库。
例如,我们创建一个名为MyDatabaseHelper的类:
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydatabase.db"; // 数据库名称
private static final int DB_VERSION = 1; // 数据库版本号
public MyDatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表
db.execSQL("CREATE TABLE IF NOT EXISTS student ("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "name TEXT,"
+ "age INTEGER,"
+ "score REAL)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 升级数据库
}
}
```
在这个例子中,我们创建了一个名为student的表,包含四个字段:id(主键)、name、age、score。
2. 实现增删改查操作
在MyDatabaseHelper类中,我们需要实现一些方法,用于增加、删除、修改和查询表中的数据。
例如,我们可以添加一个方法来向表中插入一条新的记录:
```java
public void addStudent(String name, int age, double score) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", name);
values.put("age", age);
values.put("score", score);
db.insert("student", null, values);
db.close();
}
```
这个方法创建一个ContentValues对象,并将数据插入到student表中。
我们还可以添加其他方法,例如删除一条记录、修改一条记录、查询所有记录等。
3. 扩展ListView显示表中内容
在Android Studio中,可以使用ListView来显示表中的数据。你需要在布局文件中添加一个ListView控件,并且在代码中实现一个适配器来将数据显示在ListView中。
例如,我们可以创建一个名为MyListAdapter的适配器:
```java
public class MyListAdapter extends BaseAdapter {
private List<Student> mStudentList;
private LayoutInflater mInflater;
public MyListAdapter(Context context, List<Student> studentList) {
mStudentList = studentList;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return mStudentList.size();
}
@Override
public Object getItem(int position) {
return mStudentList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.nameTextView = (TextView) convertView.findViewById(R.id.name_text_view);
holder.ageTextView = (TextView) convertView.findViewById(R.id.age_text_view);
holder.scoreTextView = (TextView) convertView.findViewById(R.id.score_text_view);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Student student = mStudentList.get(position);
holder.nameTextView.setText(student.getName());
holder.ageTextView.setText(String.valueOf(student.getAge()));
holder.scoreTextView.setText(String.valueOf(student.getScore()));
return convertView;
}
private class ViewHolder {
TextView nameTextView;
TextView ageTextView;
TextView scoreTextView;
}
}
```
在这个例子中,我们创建了一个名为MyListAdapter的适配器,并且实现了getView()方法来将数据显示在ListView中。
4. 创建自己感兴趣的内容
根据任务的要求,我们可以创建自己感兴趣的内容,例如通讯录、证券信息、成绩单等。
例如,我们可以创建一个名为Contact的类,并且在其中定义一些字段,例如姓名、电话号码、电子邮件等。然后,我们可以创建一个名为ContactsActivity的活动,并且在其中实现增加、删除、修改和查询通讯录中的联系人的功能。
这个例子中,我们可以在MyDatabaseHelper类中添加以下方法,用于创建和查询通讯录表:
```java
public void createContactTable() {
SQLiteDatabase db = getWritableDatabase();
db.execSQL("CREATE TABLE IF NOT EXISTS contact ("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "name TEXT,"
+ "phone TEXT,"
+ "email TEXT)");
db.close();
}
public List<Contact> getContactList() {
List<Contact> contactList = new ArrayList<>();
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM contact", null);
if (cursor != null && cursor.getCount() > 0) {
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String phone = cursor.getString(cursor.getColumnIndex("phone"));
String email = cursor.getString(cursor.getColumnIndex("email"));
Contact contact = new Contact(id, name, phone, email);
contactList.add(contact);
}
}
if (cursor != null) {
cursor.close();
}
db.close();
return contactList;
}
```
然后,我们可以在ContactsActivity中使用MyDatabaseHelper类的方法来增加、删除、修改和查询通讯录中的联系人。
例如,我们可以添加以下方法来向通讯录中增加一条新的联系人:
```java
public void addContact(String name, String phone, String email) {
MyDatabaseHelper dbHelper = new MyDatabaseHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", name);
values.put("phone", phone);
values.put("email", email);
db.insert("contact", null, values);
db.close();
}
```
这个方法创建一个MyDatabaseHelper对象,并将数据插入到contact表中。
最后,我们可以在ContactsActivity中使用ListView来显示通讯录中的联系人。
例如,我们可以添加以下方法来显示通讯录中的联系人:
```java
private void showContactList() {
MyDatabaseHelper dbHelper = new MyDatabaseHelper(this);
List<Contact> contactList = dbHelper.getContactList();
MyListAdapter adapter = new MyListAdapter(this, contactList);
mListView.setAdapter(adapter);
}
```
这个方法创建一个MyDatabaseHelper对象,并调用getContactList()方法来获取通讯录中的联系人列表。然后,它使用MyListAdapter适配器来将数据显示在ListView中。
阅读全文