Android如何通过content provider构建媒体文件数据库.doc

Android如何通过content provider构建媒体文件数据库.doc

ID:50373171

大小:46.50 KB

页数:6页

时间:2020-03-05

Android如何通过content provider构建媒体文件数据库.doc_第1页
Android如何通过content provider构建媒体文件数据库.doc_第2页
Android如何通过content provider构建媒体文件数据库.doc_第3页
Android如何通过content provider构建媒体文件数据库.doc_第4页
Android如何通过content provider构建媒体文件数据库.doc_第5页
资源描述:

《Android如何通过content provider构建媒体文件数据库.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android如何通过contentprovider构建媒体文件数据库 Android为Camera,Audio,Video等媒体文件提供MediaProvider用于数据的保存,删除,检索等。MediaProvider实现了ContentProvider类的几个操作SQL的重要方法如insert,delete,updata,query。MediaProvider中DatabaseHelper类用于获取与创建Database。  privatestaticfinalclassDatabaseHelperextendsSQLiteOpenHelper{  finalContextmContext

2、;  finalbooleanmInternal;//Trueifthisistheinternaldatabase  //Inmemorycachesofartistandalbumdata.  HashMapmArtistCache=newHashMap();  HashMapmAlbumCache=newHashMap();  publicDatabaseHelper(Contextcontext,Stringname,booleaninternal){  super(context,

3、name,null,DATABASE_VERSION);  mContext=context;  mInternal=internal;  }  /**  *Createsdatabasethefirsttimewetrytoopenit.  */  @Override//第一次打开数据库时创建Table  publicvoidonCreate(finalSQLiteDatabasedb){  updateDatabase(db,mInternal,0,DATABASE_VERSION);  }  以Camera的image文件文件为例,数据库在第一次使用的时候被创建,对于image文件,SQ

4、L在updateDatabase为其创建一个table:  db.execSQL("CREATETABLEIFNOTEXISTSimages("+  "_idINTEGERPRIMARYKEY,"+//文件保存的序号  "_dataTEXT,"+//记录image文件保存路径  "_sizeINTEGER,"+//文件大小  "_display_nameTEXT,"+//图片名称  "mime_typeTEXT,"+//文件类型  "titleTEXT,"+  "date_addedINTEGER,"+  "date_modifiedINTEGER,"+  "descriptionTEXT,"

5、+  "picasa_idTEXT,"+  "isprivateINTEGER,"+  "latitudeDOUBLE,"+  "longitudeDOUBLE,"+  "datetakenINTEGER,"+  "orientationINTEGER,"+  "mini_thumb_magicINTEGER,"+ "bucket_idTEXT,"+  "bucket_display_nameTEXT"+  ");");  添加URI到match这个也很重要,因为不同类型的文件会保存在不同的table中,如果我们得到一个URI为:content://media/external/images/

6、media/1通过UriMatcher.match(uri)将返回注册的IMAGES_MEDIA_ID值。  URI_MATCHER.addURI("media","*/images/media",IMAGES_MEDIA);  URI_MATCHER.addURI("media","*/images/media/#",IMAGES_MEDIA_ID);  URI格式解析如下:  URI格式中最重要的字段是authority,authority确定了操作数据库的Provider是由谁提供的。MediaProvider在AndroidManifest.xml中添加如下语句:  

7、android:name="MediaProvider"android:authorities="media"  android:multiprocess="false"/>  Provider加载  MediaProvider安装在手机中,ContentResolver通过acquireProvider请求加载Provider程序。acquireProvider正是通过解析URI中的author

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。