主要的界面布局:
第二个布局:
首先要进行数据库表的创建: 跟之前的一样 只是没那么复杂
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); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("drop table if exists student"); onCreate(db); } }
DAO部分:
public class DAO { private MyDBHelper dbHelper; private SQLiteDatabase sqLiteDatabase; public DAO(Context context){ dbHelper = new MyDBHelper(context); } //向数据库中插入数据 public void insert(String name){ sqLiteDatabase = dbHelper.getWritableDatabase(); String sql = "insert into person(name) values('"+name+"')"; sqLiteDatabase.execSQL(sql); } public Cursor selectAll() { sqLiteDatabase = dbHelper.getReadableDatabase(); Cursor cursor = sqLiteDatabase.query("person", null, null, null, null, null, null); return cursor; } public void delete(String id){ sqLiteDatabase = dbHelper.getWritableDatabase(); String sql = "delete from person where _id="+String.valueOf(id);//"delete from student where _id="+id sqLiteDatabase.execSQL(sql); } } Adapter部分:
public class MyCursorAdapter extends CursorAdapter { public MyCursorAdapter(Context context, Cursor cursor) { super(context, cursor, 0); } @Override public View newView(Context context, Cursor cursor, ViewGroup viewGroup) { return LayoutInflater.from(context).inflate(R.layout.listview_mian,viewGroup,false); } @Override public void bindView(View view, Context context, Cursor cursor) { TextView name = (TextView) view.findViewById(R.id.tv_list); name.setText(cursor.getString(cursor.getColumnIndex("name"))); } } MainActivity Java代码:
public class MainActivity extends AppCompatActivity { private EditText edt; private ListView listView; private MyCursorAdapter adapter; private DAO DAO; private Cursor cursor; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edt = (EditText)findViewById(R.id.edt); listView = (ListView)findViewById(R.id.list_item); DAO = new DAO(this); cursor = DAO.selectAll(); if(cursor!=null){ adapter = new MyCursorAdapter(MainActivity.this,cursor); listView.setAdapter(adapter); } } public void onClick(View view) { switch(view.getId()){ case R.id.add: String name = edt.getText().toString(); DAO.insert(name); cursor = DAO.selectAll(); if(cursor!=null){ adapter = new MyCursorAdapter(this,cursor); listView.setAdapter(adapter); } break; case R.id.delete: if(cursor!=null){ if(cursor.moveToFirst()){ DAO.delete(cursor.getString(cursor.getColumnIndex("_id"))); cursor = DAO.selectAll(); } } adapter = new MyCursorAdapter(this,cursor); listView.setAdapter(adapter); break; } } }
但不幸的是 运行起来依然存在问题 。。。