如何从Azure DB表中获取数据到Android应用程序?

时间:2015-02-24 06:13:10

标签: java android sql azure cloud

我是azure的新手,我不知道如何连接到我在Azure数据库上创建的表。我想获取表数据(SELECT *)并在android中的GridView中填充它们。我知道使用适配器的“填充”部分,我想知道的是如何连接和接收表中的数据:)

我已经尝试了Microsoft的THIS教程,但是在我的方案中应用相同的教程时我遇到了一些困难。

这是我试过的:

@Override

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);



setContentView(R.layout.activity_home_screen);

    try {
        mClient = new MobileServiceClient(
                "LINK",
                "KEY",
                this);

} catch (MalformedURLException e) {

}

    refreshItemsFromTable();
 }



private void refreshItemsFromTable()
{
          //ActivityData is my Entity class 

        new AsyncTask<Void, Void, Void>() {
            //
            @Override
            protected Void doInBackground(Void... params) {
                try {
                    //This is the problematic area. My actual table's name is "Activity" on the Azure SQL
                    final MobileServiceList<ActivityData> result = mToDoTable.eq(false).execute().get();
                    runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                            mAdapter.clear();

                            for (ActivityData item : result) {
                                mAdapter.add(item);
                            }
                        }
                    });
                } catch (Exception exception) {
                    Toast.makeText(HomeScreen.this, exception.toString(),Toast.LENGTH_LONG);
                }
                return null;
            }
        }.execute();
    }

如何在此方案中指定SQL SELECT查询?看起来这个代码不是这样做的吗?我想用表数据填充GridView:)

1 个答案:

答案 0 :(得分:0)

通过REST API,您将从Azure Table Storage获取数据到您的Android的最可靠方式。它相对简单,你可以完全控制。

例如,要获取(查询)数据,您可以检查以下样本请求:

Request Syntax:
GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince  HTTP/1.1

Request Headers:
x-ms-version: 2013-08-15
x-ms-date: Mon, 25 Nov 2013 15:25:14 GMT
Authorization: SharedKeyLite myaccount:<some key>
Accept: application/atom+xml,application/xml
Accept-Charset: UTF-8
DataServiceVersion: 2.0;NetFx
MaxDataServiceVersion: 2.0;NetFx

更多相关内容:

请注意,Azure表不支持SQL语言。 Azure表是完全不同的存储类型(所谓的no-sql)。