1、content provider与网页有何相似之处?

  contentProvider使用authority 同网站的域名类似
  contentProvider还可以提供类似于网站的索引方式
       content://media/external/images/#
     2、你能列出几个内置的content provider吗?
  imagestore,constans,media, message,
     3、通过adb工具你可以做些什么?
   可以获取文件和操作手机
     4、什么是AVD?
   android vertual device
     5、你如何列出可用的AVDs?
  android list avds
     6、Android中的一些有用的命令行工具名称是什么?
    adb,ddms
     7、content provider对应的数据库在什么位置?
  在创建项目的data/data下面
     8、浏览一个数据库的好的方法是什么?
  Cursor方式
     9、Content provider的authority属性是什么?
  就是用来索引的,类似于wen的域名
     10、content provider的authority可以缩写吗?
  不可以
     11、MIME类型是什么?其如何与content provider相联系?
  是用来验证的类型。1)就是定义后可以使系统认为你的返回时安全的
  2)就是可以设置必要的data在androidmanifest.xml的时候,这样发的intent就可以用到这个类型了。
        this.startActivity(new Intent(action, uri));
  Uri可以是数据库的某条记录,然后,这个时候需要先匹配contentprovider的gettype类型。
     12、程序员如何找到与某content provider通信的URIs?
  
     13、如何通过URIs来访问数据?
  mcontentresolver
     14、如何为content provider的query语句传入where语句?
  mContentResolver.query(SearchMetaData.CONTENT_URI,
                projection, selection, selectionArg, null)
     15、如何遍历一个cursor?
          Cursor cursor = mContentResolver.query(SearchMetaData.CONTENT_URI,
                projection, selection, selectionArg, null);
        if (cursor != null) {
            while (cursor.moveToNext()) {
                // int persionId=
                // cursor.getInt(cursor.getColumnIndex(SearchMetaData.PERSIOD_ID));
                String path = cursor.getString(cursor
                        .getColumnIndex(SearchMetaData.BITMAP_PATH));
                if (!mPathHash.contains(path)) {
                    mPathHash.add(path);// we not add same path twice
                }
            }
            cursor.close();
        }
     16、Content Values扮演一个什么角色?
  传入数据库的数据,一条记录就是一个values
     17、ContentResolver类扮演什么角色?
  上层操作数据库的媒介
     18、在Content Provider中存储一个文件的协议是什么?
  通过BLOB的方式可以直接存储大文件,图片,MP3等。
  getInputStream()和getOutpurStream()来读写二进制信息。
     19、UriMatcher如何工作,如何使用UriMatcher?
  

    static {
URI_MATCHER = new UriMatcher(UriMatcher.NO_MATCH);
URI_MATCHER.addURI(AUTHORITY, SearchMetaData.TABLE_NAME,
SEARCH_COLLECTION_URI_INDICATER);
URI_MATCHER.addURI(AUTHORITY, SearchMetaData.TABLE_NAME + "/#",
SEARCH_SINGAL_URI_INDICATER);
URI_MATCHER.addURI(AUTHORITY, ApplicationsMetaData.TABLE_NAME,
APPLICATIONS_COLLECTION_URI_INDICATER);
URI_MATCHER.addURI(AUTHORITY, ApplicationsMetaData.TABLE_NAME + "/#",
APPLICATIONS_SINGAL_URI_INDICATER);
}
int op = URI_MATCHER.match(uri);
String idapp = "";
switch (op) {
case SEARCH_COLLECTION_URI_INDICATER:
count = db.delete(SearchMetaData.TABLE_NAME, selection,
selectionArgs);
break;
case SEARCH_SINGAL_URI_INDICATER:
String id = uri.getPathSegments().get(1);
count = db.delete(SearchMetaData.TABLE_NAME, SearchMetaData._ID
+ "="
+ id
+ (!TextUtils.isEmpty(selection) ? "AND(" + selection + ')'
: ""), selectionArgs);
break;
case APPLICATIONS_SINGAL_URI_INDICATER:
idapp = uri.getPathSegments().get(1);
case APPLICATIONS_COLLECTION_URI_INDICATER:
ApplicationsMetaData
.delete(db, op, idapp, selection, selectionArgs);
break;
default:
throw new IllegalArgumentException("Unknown Uri " + uri);
}

