你的位置:首页 > 软件开发 > 操作系统 > (试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

发布时间:2016-04-13 23:00:13
本文系原创博客,文中不妥烦请指出,如需转载摘要请注明出处! ContentProvider的学习与运用Alpha Dog2016-04-13 10:27:06   首先,项目的地址:https://github.com/DarkPointK/MyContent ...

(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

本文系原创博客,文中不妥烦请指出,如需转载摘要请注明出处!

 

ContentProvider的学习与运用

Alpha Dog

2016-04-13  10:27:06

 

 

  首先,项目的地址:https://github.com/DarkPointK/MyContentProvider.git。

  网上对于Android的Content Provider框架以及SQLite这款轻量级的嵌入式数据库的介绍有很多,我不再复述,在此我将着重于如何实现对数据库的操作。

  工作之余开始系统性的自主学习,在阅读了网络上很多大牛的各类技术文章教程后,想试着写一篇属于自己的博客,以记录一些心得成果还可给其他正在学习的朋友一点帮助,而对于文中存在的不妥之处还烦请指出。

  这是一个布局很简单的例子,主要内容在于后台对一个SQLite表的增删改查一系列操作。

 

(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

 

  • “增”:进入应用时“删”“改”按钮不可用,在ET中输入想要添加的字符串后点击“增”弹出新增数据的URI(关于URI的介绍可以通过这片不错的文章了解:http://www.cnblogs.com/linjiqin/archive/2011/05/28/2061396.html);
  • “查”:会根据ET中输入的文字在表中搜索并将搜索到的行的_id显示在TV上,此时“删”“改”按钮变成可用;
  • “删”:被点击后也将使这两按钮不可用,并删除TV中显示的ID的行,在下次点击“查”并查得数据时按钮又被启用;
  • “改”:当查询到数据并在TV中显示ID时可以在ET中输入新的字符串,点击按钮即可改变相应ID行的数据为此字符串并会刷新搜索队列。

  而数据库的表在被创建后会存在于/data/data/package_name/databases文件夹中,如有需要在windows环境下查看表可以利用AS的Device Monitor导出:

(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

 

  我们建立一个自己的项目在AS中,在这个项目中我们至多需要3个类,分别为:继承自SQLiteOpenHelper的类用于直接对数据库操作,继承自ContentProvider的类会被用于决定以何种方式操作数据库,然后就是我们的Activity

(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

  1.1继承自SQLiteOpenHelper的StringDataBase类:

  在继承SQLiteOpenHelper后我们需要重写它的onCreate()方法和onUpgrade()方法并且实现构造方法。当StringDataBase被初始化时,其构造方法将提交数据库名及其版本号给父类的方法得到处理。首次打开数据库onCreate()方**被调用将会处理SQL_CREATE字串中的SQL语句,创建数据库得到一个“string”表。当版本号得到提升将调用onUpgrade()方法。

import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.database.sqlite.SQLiteQueryBuilder;import java.sql.SQLException;/** * Created by Alpha Dog on 2016/4/8. */public class StringDataBase extends SQLiteOpenHelper {  private static final String DATABASE_NAME = "StringDatabase";  private static final String TABLE_NAME = "string";  private static final String KEY_NAME = "str";  private static final String SQL_CREATE =      "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_NAME + " TEXT)";  private static final String SQL_DROP = "DROP TABLE IS EXISTS" + TABLE_NAME;  public StringDataBase(Context context) {    super(context, DATABASE_NAME, null, 1);  }  @Override  public void onCreate(SQLiteDatabase db) {    db.execSQL(SQL_CREATE);  }  @Override  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    db.execSQL(SQL_DROP);    onCreate(db);  }}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:(试笔)一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录