android 获取天气
时间: 2023-10-18 13:28:17 浏览: 51
要在 Android 应用中获取天气,你需要使用一个天气 API。目前有很多免费和付费的天气 API 可供选择,其中比较常用的有 OpenWeatherMap、AccuWeather、Weather Underground 等。
在使用 API 之前,你需要先注册并获取 API key。注册过程可能因 API 不同而有所不同,你需要按照 API 提供商的文档进行操作。
接下来,你需要在你的应用中使用 HTTP 请求来获取天气数据。这可以使用 Android 中提供的 HttpURLConnection 或者第三方库(如 OkHttp)来实现。
以下是一个使用 OpenWeatherMap API 获取天气数据的简单例子:
```java
String apiKey = "YOUR_API_KEY";
String city = "Beijing";
String urlString = "https://api.openweathermap.org/data/2.5/weather?q=" + city + "&appid=" + apiKey;
URL url = new URL(urlString);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
String response = readStream(in);
// 解析 JSON 数据,获取天气信息
} finally {
urlConnection.disconnect();
}
private String readStream(InputStream inputStream) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
int i = inputStream.read();
while (i != -1) {
outputStream.write(i);
i = inputStream.read();
}
return outputStream.toString();
}
```
请注意,这只是一个简单的示例,实际情况中你需要根据 API 的具体要求来构建正确的请求和处理返回的数据。