我目前正在开发一款Android应用,需要将数据插入到天蓝色的移动服务数据库中。一个id字符串和第一个登录整数,确切地说。但是,引发了以下错误。
" IllegalArgumentException:表示MobileServiceTable的类必须定义一个id属性"
我需要插入数据库的id值是使用passId()从片段接口传回的。在我的覆盖范围内,我试图将值插入azure,如下所示。
@Override
public void passId(String id) {
userInstance user = new userInstance();
user.user_id = id;
user.first_login = 0;
mClient.getTable(userInstance.class).insert(user, new TableOperationCallback<userInstance>() {
public void onCompleted(userInstance entity, Exception exception, ServiceFilterResponse response) {
if (exception == null) {
// Insert succeeded
} else {
// Insert failed
}
}
});
mClient var表示MobileServicesClient,如下所示
try {
mClient = new MobileServiceClient(
"https://xxxx.azure-mobile.net/",
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
this);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
我尝试将数据插入的表名是&#34; user_table&#34;如果这有帮助的话。
我希望你能够提供帮助,并提前感谢你们给我的任何帮助。
答案 0 :(得分:1)
<强> SOLUTION:强>
因为我试图将数据添加到自动创建“id”列的Azure表,我用来构造用户信息以插入数据库的用户对象必须定义“id”字符串。如下图所示:
public class userInstance {
@com.google.gson.annotations.SerializedName("id")
public String mId;
@com.google.gson.annotations.SerializedName("user_id")
public String mUserId;
@com.google.gson.annotations.SerializedName("first_login")
public int mLogin;
}