gpt4 book ai didi

Java,根据所选状态获取城市

转载 作者:搜寻专家 更新时间:2023-11-01 08:44:10 26 4
gpt4 key购买 nike

我在 Android 应用程序中有两个微调框。第一个微调框是美国不同州的字符串数组。我希望第二个微调器填充所选州内的城市。

我怎样才能得到这些城市的列表?我可以使用一些 API?我是否需要包含此数据的预定义 CSV 文件,以便将其导入 SQLite 数据库?

编辑:作为对此的后续,这就是我如何继续整合我想做的事情。我将来自端点的 JSON 插入一个字符串,然后最终插入一个 JSONArray:

                    inStream = httpConnection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inStream));
StringBuilder sb = new StringBuilder();
String line;
//sb.append("{\"cities\":");
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
br.close();
jsonArray = new JSONArray(sb.toString());
//sb.append("}");
jsonArray = new JSONArray(sb.toString());

从那里开始,我遍历数组并将城市的每个“名称”放入 ArrayList 中:

    ArrayList<String> cities = new ArrayList<>();

try {
int rootSize = jsonArray.length();
for (int i = 0; i < rootSize; i++){
JSONObject inner = jsonArray.getJSONObject(i);
//String firstChildren = inner.getString("name");
cities.add(inner.getString("name"));
//double secondChildren = inner.getDouble(1);
}
} catch (JSONException e) {
e.printStackTrace();
}

Collections.sort(cities);

return cities;

有了 ArrayList,我使用列表适配器并将其绑定(bind)到我的城市微调器。完成!:

    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, cities);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view
spnrCity.setAdapter(spinnerArrayAdapter);

最佳答案

我建议使用 SBA.gov API。这是链接 SBA API STATE AND CITY

具体来说这个端点可能是你需要使用的http://api.sba.gov/geodata/city_links_for_state_of/tx.json

继续并单击上面的链接,您将能够看到返回的数据。它返回 TX 内的所有城市。

关于Java,根据所选状态获取城市,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29955759/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com