windows azure移动服务,android获取多个记录基于不同的值



我使用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/#

相关内容

  • 没有找到相关文章

最新更新