android进程间共享简单数据


我们知道,在android中,保存简单的数据最方便的就是使用SharedPreferences,然而,SharedPreferences虽然说也可以设置成进程间共享数据,但是并不可靠(更致命的是,不同级别的应用是无法使用SharedPreferences进行共享的,比如,普通应用无法读取系统应用的SharedPreferences数据)。

那如何才能进行简单数据的跨进程共享呢,Settings.System可以很方便的进行跨进程共享数据,使用凡是也很简单:

//往系统配置表里添加自定义数据

Settings.System.putInt(context.getContentResolver(),"IPCSharedTest",100);

//其他应用读取系统配置表“IPCSharedTest”键值数据

Settings.System.getInt(context.getContentResolver(),"IPCSharedTest");


从上面的方法中可以看出,其配置/获取数据都是从ContentProvider中获取的,而ContentProvider是天然线程安全的,所以使用以上方法在不同进程间共享数据,无须考虑线程同步问题。