- 1、本文档共243页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4、Content Provider 与 Activity、Service、Broadcast Receiver 同属 Android 应用程序基本组件之一 用于保存和检索数据,实现了数据的跨应用共享 Android 中各应用均运行在自己的进程中,互相访问的 Content Provider 接口统一定义在 vider 包内,涵盖了常见的数据类型如音视频、图片、联系人等 内容提供者需要在AndroidManifest.xml通过provide标签声明,也可以动态注册,以URI作为对外的接口,而Activity、Service、Broadcast Receiver以Intent作为对外的接口。 4、Content Provider 具体结构 调用者 内容提供者 (ContentProvider) 数据存储 实现方法 ContentProvider基类 insert() delete() update() query() getType() ContentResolver URI ContentValues键值对存储类,用put和get等方法存储和获得键值 URI Content Provider 用以实现数据共享的对象 Content Resolver(内容提供者的调用者) Content Provider 的客户端接口 客户端通过 getContentResolver() 获得接口 提供与 Content Provider 对应的方法 间接地通过操作 Resolver 来操作 Provider 一个 Provider 可以对应多个 Resolver 用户自定义/系统 :Content Provider 实例:Test_of_ContentProvider 系统 Content Provider 添加联系人: String name = editText1.getText().toString(); String notes = editText2.getText().toString(); ContentResolver contentResolver1 = getContentResolver(); ContentValues contentValues1 = new ContentValues(); Uri uri1 = Contacts.People.CONTENT_URI; contentValues1.put(People.NAME,name); contentValues1.put(People.NOTES, notes); try{contentResolver1.insert(uri1, contentValues1);} 运行结果: 7、Android 的多媒体应用 Android 的多媒体 Android 实现了常见媒体格式的编解码机制 图片:jpeg、png、bmp 音频:3gp、mp3、wav 视频:3gp、mp4 Android 提供相应 API 实现多媒体应用 音视频播放:MediaPlayer、JetPlayer 音视频录制: MediaRecorder …… 媒体文件来源: 应用程序资源、本地文件、网络文件流 实例:ImageView TextView android:layout_width=fill_parent android:layout_height=wrap_content android:text=@string/hello/ ImageView android:layout_height=wrap_content android:layout_width=wrap_content android:src=@drawable/temp/ 实例:GridView、Gallery 详见实例 Test_of_Widget 实例:Test_of_Mp3Player 实现 MediaPlayer.OnCompletionListener 接口 public class Mp3Player_Test extends Activity implements MediaPlayer.OnCompletionListener // 重写 onCompletion() 方法,实现循环播放 public void onCompletion(MediaPlayer mp) { if(flag1==1)ib4play(); if(flag2==1)ib8play(); } // 重写 onDestroy() 方法 public void onDestroy(){ super.onDestroy();
文档评论(0)