Android 进程间通信
来源:互联网 发布:iphone可以投屏到mac 编辑:程序博客网 时间:2024/06/16 10:56
四种方式:
1、Activity
Activity可以跨进程调用其他应用程序的Activity(如打电话)实现方式:
在manifest.xml里配置
<activity android:name=".Main" android:label="@string/app_name"> <intent-filter> <action android:name="net.blogjava.mobile.MYACTION" /> <data android:scheme="info" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter></activity>
调用:
Intent intent = new Intent("net.blogjava.mobile.MYACTION", Uri .parse("info://host")); intent.putExtra("value", "调用成功"); startActivity(intent);
获取:
// 获得Host,也就是info://后面的内容 String host = getIntent().getData().getHost(); Bundle bundle = getIntent().getExtras(); // 其他的应用程序会传递过来一个value值,在该应用程序中需要获得这个值 String value = bundle.getString("value");
2.ContentProvider
ContentProvider:为存储和获取数据提供统一的接口,可以在不同的应用程序之间共享数据。
Android内置的许多数据都是使用ContentProvider形式,供开发者调用的 (如视频,音频,图片,通讯录等)。
1. 使用表的形式来组织数据
- 无论数据来源是什么,ContentProvider都会认为是一种表。(把数据组织成表格)
2. 提供的方法
- query:查询
- insert:插入
- update:更新
- delete:删除
- getType:得到数据类型
- onCreate:创建数据时调用的回调函数
3. 公共的URI
- 每个ContentProvider都有一个公共的URI,这个URI用于表示这个ContentProvider所提供的数据。
- Android所提供的ContentProvider都存放在android.provider包当中。
4. 对比分析
虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同。
- 采用文件方式对外共享数据,需要进行文件操作读写数据;
- 采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据。
- 使用ContentProvider共享数据的好处是统一了数据访问方式。
3.BroadCast
有序和无序
4.service AIDL
- Android进程间通信
- Android 进程间通信
- Android进程间通信
- android进程间通信
- Android进程间通信
- Android进程间通信
- Android进程间通信
- Android 进程间通信
- Android 进程间通信
- Android 进程间通信
- android进程间通信
- android 进程间通信
- android进程间通信
- Android 进程间通信
- Android间进程通信
- Android进程间通信
- android进程间通信
- Android进程间通信
- 2711 4-2 电子时钟中的运算符重载
- Java使用HttpClient实现Post请求
- 一个软件开发者的历史 构思
- Windows核心编程之一
- JSON判断是否存在某键或字段的方法
- Android 进程间通信
- 想入行 AI,别让那些技术培训坑了你...
- Kotlin HelloWord
- ubuntu 16.04 下pip install 使用豆瓣源加速
- 《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》阅读笔记
- 解决html子元素垂直居中的问题
- 搜索功能+XRecyclerView+详情页
- 解决Maven的“Missing artifact ……”
- 分布式事务