SQLite数据库
任务的基本思路
输入姓名,获取存入SQLite数据库,通过adapter将数据传递到listview中增加显示,删除将从数据库中删除并显示
表的创建
public class MyDBHelper extends SQLiteOpenHelper {
    private String sql="create table student(_id integer primary key 
autoincrement,"+"name text not null,classmate text  not null,age integer)";
    public MyDBHelper(Context context) {
        super(context, "studentInfo", null,1);
    }
    //app中无数据或版本为1,调用
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(sql);
    }
    //更新数据库,当新的版本号大于old会调用
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("drop table if exists student");
        onCreate(db);
    }
}
数据的获取和删除
public class Name implements Serializable {
private int _id;
private String name;
public Name(){
}
public Name(String name){
    this.name=name;
}
public int get_id() {
    return _id;
}
public void set_id(int _id) {
    this._id = _id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
DAO
public void insert(Name name){
  
    db=helper.getWritableDatabase();
   
    ContentValues values=new ContentValues();
    values.put("name",name.getName());
  
    db.insert("student",null,values);
}
public Cursor selectAll() {
    db =helper.getReadableDatabase();
    Cursor cursor= db.query("student",null,null,null,null,null,null);
    return cursor;
}
public void delete(int id){
    db = helper.getWritableDatabase();
    db.delete("student","_id=?",new String[]{String.valueOf(id)
adapter的创建
public Adapter(Context context, Cursor c) {
    super(context, c, 0);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup viewGroup) {
    return LayoutInflater.from(context).inflate(R.layout.item,viewGroup,false);
}
@Override
public void studentView(View view, Context context, Cursor cursor) {
    TextView name= (TextView) view.findViewById(R.id.tvname);
    name.setText(cursor.getString(cursor.getColumnIndex("name")));
}
主方法的实现代码
public class MainActivity extends AppCompatActivity {
    private EditText et_name;
     private ListView data;
    private Adapter adapter;
    private StudentDAO studentDAO;
    private Cursor cursor;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_name = (EditText)findViewById(R.id.et_name);
        data = (ListView)findViewById(R.id.data);
        //查询数据并进行显示
        studentDAO = new StudentDAO(this);
        cursor = studentDAO.selectAll();
        if(cursor!=null){
            Adapter = new Adapter(MainActivity.this,cursor);
            data.setAdapter(adapter);
        }
    }
    public void onClick(View view) {
        switch(view.getId()){
            case R.id.add:
            //add数据
                String name = et_input.getText().toString();
                personDAO.insert(name);
                cursor = personDAO.selectAll();
                if(cursor!=null){
                    adapter = new Adapter(this,cursor);
                    data.setAdapter(adapter);
                }
                break;
            case R.id.delete:
            //delete数据
                if(cursor!=null){
                    if(cursor.moveToFirst()){
                        studentDAO.delete(cursor.getString(cursor.getColumnIndex("_id")));
                        cursor = studentDAO.selectAll();
                    }
                }
                adapter = new Adapter(this,cursor);
                data.setAdapter(adapter);
                break;
        }
}
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号