zoukankan      html  css  js  c++  java
  • 访问其他程序中的数据

    ContentResolver()中的增删改查方法不接收表名参数,而使用的是一个Uri参数,这个参数被称为内容URl。内容URl给内容提供器中的数据建立了唯一标识符,它主要由两部分组成:authority和path。authority是用于对不同的应用程序做区分,一般采用程序包名的方式进行命名,比如一个程序的包名为com.example.app,那么该程序的authority就可以命名为com.example.app.provider。path是用于对同一程序中不同的表做区分的,通常添加到authority后面。比如某个程序的数据库里面存在两张表,table1和table2,这时可以将path分别命名为/table1和/table2,然后将authority和path进行组合。除此以外,要辨别它是内容的URl,所以还要在字符串的头部加上协议声明“content://”。综上所述,内容URl最标准的写法如下:

    content://com.example.app.provider/table1
    content://com.example.app.provider/table2

    得到内容URl字符串之后,我们需要将它解析成Uri对象才可以作为参数传入,代码如下:
    Uri uri = Uri.parse("content://com.example.app.provider/table1")

    查询

    Cursor cursor = getContentResolver().query(
        uri,            //查询某张表
        projection,     //指定查询的列名
        selection,      //指定where的约束条件
        selectionArgs,  //为where中的占位符提供具体的值
        sortOrder       //指定查询结果的排序方式
    )
    

    查询完成后返回的是一个Cursor对象,这时我们可以将数据从Cursor对象中逐个读取出来。

    if (cursor ! = null) {
      while(cursor.moveToNext(){
         String column1 = cursor.getString(cursor.getColumnIndex("column1"));
         String column2 = cursor.getString(cursor.getColumnIndex("column2"));
       }
       cursor.close();
    }
    

    增加

    ContentValues contentValues = new ContentValues();
    contentValues.put("column1", "text");
    contentValues.put("column2", 1);
    getContentResolver().insert(uri, contentValues);
    

    修改

    ContentValues contentValues = new ContentValues();
    contentValues.put("column1", "");
    getContentResolver().update(uri,contentValues,"column1=? and column2 =?",new String[]{"text","1"});
    

    删除
    getContentResolver().delete(uri,"column2 = ?",new String[]{"1"});

  • 相关阅读:
    Java 编程下的并发线程之间的同步代码块死锁
    Java 编程下的同步代码块
    Android 编程下两种方式注册广播的区别
    Java 编程下泛型的内部原理
    Android 编程下使用 Google 的 Gson 解析 Json
    c# 调用音库开发英语单词记忆本
    在.Net中实现RichClient+Restful+JPA架构探索实现
    Extjs 常用正则式
    企业内IT部门的一些问题总结
    WinServer2003部署VS2010的水晶报表
  • 原文地址:https://www.cnblogs.com/ngy-liupeng/p/15168508.html
Copyright © 2011-2022 走看看