一行代码玩转android数据库之增删改查,超级简单 第三方框架xUtils改写 简单实用
16lz
2021-01-26
一行代码玩转android数据库之增删改查,超级简单 第三方框架xUtils改写 简单实用
demo下载
话不多说,demo里有注释详细说明,粘贴到项目,导入jar包就可以用了
package com;import java.util.ArrayList;import java.util.List;import com.db.DbHelper;import com.db.R;import com.db.adapter.MyAdapter;import com.db.bean.People;import com.db.view.DialogView;import android.app.Activity;import android.app.AlertDialog;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import android.widget.Toast;/* * https://github.com/wyouflf/xUtils */public class MyActivity extends Activity implements OnClickListener {private ListView listview;private MyAdapter adapter;private DbHelper dbHelper;private EditText etSelect;private List pList = new ArrayList();private People entity = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);findViewById(R.id.btn_create).setOnClickListener(this);findViewById(R.id.btn_select).setOnClickListener(this);findViewById(R.id.btn_searchdesc).setOnClickListener(this);findViewById(R.id.btn_selectname).setOnClickListener(this);findViewById(R.id.btn_selectlike).setOnClickListener(this);etSelect = (EditText) findViewById(R.id.et_select);listview = (ListView) findViewById(R.id.listview);dbHelper = DbHelper.getInstance(this);}@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();// getData();// 造数据adapter = new MyAdapter(this, pList);listview.setAdapter(adapter);listview.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {// TODO Auto-generated method stubshowAlertDialog(arg2);}});select();// 数据库查询所有数据}private void showAlertDialog(final int position) {final DialogView dialog = new DialogView(this, true, null);entity = pList.get(position);dialog.setMessage(entity.toString());dialog.setAddClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubsave();dialog.dismiss();}});dialog.setUpdateClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {addDialog(position);dialog.dismiss();}});dialog.setDeleteClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {delete(entity.getId());dialog.dismiss();}});dialog.show();}private void addDialog(int position) {entity = pList.get(position);final AlertDialog dialog = new AlertDialog.Builder(this).create();dialog.setView(LayoutInflater.from(this).inflate(R.layout.dialog_add, null));dialog.show();dialog.getWindow().setContentView(R.layout.dialog_add);Button btnPositive = (Button) dialog.findViewById(R.id.btn_submit);Button btnNegative = (Button) dialog.findViewById(R.id.btn_cancel);final EditText etContent = (EditText) dialog.findViewById(R.id.et_name);etContent.setText(entity.getName());btnPositive.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {String name = etContent.getText().toString().trim();if (DialogView.isNullEmptyBlank(name)) {etContent.setError("输入内如不能为空");} else {update(entity.getId(), name);dialog.dismiss();}}});btnNegative.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {dialog.dismiss();}});}@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.btn_create:create();break;case R.id.btn_select:select();break;case R.id.btn_searchdesc:searchDesc();break;case R.id.btn_selectname:String nameStr = etSelect.getText().toString().trim();if (0 < nameStr.length()) {selectName(nameStr);}break;case R.id.btn_selectlike:String nameLike = etSelect.getText().toString().trim();if (0 < nameLike.length()) {selectLike(nameLike);}break;}}// 增加private void save() {entity = new People();entity.setName("小雨");entity.setAge(25);entity.setSex("女");entity.setAddress("深圳");boolean isTrue = dbHelper.save(entity);if (isTrue) {searchDesc();showToast("添加成功");} else {showToast("添加失败");}}// 删除 根据id删除private void delete(int id) {boolean isTrue = dbHelper.deleteCriteria(People.class, "id", id);if (isTrue) {select();showToast("删除成功");} else {showToast("删除失败");}}// 修改 根据id修改nameprivate void update(int id, String name) {entity = (People) dbHelper.searchOne(People.class, "id", id);entity.setName(name);boolean isTrue1 = dbHelper.update(entity, "name");if (isTrue1) {select();showToast("修改成功");} else {showToast("修改失败");}}// 根据条件name查询private void selectLike(String name) {pList.clear();pList = dbHelper.searchLike(People.class, "name", name);if (pList != null) {adapter.setUserEntities(pList);}}// 根据条件name查询private void selectName(String name) {pList.clear();entity = (People) dbHelper.searchOne(People.class, "name", name);if ((pList != null) && (entity != null)) {pList.add(entity);adapter.setUserEntities(pList);}}// 正叙 查询所有private void select() {pList.clear();pList = dbHelper.search(People.class);if (pList != null) {adapter.setUserEntities(pList);}}// 倒叙 查询所有private void searchDesc() {pList.clear();pList = dbHelper.searchDesc(People.class);if (pList != null) {adapter.setUserEntities(pList);}}// 创建 插入全部对象private void create() {boolean isTrue = dbHelper.saveAll(pList);if (isTrue) {showToast("创建成功");} else {showToast("创建失败");}}private void showToast(String name) {Toast.makeText(this, name, Toast.LENGTH_SHORT).show();}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();pList = null;entity = null;}// 造数据private void getData() {for (int i = 0; i < 1000; i++) {entity = new People();entity.setId(i);entity.setName("小明" + i);entity.setAddress("上海");entity.setAge(15 + i);entity.setSex("男");pList.add(entity);}}}
demo下载
更多相关文章
- 第八章、理解Window和WindowManager
- React-native 真机代码不更新
- 为Android2.3添加下拉通知栏的快捷开关
- Android(安卓)5.1长按电源键添加重启功能
- Android(安卓)for S3C2440
- Android(安卓)Studio中修改gradle插件版本和Gradle版本
- 解决OPPO手机在Android(安卓)studio 环境下安装错误运行失败的问
- android statusbar 的修改
- Android(安卓)studio常见问题