第5章数据存储分析.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章数据存储分析

lourTourFoodAdapter = new LourTourFoodAdapter(this, shoppinglist); try { lourTourFoodAdapter.notifyDataSetChanged(); localTourListView.setAdapter(lourTourFoodAdapter); } catch (Exception e) { throw new RuntimeException(获取数据异常: + e.getMessage()); } finally { try { dao.close(); //关闭数据库 } catch (Exception e) {//捕获异常 } } break; } } 5.5 技术拓展 1.数据共享(Content Providers) Content Providers是所有应用程序之间数据存储和检索的一个桥梁,当数据需要在应用程序之间共享时,我们就可以利用Content Providers为数据定义一个URI,然后其他应用程序对数据进行查询或者修改时,只需要从当前上下文对象获得一个Content Resolver传入相应的URI就可以了。在Android中,Conent Providers是一种特殊的存储数据的类型,它提供了一套标准的接口来获取、操作数据。Android系统本身也提供了几种常用的Content Providers,如音频、视频、图像、个人联系信息等。程序通过ContentProvider访问数据而不需要关心数据具体的存储及访问过程,这样既提高了数据的访问效率,同时也保护了数据。 在学习ContentProviders之前我们需要先了解下Content Reslover。我们上面说到了在android中使用Content Provider来将应用程序自己的数据共享给其他应用程序,那么究竟是如何实现数据的共享的呢? 5.5 技术拓展 1.数据共享(Content Providers) Android提供了ContentProvider,一个程序可以通过实现一个Content provider的抽象接口将自己的数据完全暴露出去,而且Content providers是以类似数据库中表的方式将数据暴露。Content providers存储和检索数据,通过它可以让所有的应用程序访问到,这也是应用程序之间唯一共享数据的方法。要想使应用程序的数据公开化,可通过2种方法:创建一个属于你自己的Content provider或者将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型并且有写入Content provider的权限。 如何通过一套标准及统一的接口获取其他应用程序暴露的数据?Android提供了ContentResolver,外界的程序可以通过ContentResolver接口访问ContentProvider提供的数据。但是在学习ContentReslover之前,我们需要重新了解下URI的相关知识。下面我们就一块来重新学习URI的知识。 5.5 技术拓展 2.URI与URL 在Android中广泛应用URI,而不是URL。URL标识资源的物理位置,相当于文件的路径;而URI则是标识资源的逻辑位置,并不提供资源的具体位置。比如说电话薄中的数据,如果用URL来标识的话,可能会是一个很复杂的文件结构,而且一旦文件的存储路径改变,URL也必须得改动。但是若是URI,则可以用诸如content : //contract /people这样容易记录的逻辑地址来标识,而且并不需要关心文件的具体位置,即使文件位置改动也不需要做变化,当然这都是对于用户来说,后台程序中URI到具体位置的映射还是需要程序员来改动的。 5.5 技术拓展 2.URI与URL 我们先看下面这个例子: 将其分为A,B,C,D 4个部分: A:标准前缀,用来说明一个Content Provider控制这些数据,无法改变的; B:URI的标识,它定义了是哪个Content Provider提供这些数据。对于第三方应用程序,为了保证URI标识的唯一性,它必须是一个完整的、小写的?? 类名。 5.

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档