gpt4 book ai didi

java - 使用 Gson 发布 (Android)

转载 作者:行者123 更新时间:2023-11-30 02:30:29 26 4
gpt4 key购买 nike

<分区>

我是 Android 新手,我正在学习有关如何使用 Gson 的教程。( http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html )

我尝试接收以下 json 对象。( http://api.openweathermap.org/data/2.5/weather?q=London,uk )

这是我的代码:

主类:

public class MainActivity extends Activity {


String url = "http://api.openweathermap.org/data/2.5/weather?q=London,uk";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

InputStream source = retrieveStream(url);
Gson gson = new Gson();
Reader reader = new InputStreamReader(source);
Weather weather = gson.fromJson(reader, Weather.class);
Toast.makeText(this, weather.clouds, Toast.LENGTH_SHORT).show();

}

private InputStream retrieveStream(String url) {

DefaultHttpClient client = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(url);
try {

HttpResponse getResponse = client.execute(getRequest);
final int statusCode = getResponse.getStatusLine().getStatusCode();

if (statusCode != HttpStatus.SC_OK) {
Log.w(getClass().getSimpleName(),
"Error " + statusCode + " for URL " + url);
return null;
}

HttpEntity getResponseEntity = getResponse.getEntity();
return getResponseEntity.getContent();

}
catch (IOException e) {
getRequest.abort();
Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
}

return null;

}}

天气类:

public class Weather {

public double lon;

public double lat;

public String country;

public int speed;

@SerializedName("all")
public int clouds;
}

如果我在模拟器上运行它,我的应用程序“不幸地停止了”并且 LogCat 会这样说:

enter image description here

enter image description here

我在 stackoverflow 上发现了很多关于 gson 的问题,但没有解决我的问题。那我做错了什么??

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