是否有机会在android内容提供商和基于JSON的服务器之间获得同步数据的简单方法(在本例中为联系人)?
我的问题是,android使用游标和其他东西,而另一方面我使用JSON格式。第二个问题:同一个值现在有两个不同的名称,所以我需要在两个不同数据源中的值之间进行一种映射。
我的第一个方法是定义一个"用户"类。我会用不同的方法来填充数据,并用不同的方式来取回数据。问题是,使用这种方法,我必须在每一种方法中(例如)在android内容提供者和JSON服务器之间进行映射
AndroidContact->(映射)->用户对象->(映像)->JSON格式
JSON格式->(映射)->-用户对象->-(映射)->AndroidContact
正如你所看到的,在整个沟通过程中,我至少需要做四次映射,这真的很痛苦,因为我正在同步联系人可以拥有的所有信息,这相当多。
因此,我正在寻找一种巧妙的方法来将我的android联系人与JSON服务器同步,而无需多次定义整个映射内容。
希望我能说清楚,我在寻找什么。如果没有,请随意询问。
干杯L0rdAli3n
在网上搜索了一天之前存在的问题解决方案(我不想重新发明轮子)后,我想出了以下解决方案:
我添加了一个MappingContentProvider来保存映射信息,所有那些用数据填充用户类或从中获取数据的方法现在都可以使用它了
您可以使用MatrixCursor返回xml或json格式的数据。
MatrixCursor:一个由对象数组支持的可变游标实现。
final MatrixCursor cursor = new MatrixCursor(SEARCH_COLUMN_NAMES);
for (OpenSearchHandler.Result result : results) {
cursor.addRow(new Object[] { result.id, result.title, result.description, result.url });
}