private static final String DB_NAME = "userInfo";
private static final int VERSION = 1;
public DBOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
public DBOpenHelper(Context context)
{
super(context,DB_NAME,null,VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("create table userInfo(_id integer primary key autoincrement,name varchar(20),sex varchar(20),age varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
public class MainActivity extends AppCompatActivity {
private List<UserBean> userBeanList = new ArrayList<>();
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.listview);
}
public void onclick(View v)
{
switch (v.getId())
{
case R.id.add:
initDB();
break;
case R.id.delete:
deleteUser();
break;
case R.id.updata:
updataUser();
break;
case R.id.select:
selectUser();
break;
}
}
private void initDB()
{
DBOpenHelper dbOpenHelper = new DBOpenHelper(this);
SQLiteDatabase sqLiteDatabase = dbOpenHelper.getReadableDatabase();
ContentValues values = new ContentValues();
values.put("name","张三");
values.put("age","10");
values.put("sex","男");
sqLiteDatabase.insert("userInfo",null,values);
values.clear();
values.put("name","李四");
values.put("age","20");
values.put("sex","女");
sqLiteDatabase.insert("userInfo",null,values);
values.clear();
values.put("name","王五");
values.put("age","30");
values.put("sex","男");
sqLiteDatabase.insert("userInfo",null,values);
values.clear();
values.put("name","赵六");
values.put("age","40");
values.put("sex","女");
sqLiteDatabase.insert("userInfo",null,values);
sqLiteDatabase.close();
}
private void deleteUser()
{
DBOpenHelper dbOpenHelper = new DBOpenHelper(this);
SQLiteDatabase sqLiteDatabase = dbOpenHelper.getReadableDatabase();
int rows = sqLiteDatabase.delete("userInfo","age = ?",new String[]{"20"});
sqLiteDatabase.close();
}
private void updataUser()
{
DBOpenHelper dbOpenHelper = new DBOpenHelper(this);
SQLiteDatabase sqLiteDatabase = dbOpenHelper.getReadableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("sex","男");
sqLiteDatabase.update("userInfo",contentValues,"name=?",new String[]{"赵六"});
sqLiteDatabase.close();
}
private void selectUser()
{
userBeanList.clear();
DBOpenHelper dbOpenHelper = new DBOpenHelper(this);
SQLiteDatabase sqLiteDatabase = dbOpenHelper.getReadableDatabase();
String[] columns = {"name","age","sex"};
Cursor cursor =sqLiteDatabase.query("userInfo",columns,null,null,null,null,null);
while (cursor.moveToNext())
{
UserBean userBean = new UserBean(cursor.getString(0),cursor.getString(1),cursor.getString(2));
userBeanList.add(userBean);
}
listView.setAdapter(new userInfoAdapter());
cursor.close();
sqLiteDatabase.close();
}
class userInfoAdapter extends BaseAdapter{
@Override
public int getCount() {
return userBeanList.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder viewHolder;
if(view == null)
{
viewHolder = new ViewHolder();
view = MainActivity.this.getLayoutInflater().inflate(R.layout.item,null);
viewHolder.name = (TextView) view.findViewById(R.id.name);
viewHolder.age = (TextView) view.findViewById(R.id.age);
viewHolder.sex = (TextView) view.findViewById(R.id.sex);
view.setTag(viewHolder);
}
else
{
viewHolder = (ViewHolder) view.getTag();
}
viewHolder.name.setText(userBeanList.get(i).getName());
viewHolder.age.setText(userBeanList.get(i).getAge());
viewHolder.sex.setText(userBeanList.get(i).getSex());
return view;
}
}
class ViewHolder{
TextView name;
TextView age;
TextView sex;
}
}
public class UserBean {
private String name;
private String sex;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public UserBean(String name, String sex, String age) {
this.name = name;
this.sex = sex;
this.age = age;
}
}