分别使用sqlite3工具和Android代码的方式建立SQLite数据库。在完成建立数据库的工作后,编程实现基本的数据库操作功能,包括数据的添加、删除和更新。
- 创建一个学生管理的应用,基本信息包含学生姓名,班级,学号。采用数据库存储这些信息。
- 应用应该至少包含信息录入和删除功能。
- 数据显示考虑采用ListView。
工程名DBStudent
MainActivity.java
package com.example.dbstudent;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends Activity {
private DBAdapter db;
private Button bt_add;
private EditText et_name;
private EditText et_number;
private EditText et_class;
private ListView listview;
private Student student;
private int position;
private SimpleAdapter simpleAdapter;
Map<String, Object> item = new HashMap<String, Object>();
private List<Map<String, Object>> Datas = new ArrayList<Map<String, Object>>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_add = (Button) findViewById(R.id.bt_add);
et_name = (EditText) findViewById(R.id.et_name);
et_number = (EditText) findViewById(R.id.et_number);
et_class = (EditText) findViewById(R.id.et_class);
listview = findViewById(R.id.listview);
this.registerForContextMenu(listview);
db = new DBAdapter(MainActivity.this);
db.open();
bt_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String cl = et_class.getText().toString();
String num = et_number.getText().toString();
String na = et_name.getText().toString();
student = new Student(cl, num, na);
long colunm = db.insert(student);
Datas.clear();
display();
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
}
});
display();
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo
menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
//添加两个ITEM
menu.add(0, 1, 0, "删除");
//得到长按的position
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
position = info.position;
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int pos = (int) listview.getAdapter().getItemId(menuInfo.position);
//得到对应的map对象
Map<String, Object> stu = Datas.get(pos);
switch (item.getItemId()) {
case 1:
db.deleteOneData((Integer) stu.get("id"));
Datas.remove(pos);
simpleAdapter.notifyDataSetChanged();
Toast.makeText(MainActivity.this, "ID:" + stu.get("id") + "删除成功", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return super.onContextItemSelected(item);
}
public void display() {
String[] from = {"id", "class", "number", "name"};