阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 1114|回复: 0

[转帖] Android开发经验谈之应用间数据共享

[复制链接]
  • TA的每日心情
    开心
    2012-3-7 10:15
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2012-1-12 09:36:00 | 显示全部楼层 |阅读模式
    对于应用程序之间的数据共享,Android提供了比较灵活的方式,相关的开发经验下面是Android123平时使用的方法。
      1. 简单配置文件:
       SharedPreferences方式存储的配置文件,我们在各个应用间可以通过getSharedPreferences("Android123", Context.MODE_PRIVATE);  这样的方式存储,最后是共享模式,这里使用了私有,而通过全局读、全局写可以让其他的应用访问,通过createPackageContext方法,但是在Android 1.5 以后,共享访问需要相同UID和签名才可以访问。
    2. SQLite数据库文件
      对于一些较为复杂的配置或数据,在Android平台上我们一般使用SQLite数据库存储,对于共享我们可以提供ContentProvider接口来实现,我们虽然可以获取当前应用的数据库保存位置,通过Context的getDatabasePath(String name)这个方法,由于应用的PackageName比较长可能会发生变动,Android提供了类似Intent的方式来匹配一些Uri,比如说电话拨号为 tel:// 而对于网址可以使用 http:// 对于定做坐标使用geo://,而我们的数据库可以通过UriMatcher类的addURI添加一些Uri,通过隐式Intent方式实现自己的处理方式,具体的大家可以查看短信应用的开源代码 Mms.git 了解。
    3. 对于运行中的高性能数据共享
    在Android中共享内存方法可以使用Linux底层的mmap方式,对于跨进程访问,使用IPC,当然Android还提供了AIDL远程服务来实现数据绑定访问处理,所以说对于Android Service的开发,一定要记住通过Bind方式来开发,比较典型的有音乐播放器,Music.gif

    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表