我创建了一个azure移动服务并正确设置了所有数据库表(测试它们)。但是,当我尝试通过我的Android应用程序将记录插入我的SQL表时,记录没有被添加。 (是的,我的SQL表也准备好了移动服务。也改变了Schema)
我也没有收到错误。
这是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_screen);
final String mobileServiceUrl =
"https://MY_AZURE_MOBILE_URL.net/tables/UserTable";
final String mobileServiceAppId =
"MY_MOBILESERVICE_APPID";
try {
// Create the Mobile Service Client instance, using the provided
// Mobile Service URL and key
mClient = new MobileServiceClient(
mobileServiceUrl,
mobileServiceAppId,
this);
// Get the Mobile Service Table instance to use
mToDoTable = mClient.getTable(UserTable.class);
} catch (MalformedURLException e) {
}
Button regiBtn = (Button) findViewById(R.id.signupDivertBtn);
regiBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try
{
UserTable user = new UserTable();
user.setPassword("111");
user.setFname("TESTName");
user.setId("234232");
user.setEmail("sear@tr.com");
mToDoTable.insert(user);
}
为什么mToDoTable.Insert()语句不起作用?这不是将记录插入azure表的正确方法吗?
编辑:
这是我的UserTable实体类:
public class UserTable {
@com.google.gson.annotations.SerializedName("id")
private String id;
@com.google.gson.annotations.SerializedName("Email")
private String email;
@com.google.gson.annotations.SerializedName("Password")
private String password;
@com.google.gson.annotations.SerializedName("UserFName")
private String fname;
public UserTable()
{
}
public UserTable(String id, String email, String password, String fname) {
this.setId(id);
this.setEmail(email);
this.setPassword(password);
this.setFname(fname);
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
答案 0 :(得分:0)
您的mobileServiceUrl值错误。它应该指向您的移动服务的根源,如此" https://YOURSERVICENAME.azure-mobile.net/"。
我会让服务为您设置ID(GUID)。如果你不喜欢它,只需添加另一个字段来存储你自己的ID。
答案 1 :(得分:0)
在进入为什么你的Android应用程序无法正常工作之前。我建议您先确保可以通过API帮助插入记录。您应该能够通过本地调试或在已发布的azure站点上进行测试。一旦它正常工作,您就可以通过API帮助插入记录。然后试试CSharpRocks提到的内容。
请注意,在本地调试时,应该像SQL Express服务器一样设置本地数据库,并更改web.config MS_TableConnectionString以匹配。您的客户端应用程序(例如,Android)中的移动客户端URL应该是调试期间在浏览器中弹出的本地URL。