Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在线数据库API(Android Studio SDK)的搜索和返回结果_Java_Android_Sql_Database - Fatal编程技术网

Java 在线数据库API(Android Studio SDK)的搜索和返回结果

Java 在线数据库API(Android Studio SDK)的搜索和返回结果,java,android,sql,database,Java,Android,Sql,Database,在学校学习Java之后,我花了几周时间开发我的第一个Android应用程序。我已经成功地用access limited制作了一个功能界面,但我们已经成功了!!到数据库。我现在希望在我的应用程序中集成一个在线API,但我真的不知道从哪里开始。我感谢你能给予的任何帮助,即使你能简单地为我指出正确的研究方向 我正在使用美国农业部国家营养数据库API,在我的应用程序中,我有一个文本编辑和搜索按钮,该按钮应允许用户搜索数据库的结果。然后,我希望这些结果填充一个微调器,选择包含搜索文本的所有结果。从这里,用

在学校学习Java之后,我花了几周时间开发我的第一个Android应用程序。我已经成功地用access limited制作了一个功能界面,但我们已经成功了!!到数据库。我现在希望在我的应用程序中集成一个在线API,但我真的不知道从哪里开始。我感谢你能给予的任何帮助,即使你能简单地为我指出正确的研究方向

我正在使用美国农业部国家营养数据库API,在我的应用程序中,我有一个文本编辑和搜索按钮,该按钮应允许用户搜索数据库的结果。然后,我希望这些结果填充一个微调器,选择包含搜索文本的所有结果。从这里,用户应该能够指定食物类型的数量,并查看例如100g、1种、5lb等的营养信息。最后,我想从在线数据库导入营养数据,并将其放入数据库中。我有一个API密钥

现在我觉得我应该能够自己完成大部分工作,但我需要的帮助实际上是访问和恢复站点中的数据。不幸的是,我以前没有使用过API,我不知道从哪里开始。我非常感谢您在这方面给予我的任何帮助,即使您可以为我指出正确的资源和教程方向

到目前为止,我将包含我的xml代码以供参考。 我选择不在这个活动中包含我的Java,因为它缺少大多数功能,因为我不知道如何通过API查询数据库。如果你认为这会有帮助,我会附加它,但它主要只是初始化语句,从文本框中获取值,初始化按钮,但没有定义onClick方法

此搜索框允许用户键入关键字,然后在数据库中进行搜索

<EditText
        android:id="@+id/food_search"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/food_search_hint" />
此搜索按钮将发送请求,从food_Search EditText查询数据库中的字符串

<Button
        android:id="@+id/food_button_search"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/food_button_search" />
此微调器将使用数据库中的结果填充。斜体行是插入的占位符,用于测试微调器是否正常工作

<Spinner
    android:id="@+id/food_spinner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    *android:entries="@array/test_food_spinner"*
    android:background="@android:drawable/btn_dropdown"
    android:spinnerMode="dropdown" />
第二个数字编辑文本,用于添加食物的数量/重量

<EditText
        android:id="@+id/food_amount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="2"
        android:hint="@string/food_number_hint"
        android:inputType="number"/>
此微调器保存g、kg、lb、units等值。我将创建一个方法,将来自数据库的结果乘以food_amount textEdit和此微调器中指定的值

<Spinner
        android:id="@+id/food_amount_spinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:entries="@array/test_food_amount_spinner"
        android:background="@android:drawable/btn_dropdown"
        android:spinnerMode="dropdown" />
最后是一个提交按钮,用于将在线数据库中的名称和营养信息添加到本地数据库中

<Button
        android:id="@+id/food_submit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/food_button_submit"
        />

再次非常感谢你,我真的非常感谢你在这方面给我的任何帮助。我是一个渴望学习的学生,但我根本不知道该向何处寻求这方面的信息 这是您的文档: 看看您应该如何构建新的定制请求

这是一个示例请求:

它返回一个JSON字符串。 您可以使用发出HTTP请求

然后,您可以解析结果并将其整理成对象。 您可以使用JSONObject类手动完成,也可以使用像gson或jackson这样的json库。我个人最喜欢的是gson

我给你举个简单的例子,你可以继续讲下去

打开 复制内容并粘贴到,看一看 在结构上 用于生成java类以 您将整理json响应 例如,使用gson或jackson转换您对对象的响应, 这样地: -

在UI中显示对象所有微调器等
非常感谢你的建议!!感谢您为我找到了这些文档——我将根据您的建议查看JSON、okhttp和gson。我真的很感激你帮了我大忙谢谢:
Gson gson = new Gson();
FoodResponse fr = gson.fromJson(jsonResponseString, FoodResponse.class);