contentprovider总结(二)
2015-10-29 17:11
591 查看
在上节中创建完contentprovider之后,接下来我们创建数据库工具类,继承SQLiteOpenHelper.
那么SQLiteOpenHelper怎么用?什么是SQLiteOpenHelper.
SQLiteOpenHelper是一个创建和读取数据库的工具类。
下面举了个例子,用SQLiteOpenHelper操作一个数据表,简单的增删改查方法。但是我们真正的用SQLiteOpenHelper,contentprovider并不是这么用,这样用的话虽然可以对数据库进行增删改查,但是管理起来并不方便。
那么SQLiteOpenHelper怎么用?什么是SQLiteOpenHelper.
SQLiteOpenHelper是一个创建和读取数据库的工具类。
下面举了个例子,用SQLiteOpenHelper操作一个数据表,简单的增删改查方法。但是我们真正的用SQLiteOpenHelper,contentprovider并不是这么用,这样用的话虽然可以对数据库进行增删改查,但是管理起来并不方便。
public class MainActivity extends Activity implements OnClickListener { private DBHelper dbHelper; private TextView tv_name; private Button btn_add; private Button btn_del; private Button btn_query; private Button btn_modify; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); // tv_name.setText(queryData(dbHelper)); } private void initView() { tv_name = (TextView) this.findViewById(R.id.tv_output); btn_add = (Button) this.findViewById(R.id.btn_add); btn_del = (Button) this.findViewById(R.id.btn_del); btn_query = (Button) this.findViewById(R.id.btn_query); btn_modify = (Button) this.findViewById(R.id.btn_modify); btn_add.setOnClickListener(this); btn_del.setOnClickListener(this); btn_query.setOnClickListener(this); btn_modify.setOnClickListener(this); dbHelper = new DBHelper(this, "my.db", null, 1); // insertData(dbHelper); } public void insertData(DBHelper dbHelper) { // 获取数据库对象 SQLiteDatabase db = dbHelper.getWritableDatabase(); db.execSQL("insert into student(id, name) values (1, 'nana')"); ContentValues values = new ContentValues(); values.put("id", 2); values.put("name", "xiaoying"); db.insert("student", "id", values); db.close(); } public void updateData(DBHelper dbHelper) { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values2 = new ContentValues(); values2.put("name", "nana2"); db.update("student", values2, "name = 'nana'", null); db.close(); } public String queryData(DBHelper dbHelper) { String result = ""; SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.query("student", null, null, null, null, null, "id"); int idIndex = cursor.getColumnIndex("id"); int nameIndex = cursor.getColumnIndex("id"); for (cursor.moveToFirst(); !(cursor.isAfterLast()); cursor.moveToNext()) { result = result + cursor.getString(nameIndex); result = result + cursor.getInt(idIndex); } cursor.close(); db.close(); return result; } public String deleteData(DBHelper dbHelper) { String result = ""; String[] args = { "nana" }; SQLiteDatabase db = dbHelper.getWritableDatabase(); db.delete("student", "name = ?", args); db.close(); return result; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } protected void onDestry() { super.onDestroy(); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.btn_add: insertData(dbHelper); break; case R.id.btn_del: deleteData(dbHelper); break; case R.id.btn_modify: updateData(dbHelper); break; case R.id.btn_query: tv_name.setText(queryData(dbHelper)); // queryData(dbHelper); break; } } }
相关文章推荐
- contentprovider 总结(一)
- PHP Twig模版的function详解(中文)
- 极客学院-PHP002-PHP 开发环境搭建[4_36]
- PHP Twig模版的Filters详解(中文)
- php无限分类
- PHP实现远程图片下载
- php如何实现只替换一次或N次
- param getParameter getAttribute
- php重视问题1
- php新版本废弃 preg_replace /e 修饰符
- php curl请求封装(备份,万一下次用到了,直接copy哈哈哈)
- PHP开发框架HushFrameword在阿里服务器Windows Server2012上的环境搭建正确方法
- vsftpd本身不支持软连接
- 最准确的php截取字符串长度函数
- TFTP Server 搭建嵌入式
- PHP与.NET一致的DES(CBC)算法
- php关键字仅替换一次的实现函数
- ThinkPHP验证码不现实的处理方法
- php 框架 yii control 中使用布局
- PHP Twig模版的tags详解(中文)