包含获取通讯录、添加联系人、修改联系人、删除联系人、拨打电话、获取通话记录、添加通话记录、删除通话记录、获取短信记录、发送短信、获取电话号码运营商和归属地等功能。  所需权限<!-- 读写联系人权限 --> <uses-permission android:name="android.permission.READ_CONTACTS"/>
1. 引子写这篇文章主要是有两个原因:之前写过一篇Android组件化开发实践,组件化最直接的表现形式就是工程中包含了多个业务Module,代码要解耦,但是业务要解耦几乎是不可能的,于是就要涉及到业务通信,表现在代码上就是Module通信。其实在文章提到的ActivityRouter就是模块通信很好的一个library,但是其主要作为Activity Router来使用,传递数据的能力有
转载 2023-11-21 16:57:17
125阅读
模块拆分我觉得可以遵守以下几点原则:要把每个模块看成独立的app:每个模块的所有资源(.java、resources、manifest声明、lib库、so文件)都必须拆分到自己的模块.可以通过能否独立运行来校验是否有遗漏.最小作用域:对于java类和资源文件,尽量做到最小作用域,能放到上层业务模块内就不要放到下层公共依赖工程中.命名规范:资源文件最好加上模块名prefix(可以在gradle文件中
文章目录一、通信方案二、实现过程三、插件通信使用一、通信方案因为插件管理器和每ct = nullptr; QJsonObject in
原创 2022-09-20 10:49:01
1127阅读
作者:潘辰星一、背景Android 开发,从最初的一个人团队,我的地盘我做主,随着团队和业务逐渐变大,单App开发慢慢跟不上业务发展步伐。代码复用性:再牛X的代码,不能给其他团队使用,其他团队无法使用,也不牛X。业务稳定性:代码改动不可控,测试回归不可控,业务不稳定。快速发射小:业务要发布新App,一切从头开始,没有现成组件或模块可共用,刘欢唱起:大不了从头再来?所以就走上Android 模块
转载 2023-06-27 12:24:53
256阅读
一、进程通信方式1 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2 有名管道 (namedpipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程通信。3 信号量(semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正
零、概述 1、通信主要用到了ctkEventAdmin结构体,主要定义了如下接口: postEvent:类通信形式异步发送事件 sendEvent:类通信形式同步发送事件 publishSignal:与槽通信形式发送事件 unpublishSignal:取消发送事件 subscribeSlot:
转载 2020-07-03 10:52:00
970阅读
2评论
1 背景Android开发中你的模块(Module)一般只有一个app主模块,随着功能不断扩展你会发现一个模块的缺点就是各种业务高度耦合,你就想测试登录模块,那么你可能会把支付模块也编译进去了,代价就是编译耗时,降低效率。大牛就提出了组件化开发的概念,假如一个App包括登录,选购,支付三个模块,那么就分成三个app,一个用来做登录,一个用来展示商品让用户选购,一个用来做支付,这样互相不影响而且编译
进程通信方式一般有以下几种: 1、管道,匿名管道,命名管道 2、信号 3、信号量 4、消息队列 5、共享内存 6、socket管道管道数据只能单向流动,所以如果要实现双向通信,就要创建2个管道管道分为匿名管道和命名管道 匿名管道只能在父子进程关系之间使用命名管道,可以在不关联的两个进程之间使用,因为它创建了一个类型为管道的设备文件,使用这个设备文件就可以通信。管道只能承载无格式的字节流信号
引言进程通信又叫IPC (InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket。Socket支持不同主机上的两个进程IPC。地址空间]都是独立的,一般而言是不能互相访问的,但 内核空间是每个进程都共享的, 所以 进程之间要通信必须通过内核。
     在Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程通信机制了。《Android系统源代码情景分析》一书正在进击的程序员网(
进程通信同一个apk文件安装的app下的所有部件(大概)都是同一个进程的。所以这里讲的进程通信,指的是不同app之间的通信。实际上,我觉得,如果不同的app通信,用intent,broadcastReceiver就可以了,不过既然有通信的方法,研究一下也无妨。网络上的例子,包括官网的例子里面,会用到Service部件。这个部件有一点要指出的是: Service和同app的其他部件是在同一个进程
public void wait()导致当前线程等待,直到另一个线程调用notify()。public void notify()唤醒正在此对象监视器上等待的单个线程。public void notifyAll()唤醒在同一对象上调用wait()的所有线程。1.启动线程public class OneActivity extends Activity { @Override...
原创 2021-09-16 13:54:28
329阅读
什么鬼!单例居然失效了,一个地方设置值,另个地方居然取不到,这怎么可能?没道理啊!排查半天,发现这两就不在一个进程里,才恍然大悟……什么是进程按照操作系统中的描述:进程一般指一个执行单元,在 PC 和移动设备上指一个程序或者一个应用。为什么要使用多进程我们都知道,系统为 APP 每个进程分配的内存是有限的,如果想获取更多内存分配,可以使用多进程,将一些看不见的服务、比较独立而又相当占用内存的功能运
原创 2021-05-22 10:31:22
245阅读
Android进程通信有以下几种: 开启多进程开发中,有时候需要在一个APP应用中开启多个进程。怎样使用多进程? Android正常使用的多进程的办法只有一种,就是在Service或Activity的属性里面设置remote属性   ,这样,我们打开Main2Activty的时候,该活动或服务就会以一个新的进程来创建。见:https://blog.csdn.net/ita...
原创 2021-09-02 15:05:03
886阅读
// 定义Fragment 理解为 是Activity的一部分
原创 2022-09-27 10:36:19
85阅读
# Android组件通信Android应用中,各种组件(如Activity、Service和BroadcastReceiver)之间的通信是应用程序设计中一个重要的方面。了解这些组件如何有效地相互通信,不仅可以提高应用的性能,还可以提升用户体验。本文将介绍几种常见的Android组件通信方式,并以代码示例进行详细说明。 ## 1. Activity通信 ### Intent
原创 10月前
36阅读
# Android 应用通信教程 ## 简介 在Android开发中,应用通信是一个非常常见的需求。比如,我们希望两个应用可以互相传递数据、调用对方的功能等。本教程将教你如何实现Android应用通信。 ## 整体流程 下面是实现Android应用通信的整体流程: | 步骤 | 描述 | |------|-----| | 1. 创建服务 | 创建一个后台服务用于接收和处理其他应用
原创 2023-09-01 14:16:45
102阅读
http://www.cocoachina.com/android/20180416/23020.html
转载 2018-05-23 17:42:37
269阅读
# Android APK通信实现 ## 概述 在Android开发中,有时候我们需要不同的应用程序之间进行通信,以实现数据的共享和交互。本文将介绍如何实现Android APK通信的方法和步骤,以及每一步需要做的事情和相应的代码示例。 ## 流程 下面是实现Android APK通信的整体流程,具体步骤如下表所示: | 步骤 | 说明 | | --- | --- | | 1. 定义接
原创 2023-07-16 14:44:34
118阅读
  • 1
  • 2
  • 3
  • 4
  • 5