一行代码玩转android数据库之增删改查,超级简单 第三方框架xUtils改写 简单实用

一行代码玩转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<People> pList = new ArrayList<People>();
	private People entity = null;

	@Override
	public 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);
	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		// getData();// 造数据
		adapter = new MyAdapter(this, pList);
		listview.setAdapter(adapter);
		listview.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
				// TODO Auto-generated method stub
				showAlertDialog(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() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				save();
				dialog.dismiss();
			}
		});
		dialog.setUpdateClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				addDialog(position);
				dialog.dismiss();
			}
		});
		dialog.setDeleteClickListener(new OnClickListener() {

			@Override
			public 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() {

			@Override
			public 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() {

			@Override
			public void onClick(View arg0) {
				dialog.dismiss();
			}
		});
	}

	@Override
	public 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修改name
	private 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();
	}

	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.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下载


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值