如何从 Azure 移动服务获取数据

How can I get data from Azure Mobile services

我正在尝试使用 Azure 移动服务从 Azure MS sql 数据库中获取一些数据。我编写的代码如下所示,但是当我调用该方法时,它是 returns null。我哪里做错了?我应该使用什么查询?

private void refreshNumsFromTable() {


    new AsyncTask<Void, Void, Void>() {
        @Override
        protected Void doInBackground(Void... params) {
            try {

                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {

                        mPhonesTable.where().field("PhoneNumber").execute(new TableQueryCallback<PhoneNumbers>() {

                            @Override
                            public void onCompleted(final List<PhoneNumbers> result, int count,Exception exception, ServiceFilterResponse response) 
                            {

                                runOnUiThread(new Runnable() {
                                    @Override
                                    public void run() {
                                        mAdapter.clear();
                                        for(PhoneNumbers num : result)
                                        {
                                            mAdapter.add(num);
                                        }
                                    }
                                });

                            }
                        });
                    }
                });

            } catch (Exception e) {
                createAndShowDialog(e, "Error");
            }

            return null;
        }
    }.execute();

}

你那里没有完整的谓词。通过使用 where() 方法,您要求 PhoneNumber 满足某些标准的结果,但您没有指定该标准。您需要说它等于某物 (eq()) 或者它以某个字符串开头:

mPhonesTable.where().field("PhoneNumber").eq("555-555-5555").execute().get(); 要么 mPhonesTable.where().startsWith("PhoneNumber", "555").execute().get();

如果您只想 return PhoneNumber 列,请使用 select() 方法:

mToDoTable.select("PhoneNumber").execute().get();

有关详细信息,请参阅移动服务 Android SDK 参考: https://azure.microsoft.com/en-us/documentation/articles/mobile-services-android-how-to-use-client-library/#querying