因此,我正在尝试开发这个应用程序,它将天气细节存储到与Android的sqlite数据库中。目前,我正在学习如何将json数据存储到SQLite数据库的教程,但这是用于读取JSON文件的。
private String readJsonDataFromFile() throws IOException {
InputStream inputStream = null;
StringBuilder builder = new StringBuilder();
try {
String jsonDataString = null;
inputStream = mResources.openRawResource(R.raw.menu_item);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(inputStream, "UTF-8"));
while ((jsonDataString = bufferedReader.readLine()) != null) {
builder.append(jsonDataString);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
}
return new String(builder);
}
}
例如,他正在读取一个名为menu_item的JSON文件。如果我想使用上面的代码来存储MetaWeather api中的数据,例如ex:https://www.metaweather.com/api/location/search/?query=paris,我将如何实现这些代码?
发布于 2021-12-23 18:31:06
您可以使用http库从我推荐的OkHttp
调用中检索响应。https://square.github.io/okhttp/
您将以字符串的形式从API调用中接收响应体,在您拥有该字符串之后,其他所有内容都应该与您发布的代码相同。
OkHttpClient client = new OkHttpClient();
String run(String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.build();
try (Response response = client.newCall(request).execute()) {
return response.body().string();
}
}
//HERE
run("https://www.metaweather.com/api/location/search/?query=paris")
https://stackoverflow.com/questions/70465410
复制相似问题