如何在SQLite中存储在线JSON API



所以我正在尝试开发这个应用程序,它将天气详细信息存储到Android Studio的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中的数据,我将如何实现上面的代码才能工作,例如:https://www.metaweather.com/api/location/search/?query=paris

您可以使用http库从我推荐的OkHttpapi调用中检索响应。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")

最新更新