运行在单独进程中的ContentProvider
来源:互联网 发布:java 线程 final 编辑:程序博客网 时间:2024/05/16 19:41
ContentProvider既可以与调用方处在同一进程,也可以运行在单独进程中,完全取决于ContentProvider所处的aplication的进程信息。因此假如ContentProvider运行在单独的进程中,那么调用ContentProvider将会涉及到IPC通信。
既然涉及到IPC通信,那么ContentProvider一定继承自IInterface,这个IInterface就是IContentProvider,其主要的接口方法如下,
- public IBulkCursor bulkQuery(Uri url, String[] projection,
- String selection, String[] selectionArgs, String sortOrder, IContentObserver observer,
- CursorWindow window) throws RemoteException;
- public Cursor query(Uri url, String[] projection, String selection,
- String[] selectionArgs, String sortOrder) throws RemoteException;
- public String getType(Uri url) throws RemoteException;
- public Uri insert(Uri url, ContentValues initialValues)
- throws RemoteException;
- public int bulkInsert(Uri url, ContentValues[] initialValues) throws RemoteException;
- public int delete(Uri url, String selection, String[] selectionArgs)
- throws RemoteException;
- public int update(Uri url, ContentValues values, String selection,
- String[] selectionArgs) throws RemoteException;
- public ParcelFileDescriptor openFile(Uri url, String mode)
- throws RemoteException, FileNotFoundException;
- public AssetFileDescriptor openAssetFile(Uri url, String mode)
- throws RemoteException, FileNotFoundException;
- public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations)
- throws RemoteException, OperationApplicationException;
但是阅读ContentProvider代码时,会发现
- public abstract boolean onCreate();
- public void onConfigurationChanged(Configuration newConfig);
- public void onLowMemory();
这几个方法并不在IContentProvider中声明,因此千万注意它们在运行时并不是处在AndroidManifest.xml中声明时的进程中。而是处在调用ContentProvider的应用的进程中的。因此千万不要在onCreate中添加你期望运行在ContentProvider的进程的代码。
- 运行在单独进程中的ContentProvider
- 运行在单独进程中的ContentProvider
- 运行在单独进程中的ContentProvider
- 运行在单独进程中的ContentProvide…
- 使代码运行在一个单独的线程中的方法
- linux暂停一个在运行中的进程
- linux暂停一个在运行中的进程
- AIDL的Proxy-Stub理解:(以实际媒体播放器服务单独运行在一个进程中为例)
- 在django项目中,单独运行python文件
- C# 运行中的进程焦点
- gdb调试运行中的进程
- 单独运行新模块!
- 单独运行.exe文件
- 有一些函数需要在root权限或者运行在系统进程中的使用方法
- 列表中的修改在单独页面呈现 实现方法
- cxf-rs在单独felix或equinox中的部署
- 进程在Linux后台运行
- 检查进程是否在运行
- iostat来对linux硬盘IO性能进行了解
- DataSet输出指定格式的xml
- IBinder对象在进程间传递的形式
- 下拉树
- 流水号
- 运行在单独进程中的ContentProvider
- 程序调试
- <a>herf 里面会产生空格
- Page_Init和Page_Load的区别
- 文件下载
- 弹出窗口居中
- 位域
- C# winform DataGridView 的18种常见属性
- ZK Paging组件实现动态分页,描述很通俗易懂