我遇到了最奇怪的错误。我试图将一个字符串存储到Azure移动服务表,我得到这个例外。 (因为我正在生成GCM ID而被抛出“
java.lang.NumberFormatException: Invalid int: "C3960965-ECE0-4533-B99D-84DB3881A50F"
public class User
{
private int id;
private String gcmChannel;
public User()
{
}
/**
* Getters and setters
*
*/
public String getRegistrationId() {
return gcmChannel;
}
public final void setRegistrationId(String registrationId) {
gcmChannel = registrationId;
}
答案 0 :(得分:0)
Azure Mobile Services中创建的表发生了变化 - 默认情况下,表现在具有string类型的id(而不是之前的整数)。如果您将类型定义更改为以下内容:
public class User
{
private String id;
private String gcmChannel;
// ... rest the same
}
应该可以正常工作。请注意,您还需要最新的适用于Android的Azure移动服务SDK(版本1.1.0),它支持包含字符串ID的类型 - 您可以在http://www.windowsazure.com/en-us/downloads/?sdk=mobile找到该SDK。
您可以在MSDN Forums中找到此更改的公告,或在this blog post中找到有关此更改的更多信息。