• 访问内容提供者(和上文联系),测试


    内容提供者提供了对自定义的一个SQLite数据库的表person中增删改查,对象为person(bean)

    public class TestPersonContentProvider extends AndroidTestCase
    {

      private static final String TAG = "TestPersonContentProvider";

      public void testInsert()
      {
        //访问地址:content://要访问的包名.类名/person/insert

        ContentResolver resolver = getContext().getContentResolver(); //内容提供者的访问类

        ContentValues values = new ContentValues();
        values.put("name", "sz");
        values.put("age", "20");

        resolver.insert(Uri.parse("content://要访问的包名.类名/person/insert"), values);
      }

      public void testUpdate()
      {
        ContentResolver resolver = getContext().getContentResolver(); //内容提供者的访问类

        ContentValues values = new ContentValues();

        values.put("name", "1505");
        String where = "id = ?";
        String[] selectionArgs = new String[]{"1"};

        int id = resolver.update(
        Uri.parse("content://要访问的包名.类名/person/update"),
        values ,
        where,
        selectionArgs);
        Log.d(TAG, "UPDATE .... = " + id);
      }

      public void testQuery()
      {
        ContentResolver resolver = getContext().getContentResolver(); //内容提供者的访问类

        //content://要访问的包名.类名/person/query
        String[] projection = new String[]{"id","name","age"};

        Cursor cursor = resolver.query(
        Uri.parse("content://要访问的包名.类名/person/query"),
        projection,
        null,
        null,
        null);

        if(null != cursor && cursor.getCount() > 0)
        {
          while(cursor.moveToNext())
          {
            Integer id = cursor.getInt(0);
            String name = cursor.getString(1);
            Integer age = cursor.getInt(2);

            Log.d(TAG, "id=" + id + " name= " + name + " age= " + age);
          }

          cursor.close(); // 一定记住不要忘了关闭游标
        }
      }

    }

    注意权限:与内容提供者中想对应的权限

    <uses-permission android:name="aaa.bbb.ccc"/>
    <uses-permission android:name="aaa.bbb.ccc.ddd"/>

  • 相关阅读:
    惠普 HP 战66 AMD 4700U 烫手 发烫,使用 Ryzen Controller 温控
    双网卡、多网卡指定IP分别访问网卡(windows添加静态路由)
    战66 WIN11 亮度热键 快捷键无效
    编程语言界的丐帮 C#.NET 国密数字信封 民生银行
    开机启动VM WARE 某台虚拟机
    编程语言界的丐帮 C#.NET FRAMEWORK 4.6 EF 连接MYSQL
    C# .NET 云南农信国密签名(SM2)简要解析
    错误 CS1617 Invalid option '7.3' for /langversion; must be ISO1, ISO2, Default or an integer in range 1 to 6.
    windows 命令行调整跃点数
    C#.NET BC BouncyCastle 国密 SM2 解密遇到 Invalid point encoding 77
  • 原文地址:https://www.cnblogs.com/zzw1994/p/4910307.html
Copyright © 2020-2023  润新知