数据存储

数据存储
创建如图所示的六个包在这里插入图片描述
MainActivity里放着所有activity类
在这里插入图片描述
adapter里

dao里
在这里插入图片描述
entity里
在这里插入图片描述
provider里在这里插入图片描述
utils里在这里插入图片描述
layout包里
在这里插入图片描述
activity_main里包含四个按钮,一个listview
效果图如下
在这里插入图片描述
activity_insert里包含两个按钮,一个Spinner,三个TextView,两个EditView
效果图如下
在这里插入图片描述
item_student里包含三个TextView
效果图如下
在这里插入图片描述
完成listView的adapter的编写,使activity_main能如item_student里一样显示数据
先定义所有的控件
private Button btnAdd, btnRevise, btnDelete,btnPeople;
private ListView lvStudent;

private static final int ADD_REQUEST = 100;
private static final int MODIFY_REQUEST = 101;

//private StudentAdapter studentAdapter;
private MyCursorAdapter studentAdapter;
private StudentDAOImpl dao;

private List<Student> students;
private List<String> cursors;
private StudentService studentService;
private int selectedPos;
private Student selectedStudent;

将所有需要用到的数据都显示,采用的是接口的方式,至于adapter的方式使用了两种,一种是普通的StudentAdapter,已经隐藏该代码,代码所用的是另一种是新加的MyCursorAdapter,比较之前的在编写上更加简便
//studentAdapter = new StudentAdapter(students);
studentAdapter = new MyCursorAdapter(this,dao.selectByCursor());
lvStudent.setAdapter(studentAdapter);
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, InsertActivity.class);
intent.putExtra(“flag”,“添加”);
startActivityForResult(intent, ADD_REQUEST);

        }
    });

    lvStudent.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(final AdapterView<?> parent, View view, final int position, long id) {
            selectedPos = position;
            //selectedStudent = (Student) parent.getItemAtPosition(position);
            Cursor cursor = (Cursor) parent.getItemAtPosition(position);
            selectedStudent = new Student();
            selectedStudent.setId(cursor.getInt((cursor.getColumnIndex("_id"))));
            selectedStudent.setName(cursor.getString(cursor.getColumnIndex("name")));
            selectedStudent.setAge(cursor.getInt(cursor.getColumnIndex("age")));
            selectedStudent.setClass_name(cursor.getString(cursor.getColumnIndex("class_name")));

listView用了setOnClickListener,setOnItemClickListener来做点击事件,用listView所显示的数据需要点击才可以实现功能,btn_add是添加的功能,因为不需要点击就可以直接添加所以写在setOnClickListener外面,包含在内的删除,修改按钮则需要点击才可以实现功能
btnRevise.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, InsertActivity.class);
intent.putExtra(“flag”,“修改”);
Bundle bundle = new Bundle();
bundle.putSerializable(“student”, selectedStudent);
intent.putExtras(bundle);
startActivityForResult(intent, MODIFY_REQUEST);

                }
            });
            btnDelete.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    studentService.delete(selectedStudent.get_Id());

// students.remove(position);
// studentAdapter.notifyDataSetChanged();
studentAdapter.changeCursor(dao.select

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值