【发布时间】:2015-09-09 19:54:10
【问题描述】:
在学校学习 Java 之后,过去几周我一直在开发我的第一个 Android 应用程序。我已经设法制作了一个可以访问数据库的功能界面(有限,但我们已经到了那里!!)。我现在希望将在线 API 集成到我的应用程序中,但我真的不知道从哪里开始。感谢您提供的任何帮助,即使您可以简单地为我指明正确的研究方向。
我正在使用美国农业部国家营养数据库 API (http://ndb.nal.usda.gov/ndb/foods),在我的应用程序中,我有一个 TextEdit 和“搜索”按钮,应该允许用户在数据库中搜索结果。然后,我希望这些结果可以选择包含搜索文本的所有结果来填充 Spinner。从这里用户应该能够指定食物类型的数量,并查看例如营养信息。 100 克、1 件、5 磅等。最后,我想从在线数据库中导入营养数据并将它们放入数据库中。我有一个 API KEY。
现在我觉得我应该能够自己完成大部分工作,但我需要帮助的是实际访问和恢复站点中的数据。不幸的是,我以前没有使用过 API,也不知道从哪里开始。我非常感谢您在这方面给我的任何帮助,即使您可以为我指明正确的资源和教程方向。
到目前为止,我已经包含了我的 xml 代码供参考。 我选择不为此 Activity 包含我的 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 将使用来自数据库的结果进行填充。斜体线是插入的占位符,用于测试 Spinner 是否正常工作。
<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 用于添加食物的数量/重量
<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"/>
此 Spinner 包含诸如“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"
/>
再次非常感谢您,非常感谢您在这方面给我的任何帮助。我是一个热心的学生,但我根本不知道在哪里可以找到关于这个主题的信息。
【问题讨论】: