一个安卓菜鸟的征程(SQLite以及ContentProvider)

         其实开这个CSDN这个博客,最主要不是为了什么发表自己的什么技术,想法以及作品的,主要是为了对自己自学的知识做一个总结,然后可以回顾,温习,这样来提升自己在安卓开发的道路上走得更稳,更具有回味性。

         多的不说,之前在学校就已经自己自学了一部分的安卓知识,但是用来开发,那肯定是远远不够的。今天主要学的是关于SQLite的存储知识以及ContentProvider数据传递的知识。

        SQLitedatabase:

         这是一个安卓手机提供的轻量存储数据库,用户可以将数据存储入内。

         开发关于SQLitedatabase主要是通过继承SQLiteOpenHelper类来进行的,该类中主要包含了2个需要实现的方法,一个是oncreate(SQLitedatabase db){}该方法主要是当该类被实例化后调用getWritableDatabase()方法【注:此方法返回的是SQLitedatabase】的时候,创建一个数据库,并实行oncreate方法中的数据库语句,如:db.excuteSQL(创表语句等)。

         该类中本身会具有如下一个构造函数

       public dbHelper(Context context, String name, CursorFactory factory,
           int version) {
            super(context, name, null, version);
              }

          其中version对应的参数是用来判断数据库版本的,当版本不一致时,将会执行

此类中的另一个需要实现的方法

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

 }用来升级。

          当SQLiteOpenHelper的子类被实例化后,可以调用以下两个方法

         getWritableDatabase() 获得可写的数据库,返回的是SQLitedatabase,并通过此SQLitedatabase进行insert,delete等数据库写入的操作方法。

         getReadableDatabase()获得可读的数据库,主要可以用该数据库调用query【查询】的方法进行数据库查询【注:query返回的是Cursor对象】

          在此Demo中,用到了一个SImpleCursorAdapter,其中有个方法adapter.changeCursor (c),可以用来改变适配器填充的内容。

           其次,在界面中,用到了ListActivity,而在布局文件中,ListView的控件ID应该为android:id=“@android:id/list

       ContentProvider:

          此类主要方法:主要是增删改查的内容,其中比较主要的还是oncreate()方法,

          在该方法中要创建数据库以及数据库表等,eg:db=getContext().openOrCreateDatabase();
                                                                                      db.excuteSQL();

          等;

          若要一个应用程序暴露出去,需要在androidManifest.xml中进行注册provider,同时仍需要对Authories添加一个可以暴露的uri,还需要对export属性经行设置

android:export=“true”,一切设置好了之后,就可以利用getProviderRosver()来进行增删改查的内容。

          Demo中遇到的问题:

         1.Uri uri=Uri.prase("content://com.jiege.cp");此处的content是小写的,在Demo中我用了Content,导致在打开时Cursor指针错误,即没有读取到之前写入的内容。

         2.其次在这两个Demo中都利用到了一个ContentValues这个类,以及其put()方法,用来对数据进行写入。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值