Dbutil增删改查

</pre><span style="font-size:18px;"></span><pre name="code" class="java"><span style="font-size:18px;">public class MainActivity extends Activity {

	private ListView lv;
	private Button bt1;
	private Button bt2;
	private EditText ed1;
	private DbUtils dbutils;
	private List<Goods> list;
	private Myad ad;
	private SharedPreferences sp;

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (requestCode == 100 && resultCode == 100) {
			Goods g = (Goods) data.getSerializableExtra("good");
			try {
				dbutils.update(g, WhereBuilder.b("id", "=", g.getId()));
			} catch (DbException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			selAll();
		}
	}

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		dbutils = DbUtils.create(this, "db");
		list = new ArrayList<Goods>();
		getdata();
		lv = (ListView) findViewById(R.id.listView1);
		bt1 = (Button) findViewById(R.id.b1);
		bt2 = (Button) findViewById(R.id.b2);
		ed1 = (EditText) findViewById(R.id.ed1);
		ad = new Myad();
		lv.setAdapter(ad);

		// 模糊查询
		bt1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				list.clear();
				String str = ed1.getText().toString();
				if (str.equals("")) {
					Toast.makeText(MainActivity.this, "请输入查询内容", 0).show();
				}
				try {
					list = dbutils.findAll(Goods.class,
							WhereBuilder.b("name", "like", "%" + str + "%"));
					ad.notifyDataSetChanged();
				} catch (DbException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
		// 全查
		bt2.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				selAll();

			}

		});

	}

	private void getdata() {
		sp = getSharedPreferences("goods", MODE_PRIVATE);
		boolean bl = sp.getBoolean("first", true);
		if (bl) {
			for (int i = 0; i <= 10; i++) {
				try {
					dbutils.save(new Goods("商品" + i, "¥" + ((i + 1) * 10)));
				} catch (DbException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		Editor ed = sp.edit();
		ed.putBoolean("first", false);
		ed.commit();
	}

	class Myad extends BaseAdapter {

		private Button bu1;
		private Button bu2;
		private TextView tv1;
		private TextView tv2;

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return list.size();
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return null;
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return 0;
		}

		@Override
		public View getView(final int position, View convertView,
				ViewGroup parent) {
			convertView = View.inflate(MainActivity.this, R.layout.item, null);
			bu1 = (Button) convertView.findViewById(R.id.bu1);
			bu2 = (Button) convertView.findViewById(R.id.bu2);
			tv1 = (TextView) convertView.findViewById(R.id.textView1);
			tv2 = (TextView) convertView.findViewById(R.id.textView2);
			tv1.setText(list.get(position).getName());
			tv2.setText(list.get(position).getPrice());

			bu1.setOnClickListener(new OnClickListener() {

				@Override
				public void onClick(View v) {
					Intent i = new Intent(MainActivity.this, TwoActivity.class);
					i.putExtra("good", list.get(position));
					// startActivity(i);
					startActivityForResult(i, 100);
				}
			});
			
			bu2.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View v) {
					
					Goods g3 = list.get(position);
					list.remove(position);
					try {
						dbutils.delete(Goods.class,WhereBuilder.b("id","=",g3.getId()));
					} catch (DbException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}

					ad.notifyDataSetChanged();
				}
				
			});

			return convertView;
		}

	}

	public void selAll() {
		try {
			list.clear();
			list = dbutils.findAll(Goods.class);
			ad.notifyDataSetChanged();
		} catch (DbException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}</span>





<span style="font-size:18px;">public class TwoActivity extends Activity {

	private EditText ed1;
	private EditText ed2;
	private Goods g;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_two);

		ed1 = (EditText) findViewById(R.id.editText1);
		ed2 = (EditText) findViewById(R.id.editText2);
		Intent i = getIntent();
		g = (Goods) i.getSerializableExtra("good");

		ed1.setText(g.getName());
		ed2.setText(g.getPrice());
		Button b = (Button) findViewById(R.id.tijiao);
		b.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				String str1 = ed1.getText().toString();
				String str2 = ed2.getText().toString();
				g.setName(str1);
				g.setPrice(str2);
				Intent i = new Intent(TwoActivity.this, MainActivity.class);
				i.putExtra("good", g);
				setResult(100, i);
				finish();

			}
		});

	}

}</span>


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值