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. # 2017-2018-1 20155337《信息安全系统设计基础》第5周学习总结+mybash

    2017-2018-1 20155337<信息安全系统设计基础>第5周学习总结 教材学习内容总结 不论我们是在用C语言还是用JAVA或是其他的语言编程时,我们会被屏蔽了程序的机器级的实现. ...

  2. 【转载】GitHub详解

    原文:GitHub详解 GitHub详解 GitHub 是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容项目.它由GitHub公司(曾称Logical Awesome)的开发者Chr ...

  3. 收集的PHP工具及类库

    composer     PHP的依赖管理工具 phpmig        PHP的数据库迁移工具,依赖于composer Requests for PHP    HTTP请求库,采集页面可以用到的 ...

  4. grep 文件内容搜索

    比如现在我们要查找在/home/userlan/目录中哪些文件中包含foobar这个关键字 1. 打开终端2. 输入命令 grep -rl "foobar" /home/userl ...

  5. 基础的Servlet

    1.认识Servlet 今天接触了Servlet,我就写了这篇Servlet的文章.首先,我们了解一下Servlet是什么: 这是百度百科的解释,我个人理解是可以用来前后端交互的一个东西,例如可以实现 ...

  6. Twitter推广消息可使品牌线下销售额增长三成

    新浪科技讯 北京时间8月9日上午消息,Twitter周四宣布,该公司的推广消息(Promoted Tweet)可以让品牌的线下销售增长29%. 此外,Twitter当天还推出了一个新项目,让品牌可以追 ...

  7. eclipse版本信息及操作系统

    一.查看版本信息: 进入到eclipse安装目录下,有一个.eclipseproduct文件,用记事本打开,就可以知道版本了,后面version=的值就是版本 二.是否为32位操作系统: 找到ecli ...

  8. presto 配置mysql.properties异常Database (catalog) must not be specified in JDBC URL for MySQL connector

    在presto 0.210 以后配置mysql.properties的时候,对于jdbc-url属性配置后面要加上对应要链接的database connection-url=jdbc:mysql:// ...

  9. linux 的 awk 使用

    linux中awk命令对文本内容进行操作,其功能十分强大 1.如:查看一个有几百万行内容的文件中第3列数字内容(不重复) cat test.csv | awk -F ',' '{print $3}' ...

  10. strace 命令

    介绍 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核 ...