创建一个Bound Service想要创建一个提供binding的service,必须提供一个IBinder给client与service进行交互。有三种方式可以定义接口:
继承Binder类
如果service只给自己的应用使用并且不会做跨进程的操作,我们可以继承Binder类并且通过onBind()返回一个它的实例。client接收到这个Binder可以直接使用它开调用service提供的方法...
分类:
其他好文 时间:
2016-05-07 08:04:13
阅读次数:
189
AIDL的使用:最常见的aidl的使用就是Service的跨进程通信了,那么我们就写一个Activity和Service的跨进程通信吧。
首先,我们就在AS里面新建一个aidl文件(ps:现在AS建aidl不要求和java包名相同了):package aidl;
interface IMyInterface {
String getInfor(String s);
}可以看到,在这里面我们...
分类:
移动开发 时间:
2016-04-29 18:06:28
阅读次数:
177
AIDL的使用:最常见的aidl的使用就是Service的跨进程通信了,那么我们就写一个Activity和Service的跨进程通信吧。
首先,我们就在AS里面新建一个aidl文件(ps:现在AS建aidl不要求和java包名相同了):package aidl;
interface IMyInterface {
String getInfor(String s);
}可以看到,在这里面我们...
分类:
移动开发 时间:
2016-04-26 20:32:52
阅读次数:
221
服务Services
Service是一种应用组件,它可以在后台长时间地运行并且没有用户界面。其他的应用组件可以启动一个service,并且这个service会一直在后台运行下去,不论用户是否切换到了其他的应用。另外,其他的组件可以绑定一个service来进行交互,甚至进行跨进程通信(IPC)。例如服务可以处理网络传输,播放音乐,处理文件IO,或者和content provider进行交互,这些...
分类:
移动开发 时间:
2016-04-22 19:10:59
阅读次数:
256
由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和 ...
分类:
移动开发 时间:
2016-04-19 19:28:34
阅读次数:
257
android interface define language 跨进程通信前提:2个进程均已启动 1,跨进程启动Service 2,跨进程绑定Service 2.1 Service进程创建aidl 2.2 onBind返回绑定对象 2.3 在第1个进程调用bindService与unbindSe ...
分类:
其他好文 时间:
2016-04-19 00:07:54
阅读次数:
249
1、首先对于本地内存缓存,就是把数据缓存在本机的内存中,如下图1所示: 2、 分布式缓存机制:可能存在跨进程,跨域访问缓存数据 对于分布式的缓存,此时因为缓存的数据是放在缓存服务器中的,或者说,此时应用程序需要跨进程的去访问分布式缓存服务器,如图2: 当我们在应用中使用跨进程的缓存机制,例如分布式缓 ...
分类:
其他好文 时间:
2016-04-16 17:04:20
阅读次数:
972
c#中禁止跨进程直接访问控件,为了解决这个问题,出现了InvokeRequried属性,当一个控件的InvokeRequried属性值为真时,说明有控件外的线程想要访问它。这时便会调用到Invoke方法。这种做法保证了窗体控件的安全性。 InvokeRequried属性值无论为真或假,值的传递都不会... ...
分类:
其他好文 时间:
2016-04-13 18:41:53
阅读次数:
143
Service是一种能长期在后台运行同时不需要与用户进行交互的应用组件。其他组件可以开启service,开启后service可以自行运行及时用户已经切换到其他的应用。此外,组件可以与service进行绑定来进行交互,及时是跨进程的交互(Android的IPC机制)。网络操作、播放音乐、执行文件IO操作或是与内容提供者进行交互,这些操作都可以通过service在后台进行。Service的两种形式:St...
分类:
移动开发 时间:
2016-04-08 15:19:16
阅读次数:
225
加载一个Activity肯定不会像加载一般的类那样,因为activity作为系统的组件有自己的生命周期,有系统的很多回调控制,所以自定义一个DexClassLoader类加载器来加载插件中的Activity肯定是不可以的。
首先不得不了解一下activity的启动流程,当然只是简单的看一下,太详细的话很难研究清楚。通过startActivity启动后,最终通过AMS进行跨进程回调到Applica...
分类:
移动开发 时间:
2016-04-08 15:15:54
阅读次数:
239