我们今天给大家分享的主要就是我们在编程当中必须用到的东西,那就是数据库,这个对我们来说是非常重要的,那么我们通过这个小的例子就会明白了,数据库其实也不是那么难的,那么我们就来看看数据库的主要代码:

package eoe.demo;import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteCursor;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.AdapterView;import android.widget.EditText;import android.widget.ListView;import android.widget.SimpleCursorAdapter;public class DBActivity extends Activity {private ToDoDB myToDoDB;private Cursor myCursor;private ListView myListView;private EditText myEditText;private int _id;protected final static int MENU_ADD = Menu.FIRST;protected final static int MENU_EDIT = Menu.FIRST + 1;protected final static int MENU_DELETE = Menu.FIRST + 2;public boolean onOptionsItemSelected(MenuItem item){super.onOptionsItemSelected(item);switch (item.getItemId()){case MENU_ADD:this.addTodo();break;case MENU_EDIT:this.editTodo();break;case MENU_DELETE:this.deleteTodo();break;}return true;}public boolean onCreateOptionsMenu(Menu menu){super.onCreateOptionsMenu(menu);menu.add(Menu.NONE, MENU_ADD, 0, R.string.strAddButton);menu.add(Menu.NONE, MENU_EDIT, 0, R.string.strEditButton);menu.add(Menu.NONE, MENU_DELETE, 0, R.string.strDeleteButton);return true;}public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);myListView = (ListView) this.findViewById(R.id.myListView);myEditText = (EditText) this.findViewById(R.id.myEditText);myToDoDB = new ToDoDB(this);/* 取得DataBase里的数据 */myCursor = myToDoDB.select();/* new SimpleCursorAdapter并将myCursor传入,显示数据的字段为todo_text */SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.list, myCursor, new String[]{ ToDoDB.FIELD_TEXT }, new int[]{ R.id.listTextView1 });myListView.setAdapter(adapter);/* 将myListView添加OnItemClickListener */myListView.setOnItemClickListener(new AdapterView.OnItemClickListener(){public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){/* 将myCursor移到所点击的值 */myCursor.moveToPosition(arg2);/* 取得字段_id的值 */_id = myCursor.getInt(0);/* 取得字段todo_text的值 */myEditText.setText(myCursor.getString(1));}});myListView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3){/* getSelectedItem所取得的是SQLiteCursor */SQLiteCursor sc = (SQLiteCursor) arg0.getSelectedItem();_id = sc.getInt(0);myEditText.setText(sc.getString(1));}public void onNothingSelected(AdapterView<?> arg0){}});}private void addTodo(){if (myEditText.getText().toString().equals(""))return;/* 添加数据到数据库 */myToDoDB.insert(myEditText.getText().toString());/* 重新查询 */myCursor.requery();/* 重新整理myListView */myListView.invalidateViews();myEditText.setText("");_id = 0;}private void editTodo(){if (myEditText.getText().toString().equals(""))return;/* 修改数据 */myToDoDB.update(_id, myEditText.getText().toString());myCursor.requery();myListView.invalidateViews();myEditText.setText("");_id = 0;}private void deleteTodo(){if (_id == 0)return;/* 删除数据 */myToDoDB.delete(_id);myCursor.requery();myListView.invalidateViews();myEditText.setText("");_id = 0;}}

更多信息请访问:http://www.orietech.com

新浪微博:西安欧锐信息科技


更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. 一句话锁定MySQL数据占用元凶
  3. Android-SQLite使用总结
  4. 【干货】Android应用架构笔记
  5. Android中SQLiteOpenHelper类的onUpgrade方法浅谈
  6. Android:实现带图片和CheckBox的ListView
  7. Android之SQLite——不同数据库间复制表
  8. [Android]【安卓】Json数据的快速拼装和解析
  9. BlobCache算法详解

随机推荐

  1. 总结几种MySQL中常见的排名问题
  2. CentOS 8 安装 MySql并设置允许远程连接
  3. mysql8.0.21安装教程图文详解
  4. Mysql实现全文检索、关键词跑分的方法实
  5. MySql使用mysqldump 导入与导出方法总结
  6. Mysql join联表及id自增实例解析
  7. MySQL之mysqldump的使用详解
  8. MySQL单表查询实例详解
  9. MySQL性能优化技巧分享
  10. Mysql数据库定时备份脚本分享