Android四大组件之contentProvider(续)的更多相关文章

  1. Android 四大组件之" ContentProvider "

    前言 ContentProvider作为Android的四大组件之一,是属于需要掌握的基础知识,可能在我们的应用中,对于Activity和Service这两个组件用的很常见,了解的也很多,但是对Con ...

  2. Android四大组件之——ContentProvider(一)

    Android四大组件之--ContentProvider(一) 本人邮箱:JohnTsai.Work@gmail.com,欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblog ...

  3. 【Android开发日记】之入门篇(九)——Android四大组件之ContentProvider

    数据源组件ContentProvider与其他组件不同,数据源组件并不包括特定的功能逻辑.它只是负责为应用提供数据访问的接口.Android内置的许多数据都是使用ContentProvider形式,供 ...

  4. 初学android:四大组件之contentprovider

    一.ContentProvider的概念ContentProvider:为存储和获取数据提供统一的接口.可以在不同的应用程序之间共享数据.Android已经为常见的一些数据提供了默认的ContentP ...

  5. Android四大组件之contentProvider

    Activity,Service,broadcast and Contentprovider android 4 大组件. ContentProvider:使用: public class Image ...

  6. android四大组件之ContentProvider(一)

    ContentProvider学习笔记 1. ContentProvider基本概念 ContentProvider向我们提供了我们在应用程序之间共享数据的一种机制,虽然采用文件和SharedPref ...

  7. Android 四大组件之四(ContentProvider)

    ContentProvider调用关系: ContentProvider(数据提供者)是应用程序之间共享数据的一种接口机制,是一种更为高级的数据共享方法. ContentProvider可以指定需要共 ...

  8. Android四大组件之Intent(续2)

    1.你如何通过一个intent来唤醒activity? this.startActivity(intent,request);      2.什么是显式.隐式的intents? 显式:指定组件名,通常 ...

  9. android四大组件之ContentProvider(二)

    ContentProvider学习笔记 上一章节我们编写了自定义的一个StudentProvider,他提供了两种供外界访问数据的方式,content://come.demo.sqlite.stude ...

随机推荐

  1. nginx重启无法找到PId的解决办法

    nginx停止的时候,出现了如下错误 nginx: [error] open() "/export/servers/nginx/logs/nginx.pid" failed (2: ...

  2. centos7.5yum安装mysql(官方yum源比较慢)

    mysql的部署 查看Linux发行版本 cat /etc/redhat-release 下载MySQL官方的Yum Repository wget -i http://dev.mysql.com/g ...

  3. 1. oracle12C的安装

    官方安装文档:https://docs.oracle.com/database/121/LTDQI/toc.htm#BHCCADGD 1.软件准备 oracle12c.zip 安装包 VMware 虚 ...

  4. MySQL 安装 + Windows7

    Window版本 1.下载 http://dev.mysql.com/downloads/mysql/ 2.解压 如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:D:\m ...

  5. 【CF995F】Cowmpany Cowmpensation

    [CF995F]Cowmpany Cowmpensation 题面 树形结构,\(n\)个点,给每个节点分配工资\([1,d]\),子节点不能超过父亲节点的工资,问有多少种分配方案 其中\(n\leq ...

  6. Linux日志切割logrotate服务配置

    一.logrotate介绍 logrotate软件是一个日志管理工具,用于非分隔日志,删除旧的日志文件,并创建新的日志文件,起到“转储作用”,可以为系统节省磁盘空间.一般centos系统已经自带安装好 ...

  7. XAF-如何调整按钮的显示顺序

    在 XAF 应用程序用户界面,按钮位于按钮容器内.您可以使用 ActionBase.Category属性和应用程序模型 ActionDesign |ActionToContainerMapping 节 ...

  8. Unity ScriptableObject自定义属性显示

    1. 继承Editor,重写OnInspectorGUI方法 Editor官方文档 需求 将TestClass中intData属性和stringData按指定格式显示. 实现 定义一个测试类TestC ...

  9. RyuBook1.0案例一:Switching Hub项目源码分析

    开发目标 实现一个带MAC地址学习功能的二层交换机 Openflow交换机与Openflow控制器安全通道建立步骤 switch and controller建立未加密TCP连接或者加密的TLS连接 ...

  10. js-jQuery对象与dom对象相互转换(转载)

    核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’ ...