当前位置: 首页 > 面试题库 >

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

敖永丰
2023-03-14
问题内容

我是天蓝色的新手,我不知道如何连接到在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<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 :)


问题答案:

您最肯定的方式是通过REST API将数据从Azure表存储获取到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

有关更多信息:

  • https://msdn.microsoft.com/zh-CN/library/azure/dd179421.aspx
  • https://msdn.microsoft.com/zh-CN/library/azure/dd179423.aspx

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



 类似资料:
  • 上面是我的firebase数据库,我正在尝试从中提取。正如你所看到的,我有一张叫做“Make”的“表”。我已经成功地将这些数据拉入我的应用程序中的列表视图。代码如下所示。 我现在需要从“VW_Data”表中提取所有数据。该表有1000多个名为“0”到“1000”的孩子,每个孩子的标题相同,例如“轴承”、“海拔”等,但值不同。我希望能够仅从“VW_Data”的所有1000个孩子中提取“轴承”值并显示

  • 我正在创建一个基于网络的android应用程序。所以 1)我已经在eclipse IDE中安装了Google App Engine插件,并开始开发基于网络的android应用程序,其中客户的所有信息都存储在GAE Datastore中。 2)我已经创建了一个新的Web应用程序,并在数据存储中存储了实体。我可以检索这些值并显示在我的android应用程序中,并将新的细节从我的应用程序添加到GAE数据

  • 我已经从谷歌阅读了这个标准描述:https://developer.android.com/training/sharing/receive 在此之后,我更新了我的AndroidManifest.xml,以包括一个意图过滤器来接受来自其他应用程序的共享(对于各种哑剧类型)。 我可以将我的应用程序视为其他应用程序中的共享选项,当我在其他应用程序中选择一个文件(例如,照片应用程序中的图像文件)并选择与

  • 我想插入我的json数据到mongo数据库,我导入mongo驱动程序v 3.2.2并创建一个数据库,收集在mlab.com但我不能在数据库这样的文档发送数据。 这是我的代码:

  • main.java Controller/Controller.java 模型/ConnectDB.java 查看/fxmlSample.fxml 错误: 错误:(64,9)Java:类Sample.Controller.Controller中的method initData无法应用于给定类型;必需:javafx.event.actionevent找到:没有参数原因:实际和正式参数列表的长度不同

  • > 我想从Android应用程序接收响应和发布数据,以填写注册表格。 我想访问一个从第一页返回< code>session_id的网站。意味着当应用程序启动时,我将访问主页并获取< code>session_id,使用< code>session_id和我的应用程序中的一些字段,我想将数据发布到网站的服务器。 应该用什么来做上面的任务? 我已经使用Jsoup和Parse HTML来获得(不在主线程