zoukankan      html  css  js  c++  java
  • Android四大组件之contentProvider(续)

        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);
            }
  • 相关阅读:
    【数学】三分法
    【数学】【背包】【NOIP2018】P5020 货币系统
    【数学】【CF27E】 Number With The Given Amount Of Divisors
    【单调队列】【P3957】 跳房子
    【极值问题】【CF33C】 Wonderful Randomized Sum
    【DP】【CF31E】 TV Game
    【神仙题】【CF28D】 Don't fear, DravDe is kind
    【线段树】【CF19D】 Points
    【字符串】KMP字符串匹配
    【二维树状数组】【CF10D】 LCIS
  • 原文地址:https://www.cnblogs.com/deman/p/4211538.html
Copyright © 2011-2022 走看看