博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Sync Adapter (使用Stub Content Provider) 笔记
阅读量:2134 次
发布时间:2019-04-30

本文共 952 字,大约阅读时间需要 3 分钟。

Android系统提供Sync Adapter功能用于移动端App与服务器端进行数据同步。在Android开发者官网上有一个。在学习过程中也参考了Google自家的和这一片出自Udi Cohen的非常出色的。在自己尝试过程中,对Sync Adapter的实现遇到了一些问题,学习到一些经验知识,这里做一总结。

Stub

最开始学Android时,对“Stub"这个词理解非常模糊,后来发现,所谓Stub Authenticator和Stub Content Provider,意思就是临时设计的一个满足了基本接口但是没有任何实际功能的类,用来辅助对Sync Adapter的说明。在复现Android教程上的过程时,对于Stub Authenticator和Stub Content Provider的实现,一定要注意各个接口函数的返回值,返回值一定要是对Sync Adapter有意义的值,特殊注意的是StubProvider类的onCreate()函数,一定要返回true。

Content Provider相关的设置

为了正确使用Sync Adapter,有关于Content Provider的设置一定要注意,必须使以下几个位置的设置完全一致才能确保Sync Adapter的成功:

(1)Manifest文件中<provider>元素内android:authorities属性;

(2)Sync Adapter对应的service的resource file中<sync-adapter>元素的android:contentAuthority属性;

(3)若使用ContentResolver.requestSync()函数进行调试,requestSync()函数的第二个参数。

以上几个位置的值必须完全一致。

Service的设置

在目前Android官方的教程上,对Manifest文件里对应于Sync Adapter的提出,android:process属性可配置为:sync。经实际调试发现手工的requestSync()并不能正常执行。对比Google自家的发现,android:process属性都没有显式设置。于是去掉该属性,之后发现手工requestSync()函数正确执行。

转载地址:http://spugf.baihongyu.com/

你可能感兴趣的文章
FastDFS集群架构配置搭建(转载)
查看>>
HTM+CSS实现立方体图片旋转展示效果
查看>>
FFmpeg 命令操作音视频
查看>>
问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题
查看>>
目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
查看>>
问题:Mysql中字段类型为text的值, java使用selectByExample查询为null
查看>>
程序员--学习之路--技巧
查看>>
解决问题之 MySQL慢查询日志设置
查看>>
contOS6 部署 lnmp、FTP、composer、ThinkPHP5、docker详细步骤
查看>>
TP5.1模板布局中遇到的坑,配置完不生效解决办法
查看>>
PHPstudy中遇到的坑No input file specified,以及传到linux环境下遇到的坑,模板文件不存在
查看>>
TP5.1事务操作和TP5事务回滚操作多表
查看>>
composer install或composer update 或 composer require phpoffice/phpexcel 失败解决办法
查看>>
TP5.1项目从windows的Apache服务迁移到linux的Nginx服务需要注意几点。
查看>>
win10安装软件 打开时报错 找不到 msvcp120.dll
查看>>
PHPunit+Xdebug代码覆盖率以及遇到的问题汇总
查看>>
PHPUnit安装及使用
查看>>
PHP项目用xhprof性能分析(安装及应用实例)
查看>>
composer安装YII
查看>>
Sublime text3快捷键演示
查看>>