/** * 描述:根据ID查询数据 * * @param id * @return */ public LocalUser queryDataById(int id) { // (1)获取数据库 userDao.startReadableDatabase(false); LocalUser u = (LocalUser) userDao.queryOne(id); userDao.closeDatabase(false); return u; }
/** * 描述:查询数据 * * @throws */ public void queryData() { // (1)获取数据库 userDao.startReadableDatabase(false); // (2)执行查询 List<LocalUser> userListNew = userDao.queryList( null, null, null, null, null, "create_time desc limit " + String.valueOf(pageSize) + " offset " + String.valueOf((pageNum - 1) * pageSize), null); // (3)关闭数据库 userDao.closeDatabase(false); userList.clear(); if (userListNew != null) { userList.addAll(userListNew); } myListViewAdapter.notifyDataSetChanged(); checkPageBar(); }
/** * 描述:删除数据 * * @param id */ public void delData(int id) { // (1)获取数据库 userDao.startWritableDatabase(false); // (2)执行查询 userDao.delete(id); // (3)关闭数据库 userDao.closeDatabase(false); queryData(); }
/** * 描述:查询数量 * * @throws */ public void queryDataCount() { // (1)获取数据库 userDao.startReadableDatabase(false); // (2)执行查询 totalCount = userDao.queryCount(null, null); // (3)关闭数据库 userDao.closeDatabase(false); total.setText("总条数:" + String.valueOf(totalCount)); current.setText("当前页:" + String.valueOf(pageNum)); checkView(); mListViewForPage.setVisibility(View.VISIBLE); }
/** * 描述:保存数据 * * @param u * @throws */ public void saveData(LocalUser u) { // (1)获取数据库 userDao.startWritableDatabase(false); // (2)执行查询 long id = userDao.insert(u); // (3)关闭数据库 userDao.closeDatabase(false); // showToast("插入数据成功,ID:"+id); // 插入数据成功 if (id != -1) { // 查询数据 queryData(); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setAbContentView(R.layout.db_sample); AbTitleBar mAbTitleBar = this.getTitleBar(); mAbTitleBar.setTitleText(R.string.db_inside_name); mAbTitleBar.setLogo(R.drawable.button_selector_back); mAbTitleBar.setTitleBarBackground(R.drawable.top_bg); mAbTitleBar.setTitleTextMargin(10, 0, 0, 0); mAbTitleBar.setLogoLine(R.drawable.line); application = (MyApplication) abApplication; // 初始化数据库操作实现类 userDao = new UserInsideDao(DBInsideSampleActivity.this); // (1)获取数据库 userDao.startReadableDatabase(false); // (2)执行查询 userList = userDao.queryList( null, null, null, null, null, "create_time desc limit " + String.valueOf(pageSize) + " offset " + 0, null); totalCount = userDao.queryCount(null, null); // (3)关闭数据库 userDao.closeDatabase(false); // 获取ListView对象 mListView = (ListView) this.findViewById(R.id.mListView); // 分页栏 mListViewForPage = (LinearLayout) this.findViewById(R.id.mListViewForPage); // 上一页和下一页的按钮 preView = (Button) this.findViewById(R.id.preView); nextView = (Button) this.findViewById(R.id.nextView); // 分页栏显示的文本 total = (TextView) findViewById(R.id.total); current = (TextView) findViewById(R.id.current); // 创建一个HeaderView用于向数据库中增加一条数据 View headerView = mInflater.inflate(R.layout.db_list_header, null); // 加到ListView的顶部 mListView.addHeaderView(headerView); // 使用自定义的Adapter myListViewAdapter = new UserDBListAdapter(this, userList); mListView.setAdapter(myListViewAdapter); if (userList == null || userList.size() == 0) { // 无数据隐藏分页栏 mListViewForPage.setVisibility(View.GONE); } else { total.setText("总条数:" + String.valueOf(totalCount)); current.setText("当前页:" + String.valueOf(pageNum)); checkView(); mListViewForPage.setVisibility(View.VISIBLE); } // 增加记录的按钮 final Button addBtn = (Button) headerView.findViewById(R.id.addBtn); // 增加的字段数据 final EditText mEditText = (EditText) headerView.findViewById(R.id.add_name); addBtn.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // 获取用户输入的数据 String name = mEditText.getText().toString(); if (name != null && !"".equals(name.trim())) { // 增加一条数据到数据库 LocalUser u = new LocalUser(); u.setName(name); saveData(u); } else { showToast("请输入名称!"); } } }); // 上一页事件 preView.setOnTouchListener( new Button.OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent arg1) { switch (arg1.getAction()) { case MotionEvent.ACTION_DOWN: preView(); break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: break; case MotionEvent.ACTION_CANCEL: break; default: break; } return true; } }); // 下一页事件 nextView.setOnTouchListener( new Button.OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent arg1) { switch (arg1.getAction()) { case MotionEvent.ACTION_DOWN: nextView(); break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: break; case MotionEvent.ACTION_CANCEL: break; default: break; } return true; } }); }
/** * 更新数据 描述:TODO * * @param u */ public void updateData(LocalUser u) { // (1)获取数据库 userDao.startWritableDatabase(false); userDao.update(u); userDao.closeDatabase(false); }