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

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

我已经尝试过Microsoft的这个教程,但是在我的场景中应用相同的教程时我遇到了一些困难。

这是我尝试过的:

@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() { // @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 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 🙂

您将从Azure Table Storage获取数据到您的android的最可靠方式是通过REST API。 这是相对直接的,你有完全控制权。

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

 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: Accept: application/atom+xml,application/xml Accept-Charset: UTF-8 DataServiceVersion: 2.0;NetFx MaxDataServiceVersion: 2.0;NetFx 

更多内容:

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