我使用windows azure移动服务在我的android应用程序中创建数据库。我已经给了第三方库访问表内的所有细节。然而,这些库没有相同的方法,如sql语言的数据库,因此我必须做出非常复杂的查询。我被困在这个问题中,我必须根据不同的值为选定的列获取多个记录,比如有一个名为"id"的列,我必须获取id 1,3,7和10的记录。有人使用过这个第三方库吗?如果谁有熟悉的经验,请指导我。
Azure Mobile Services的Android SDK有一种查询语言,你可以用它进行类似sql的查询。对于您的具体示例,您可以这样做。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
mClient = new MobileServiceClient(
"https://YOUR_AZURE_MOBILE_SERVICE.azure-mobile.net/",
"YOUR_APPLICATION_KEY",
this
);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Button btn = (Button)findViewById(R.id.button1);
final TextView tv = (TextView)findViewById(R.id.textView1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
MobileServiceTable<Person> table = mClient.getTable("Test", Person.class);
table.where(
field("id").eq(1)
.or(field("id").eq(3))
.or(field("id").eq(7))
.execute(new TableQueryCallback<Person>() {
@Override
public void onCompleted(List<Person> result, int count,
Exception exception, ServiceFilterResponse response) {
if (exception != null) {
tv.setText(exception.toString());
} else {
StringBuffer sb = new StringBuffer();
for (Person p : result) {
sb.append("P[name=");
sb.append(p.name);
sb.append(",age=");
sb.append(p.age);
sb.append("],");
}
tv.setText(sb.toString());
}
}
});
}
});
}
我知道文档还在发布中,但是您可以在https://github.com/WindowsAzure/azure-mobile-services/blob/master/sdk/android/test/sdk.testapp.tests/src/com/microsoft/windowsazure/mobileservices/sdk/testapp/test/MobileServiceQueryTests.java上查看一些示例。
有几种方法可以在Android和WIndows Azure之间进行通信。你可以使用WCF (windows通信基础)并将服务的URL传递给你的android,或者你可以开始使用windows Azure移动服务,在那里你可以开始在移动服务(动态数据模式)上工作,或者使用Node JS将其链接到windows Azure上的存储帐户。
这里是开始使用WCF的链接:http://msdn.microsoft.com/en-us/library/ms734712.aspx
这是开始使用Windows Azure移动服务的链接:http://www.windowsazure.com/en-us/develop/mobile/
这里是Node JS开始的链接http://www.windowsazure.com/en-us/documentation/#