ContentProvider-CP简析与流程(3)
来源:互联网 发布:淘宝退换货怎么操作 编辑:程序博客网 时间:2024/06/16 02:22
1.当一个应用操作另一个应用的数据的时候,造成应用的不安全性;
2.CP封装了本应用的数据存储,为外层对内部的数据访问提供了保护和统一的数据接口.
3.如上图,把提供数据的应用作为S端,把请求端作为C端,形成了一个标准的CS架构.
4.标准的CS架构,如WEB,都提供了一个URL,在ContentProvider中 ,叫做URI ,如下图:
Example:
S端:
/** * @author Lean */public class ContentProviderSample extends ContentProvider {private static final String AUTHORITY="org.lean.provider";@Overridepublic boolean onCreate() {Log.v("LeanLog", "ContentProviderSample:::onCreate()");return false;}@Overridepublic Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {if (uri.getAuthority().equals(AUTHORITY)) {Log.v("LeanLog", "ContentProviderSample:::query()");}return null;}@Overridepublic int delete(Uri uri, String selection, String[] selectionArgs) {return 0;}@Overridepublic String getType(Uri uri) {return null;}@Overridepublic Uri insert(Uri uri, ContentValues values) {return null;}@Overridepublic int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {return 0;}}AndroidManifest.xml
<provider android:name="org.lean.ContentProviderSample" android:authorities="org.lean.provider" android:multiprocess="true" />
C端:
/** * @author Lena */public class MainActivity extends Activity {private static final String AUTHORITY="org.lean.provider";private String mURI="content://"+AUTHORITY;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ContentResolver contentResolver=getContentResolver();contentResolver.query(Uri.parse(mURI), null, null, null, null);}}
结论:
当S安装的时候,并没有启动该应用的进程,当C端调用的时候,先判断该S的进程有没启动 如果没有启动 ,则则先启动 再调用其CURD的。
0 0
- ContentProvider-CP简析与流程(3)
- DPI流程.cmd-1.cp
- cp -r与cp -R的区别
- 空洞与cp
- xargs与cp
- [shell]xargs与cp
- AP与CP介绍
- xargs与cp
- dd与cp
- SCP与CP
- scp与cp
- ContentProvider的启动流程分析
- 数据存储与ContentProvider
- ContentProvider与ContentResolver使用
- ContentResolver与ContentProvider
- SQLite与ContentProvider)
- ContentProvider作用与使用
- ContentProvider与ContentResolver使用
- iOS申请真机调试证书-图文详解
- 是谁击碎了余额宝们高收益的神话?
- node.js相关资料汇总
- 使用phonegap插件启动另一个Android+Activity
- hadoop源码 - HDFS的文件操作流 写操作(客户端)
- ContentProvider-CP简析与流程(3)
- Android 恢复出厂设置流程分析
- iOS开发者申请发布证书-图文详解
- C++ 11 新特性之 auto
- virtualenv碰到的问题
- Android 高通代码编译指南
- eclipse报New package not yet registered with the system错误
- python3自动爬笑话
- C++文件操作之某些细节