Android技术问题,高手来下谢谢
AIDL和ContentProvider有什么不同啊?我的理解是ContentProvider可以在开放uri时,自己进程没有启动时,另一个进程就可以访问到这些数据,而A...
AIDL 和ContentProvider 有什么不同啊? 我的理解是 ContentProvider 可以在开放uri 时, 自己进程没有启动时,另一个进程就可以访问到这些数据,
而AIDL 必须两个进程同时启动去获得对方的数据...
这两种分别在哪种情况下用比较好啊 ? 展开
而AIDL 必须两个进程同时启动去获得对方的数据...
这两种分别在哪种情况下用比较好啊 ? 展开
1个回答
展开全部
个人理解:
ContentProvider主要用于不同应用程序见的数据共享,好比两个应用程序访问同一个公共的数据库,这个的应用举个例子,Android上有一个叫PowerAmp的音乐播放软件,这个软件的试用转正式的方式就是通过另一个Unlocker程序验证用户信息后,通过ContentProvider传递一些数据给主程序,然后主程序启动后就以正式版的状态运行了。
AIDL主要用于跨进程通讯,有点类似服务器和客户端这种CS结构,这种操作的目的就不限于只是交互数据用了,比如我有一个验证账号密码的服务程序,你和其他人有一些需要执行我的验证操作的程序,这些都同时运行在用户的设备上,这时我只需要提供一个服务接口的aidl定义文件给你们,就可以完成这种不同进程间的服务函数调用了。
ContentProvider主要用于不同应用程序见的数据共享,好比两个应用程序访问同一个公共的数据库,这个的应用举个例子,Android上有一个叫PowerAmp的音乐播放软件,这个软件的试用转正式的方式就是通过另一个Unlocker程序验证用户信息后,通过ContentProvider传递一些数据给主程序,然后主程序启动后就以正式版的状态运行了。
AIDL主要用于跨进程通讯,有点类似服务器和客户端这种CS结构,这种操作的目的就不限于只是交互数据用了,比如我有一个验证账号密码的服务程序,你和其他人有一些需要执行我的验证操作的程序,这些都同时运行在用户的设备上,这时我只需要提供一个服务接口的aidl定义文件给你们,就可以完成这种不同进程间的服务函数调用了。
追问
比如我有一个验证账号密码的服务程序,你和其他人有一些需要执行我的验证操作的程序,这些都同时运行在用户的设备上
-----
不好意思``我有些笨``能详细说下这句吗 ...
追答
额,就是说你的软件的用户登录这块功能是需要我来处理的,比如QQ的通行证系统,你要让你的用户能用他的QQ账号登录你的软件,但QQ是不可能给你访问他数据库的权限的,所以他可以给你一个AIDL的跨进程服务调用接口,让你能验证用户输入的QQ账号对不对。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询