【技术实现步骤摘要】
基于安卓系统的跨进程数据读写方法、装置及存储介质
本专利技术属于安卓系统数据读写的设计领域,尤其涉及一种基于安卓系统的跨进程数据读写方法、装置及存储介质。
技术介绍
Android系统为了支持小数据的快速读写设计了SharedPreferences存储。SharedPreferences存储以Key和Value的形式,为用户快速存储小数据提供了轻量级的解决方案。在Android7.0版本以前,开发者可以通过在创建SharedPreferences时添加MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE的flag位来支持文件的跨进程存储的读和写。但是因为这种方法非常危险,会造成数据的不同步问题;所以Android7.0开始已经不支持创建SharedPreferences时用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE的flag位来实现数据的跨进程读写。为了实现跨进程的数据读写问题,某公司提出了在APP主进程中使用一个继承于类ContentProvider ...
【技术保护点】
1.一种基于安卓系统的跨进程数据读写方法,其特征在于,包括:/nS1:当服务端接收跨进程操作请求时,读取发起所述跨进程操作请求的业务进程;/nS2:判断所述业务进程是否与SharedPreferences在同一进程中,若是,则直接访问所述SharedPreferences,进行跨进程数据读写;所述SharedPreferences为一支持数据跨进程读写的数据存储空间;/nS3:若否,则创建一中间类对所述SharedPreferences的读写存储进行封装,使所述业务进程通过所述中间类间接访问所述SharedPreferences,进行跨进程数据读写。/n
【技术特征摘要】
20200623 CN 202010579929X1.一种基于安卓系统的跨进程数据读写方法,其特征在于,包括:
S1:当服务端接收跨进程操作请求时,读取发起所述跨进程操作请求的业务进程;
S2:判断所述业务进程是否与SharedPreferences在同一进程中,若是,则直接访问所述SharedPreferences,进行跨进程数据读写;所述SharedPreferences为一支持数据跨进程读写的数据存储空间;
S3:若否,则创建一中间类对所述SharedPreferences的读写存储进行封装,使所述业务进程通过所述中间类间接访问所述SharedPreferences,进行跨进程数据读写。
2.如权利要求1所述的基于安卓系统的跨进程数据读写方法,其特征在于,所述步骤S2进一步包括:
创建一类LocalCacheHelper,为当前进程实例化一LocalCacheHelper对象,所述LocalCacheHelper对象为对当前进程中的SharedPreferences的存储操作的封装;
当业务进程需要访问的数据为当前进程时,直接调用所述LocalCacheHelper对象,快速访问所述SharedPreferences。
3.如权利要求2所述的基于安卓系统的跨进程数据读写方法,其特征在于,所述步骤S3进一步包括:
在APP的主进程中创建一支持跨进程数据读写的类ContentProvider,并创建一继承于所述类ContentProvider的虚类AbstractPreferencesProvider,所述虚类AbstractPreferencesProvider通过当前进程的LocalCacheHelper对象对所述SharedPreferences进行读写操作;
当所述业务进程与所述SharedPreferences不处于同一进程时,所述业务进程通过调用所述虚类AbstractPreferencesProvider的子类的对象实例,访问所述SharedPreferences,实现跨进程数据读写。
4.如权利要求1至3中任意一项所述的基于安卓系统的跨进程数据读写方法,其特征在于,所述步骤S1之前还包括:
在APP的主进程及业务进程中各设置一SharedPreferences,存储于所述SharedPreferences中的数据以Key+value的形式存储;
当所述数据在业务进程中被频繁读写时,将所述数据存储于所述业务进程中的SharedPreferences,并且在所述数据...
【专利技术属性】
技术研发人员:胡斌,陈庭财,
申请(专利权)人:北京智慧章鱼科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。