实验结果:
打开应用主页面:输入滨州
代码:
WeatherAtivity.java
package com.example.weather;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import model.Weather;
import Util.HttpCallbackListener;
import Util.HttpUtil;
import adapter.WeatherAdapter;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.LayoutAnimationController;
import android.view.animation.ScaleAnimation;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.Toast;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class WeatherActivity extends Activity{
private EditText etCity;
private ImageButton btnQuery;
private ListView lvFutureWeather;
public static final int SHOW_PESPONSE = 1;
private List<Weather> data;
private void parseWithJSON(String response){
data = new ArrayList<Weather>();
JsonParser parser = new JsonParser();
JsonObject obj = (JsonObject) parser.parse(response);
//返回状态码
String resultcode = obj.get("resultcode").getAsString();
//如果状态码是200说明返回数据成功
if(resultcode != null && resultcode.equals("200")){
JsonObject resultObj = obj.get("result").getAsJsonObject();
JsonArray futureWeatherArray = resultObj.get("future").getAsJsonArray();
for(int i=0;i<futureWeatherArray.size();i++){
Weather weather = new Weather();
JsonObject weatherObject = futureWeatherArray.get(i).getAsJsonObject();
weather.setDayOfWeek(weatherObject.get("week").getAsString());
weather.setDate(weatherObject.get("date").getAsString());
weather.setTemperature(weatherObject.get("temperature").getAsString());
weather.setWeather(weatherObject.get("weather").getAsString());
data.add(weather);
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_weather);
setListeners();
initView();
}
pr