Java 使用json文件和android微调器

Java 使用json文件和android微调器,java,android,eclipse,Java,Android,Eclipse,我正在尝试使用微调器选择项目。我有一个JSON文件存储在资产文件夹中。我想从微调器中选择一个项目,然后将其数值存储在JSON文件中。然后将该数值存储在数据库中。请告诉我如何实现这一点 请按照以下步骤向您致意。 解析json文件。如果您不知道如何解析json文件,请先学习它 当您从微调器中选择一个项目时,您就拥有了选定的项目。在已解析的json文件中搜索此项并提取相应的数值 将此数值存储在数据库中。若你们不知道如何使用数据库,那个么也要学习数据库 对每个选定项目执行步骤2和步骤3 我们首先解析js

我正在尝试使用微调器选择项目。我有一个JSON文件存储在资产文件夹中。我想从微调器中选择一个项目,然后将其数值存储在JSON文件中。然后将该数值存储在数据库中。请告诉我如何实现这一点


请按照以下步骤向您致意。

  • 解析json文件。如果您不知道如何解析json文件,请先学习它
  • 当您从微调器中选择一个项目时,您就拥有了选定的项目。在已解析的json文件中搜索此项并提取相应的数值
  • 将此数值存储在数据库中。若你们不知道如何使用数据库,那个么也要学习数据库
  • 对每个选定项目执行步骤2和步骤3

  • 我们首先解析json文件,因为我们不需要反复解析它来搜索所选元素。

    您的
    微调器需要一个
    适配器。看这里

    该适配器将保存使用微调器选择的值。 如果这些是一些固定值,那么ArrayAdapter就可以了。您可以使用如下值填充它:

    public YourActivity extends Activity {
    ...
    private String[] mValues = {"One", "Two", "Three"};
    private Spinner mSpinner;
    public void onCreate(Bundle bundle) {
    ...
    mSpinner = findViewById(R.id.yourspinner);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
       this, android.R.layout.simple_spinner_item, mValues);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    mSpinner.setAdapter(adapter);
    ...
    }
    
    有关资产,请参见此处

    您可能需要使用JSON解析器解析输入流。我相信Android有一个JSON解析器类。参见此处的示例 哦,是的,正如Anil在下面的回答中所说的,只需解析JSON文件一次就足够了


    然后需要将为微调器元素找到的值存储在数据库中。这需要很长时间来解释。你可以看到如何在Android文档中创建和使用数据库。

    我认为这对这个网站不是一个好问题。我们不是代码/建议分发者,我们在这里帮助您解决问题或提供建议,前提是您在花费我们的时间之前表现出相当的努力。我们通常喜欢帮助人们解决他们的问题,但请向我们证明您已经首先完成了您的部分工作。我创建了一个JSON文件,而不是将值链接到微调器项。所以我只是想问一些线索,如何将JSON文件与spinner链接。您已经尝试过了吗?你有什么错误吗?这是我个人喜欢在一个问题中看到的。好吧,我不知道如何使我从asset到Jstringwell的文件的inputstream我已经知道了一切。只需要学习如何解析json文件。我面临的问题是。我将如何将Inputstream转换为Jstring?请看有一个方法convertStreamToString(),它可以吗?是的,我已经完成了所有工作,谢谢。最后一件事。我一次又一次地对解析感到困惑。我使用三种活动。如果我在主活动中打包JSON文件,我可以在其他活动中使用它,还是必须在每个活动中打包?您不必多次解析它。您可以创建您的应用程序类,在其中创建一个保存解析文件的字段,然后如果该字段为空,您可以解析该字段,否则只使用该字段。您必须在清单中注册应用程序类。当然,您可以每次为每个活动解析。如果小时json很小,而且这样更容易,为什么不呢
    InputStream is = getAssets().open("your_asset.txt");