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);
            }
  • 相关阅读:
    RTSP/RTMP/GB28181协议视频监控平台搭建之国网B接口协议介绍
    如何判断视频流媒体播放器EasyPlayerRTSPWin的磁盘空间是否满足剩余的要求?
    H.265编码全面应用于TSINGSEE青犀视频全产品链,让视频更清晰!
    视频流媒体播放器EasyPlayerRTSP原始录像文件被新录像文件覆盖是什么原因?
    RTSP/RTMP/GB28181协议TSINGSEE青犀视频云服务搭建H265开发环境无法启动是什么原因?
    H265流媒体播放器EasyPlayer.JS在web开发项目中引用报“webAssembly instantiate”错误解决方案
    使用Opengl实现天空盒
    手机探索者开发实录—数据打包
    游戏开发中的设计模式之一-Strategy模式
    手机探索者开发实录—rndis/usbnet
  • 原文地址:https://www.cnblogs.com/deman/p/4211538.html
Copyright © 2011-2022 走看看