我在尝试使用Spinners选择一个项目。我有一个JSON文件存储在资源文件夹中。我想从微调器中选择一个项目,然后获取存储在我的JSON文件中的数值。然后将此数值存储在数据库中。请告诉我如何可以实现此使用json文件和android spinners
问候
我在尝试使用Spinners选择一个项目。我有一个JSON文件存储在资源文件夹中。我想从微调器中选择一个项目,然后获取存储在我的JSON文件中的数值。然后将此数值存储在数据库中。请告诉我如何可以实现此使用json文件和android spinners
问候
您需要一个Adapter
为您的Spinner
。请参阅http://developer.android.com/resources/tutorials/views/hello-spinner.html
该适配器将保存您使用微调器选择的值。 如果这些是一些固定值,那么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);
...
}
在此之后,你将有填充mValues
的好手。 (或者,您可以使用ArrayAdapter.createFromResource
)。
然后,你将不得不使用读一些资产文件中像
InputStream is = getAssets().open("your_asset.txt");
你可能需要使用JSON解析器来解析输入流。我相信Android有一个JSON解析器类。例如,请参阅http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/ 哦,是的,正如Anil在下面的答案中发布的,它足以仅解析JSON文件一次。
然后,您需要将您为微调元素找到的值存储在数据库中。这很难解释。您可以看到如何在Android文档中创建和使用数据库。
我面临的问题是。我将如何将Inputstream转换为Jstring? – 2012-02-24 09:19:06
看到http://stackoverflow.com/questions/9135976/json-in-android有一个方法convertStreamToString()它会吗? – 2012-02-24 09:51:19
是的,我已经尽了一切谢意。只是最后一件事。我对一次又一次的解析感到困惑。我正在使用三项活动。如果我在主要活动中放置JSON文件,我是否可以在其他活动中使用它,或者我必须在每个活动中使用它? – 2012-02-27 04:32:46
按照以下步骤。
我们解析JSON文件,首先是因为我们不需要一次又一次地解析它用于搜索选定的元素。
的文件输入流,以及我已经知道的一切。只需要学习如何解析json文件。 – 2012-02-24 08:53:14
在我看来,这不是一个好的问题。我们不是代码/建议掌柜,我们在这里是为了帮助您解决您的问题,或提供建议,只要您花费我们的时间表现出相当大的努力。我们通常喜欢帮助人们解决他们的问题,但请向我们证明您已经完成了您的工作。 – 2012-02-24 08:38:00
好吧,我已经创建了一个JSON文件,而不是将值链接到微调项目。所以我只是问了线索,如何将JSON文件与微调器链接。 – 2012-02-24 08:56:38
你已经尝试过了吗?你有没有得到任何错误?这是我个人喜欢在一个问题中看到的。 – 2012-02-24 09:15:56