我正在使用 windows azure 移动服务在我的 android 应用程序中创建数据库。我已经给了第三方库来访问表中的所有细节。但是这些库没有像数据库的 sql 语言一样的方法,因此我必须为此进行非常复杂的查询。我遇到的问题是,我必须根据所选列的不同值获取多条记录,例如有一个名为“id”的列,我必须获取 id 1、3、7 和 10 的记录。有没有人有这个第三方库的经验。如果有人有一些熟悉的经验,请指导我。
提前致谢。
我正在使用 windows azure 移动服务在我的 android 应用程序中创建数据库。我已经给了第三方库来访问表中的所有细节。但是这些库没有像数据库的 sql 语言一样的方法,因此我必须为此进行非常复杂的查询。我遇到的问题是,我必须根据所选列的不同值获取多条记录,例如有一个名为“id”的列,我必须获取 id 1、3、7 和 10 的记录。有没有人有这个第三方库的经验。如果有人有一些熟悉的经验,请指导我。
提前致谢。
适用于 Azure 移动服务的 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());
}
}
});
}
});
}
有几种方法可以在 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/#开始的链接