如何从Android中的Azure移动服务中选择所有列

时间:2014-09-01 14:51:14

标签: android azure azure-mobile-services

我正在使用Azure移动服务的.Net后端。我可以成功运行以下查询,它返回数据库中的所有项目,但它只返回带有ID的项目,并且没有其他列返回,它们都被设置为null

TableName.execute(new TableQueryCallback<ClassName>() {
            @Override
            public void onCompleted(List<ClassName> result, int count,
                                    Exception exception, ServiceFilterResponse response)

那么我需要提供一个选择过滤器还是应该使用TableOperationsCallback?没有错误,它只返回所有列为null,除了id列

由于

1 个答案:

答案 0 :(得分:1)

确保客户端和服务器之间的字段大小相匹配。默认情况下,.NET后端会使所有属性都是驼峰式的,所以如果你有这个类:

public class Person : EntityData
{
    public string Name { get; set; }
    public int Age { get; set; }
}

然后GET操作中的JSON响应将如下所示:

[
    { "id":"the-first-id", "name":"John Doe", "age":33 },
    { "id":"the-first-id", "name":"Jane Roe", "age":34 }
]

因此,您需要在Android应用程序中定义一个类型,其中字段以小写字母命名,或者使用@SerializeName注释正确标记,如下例所示(您不需要这样做)对于id属性,因为它是由SDK专门设置的:

public class Person {
    @SerializedName("id")
    public String Id;

    @SerializedName("name")
    public String Name;

    @SerializedName("age")
    public String Age;
}