无法进入app logcat空白 去除initview后正常

package com.example.myweather;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.net.HttpURLConnection;
import java.net.URL;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;

import android.app.Activity;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements View.OnClickListener{
private ImageView UpdateBtn,weatherStateImg,pmStateImg;
private TextView cityNameT,cityT,timeT,humidityT,weekT,pmDataT,pmQualityT,temperatureT,climateT,windT;
TodayWeather todayWeather = null;

private Handler mHandler =new Handler()
        {
    public void handleMessage(android.os.Message msg)
    {
        switch(msg.what)
        {case 1:
        updateTodayWeather((TodayWeather)msg.obj);
        break;
        default:
            break;
        }
    }
        };


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     Log.d("MainActivity","onCreate");
    setContentView(R.layout.activity_main);

    UpdateBtn=(ImageView)findViewById(R.id.title_update);
    UpdateBtn.setOnClickListener(this);


    initView();




}

private void queryWeatherCode(String cityCode)  {
       final String address = "http://wthrcdn.etouch.cn/WeatherApi?citykey=" + cityCode;
       Log.d("myWeather", address);
       new Thread(new Runnable() {
           @Override
           public void run() {
               HttpURLConnection con=null;

               try{
                   URL url = new URL(address);
                   con = (HttpURLConnection)url.openConnection();
                   con.setRequestMethod("GET");
                   con.setConnectTimeout(8000);
                   con.setReadTimeout(8000);
                   InputStream in = con.getInputStream();
                   BufferedReader reader = new BufferedReader(new InputStreamReader(in));
                   StringBuilder response = new StringBuilder();
                   String str;
                   while((str=reader.readLine()) != null){
                       response.append(str);
                       Log.d("myWeather", str);
                   }
                   String responseStr=response.toString();
                   Log.d("myWeather", responseStr);
                   //  Todo   解析返回的xml              
                   todayWeather=parseXML(responseStr);  
                   if(todayWeather!=null)
                   {
                       Message msg=new Message();
                       msg.what=1;
                       msg.obj=todayWeather;
                       mHandler.sendMessage(msg);
                   }

                       }catch (Exception e){
                           e.printStackTrace();
                       }finally {
                           if(con != null){
                               con.disconnect();
                           }
                           Log.d("myWeather","Thread ending");
                       }
                   }
               }).start();
            }

private TodayWeather parseXML(String xmldata) {
    TodayWeather todayWeather =new TodayWeather ();

    int fengxiangCount=0;
    int fengliCount =0;
    int dateCount=0;
    int highCount =0;
    int lowCount=0;
    int typeCount =0;
    try {
        XmlPullParserFactory fac = XmlPullParserFactory.newInstance();
        XmlPullParser xmlPullParser = fac.newPullParser();
        xmlPullParser.setInput(new StringReader(xmldata));
        int eventType = xmlPullParser.getEventType();
        Log.d("myWeather", "parseXML");
        while (eventType != XmlPullParser.END_DOCUMENT) {
            switch (eventType) {
              // 判断当前事件是否为文档开始事件
              case XmlPullParser.START_DOCUMENT:
                   break;
              // 判断当前事件是否为标签元素开始事件
              case XmlPullParser.START_TAG:
                 if (xmlPullParser.getName().equals("city")) {
                     eventType = xmlPullParser.next();
                     Log.d("myWeather", "city:    "+xmlPullParser.getText());
                     todayWeather.setCity(xmlPullParser.getText());
                 } else if (xmlPullParser.getName().equals("updatetime")) {
                     eventType = xmlPullParser.next();
                     Log.d("myWeather", "updatetime:"+xmlPullParser.getText());
                     todayWeather.setUpdatetime(xmlPullParser.getText());
                 }else if (xmlPullParser.getName().equals("shidu")) {
                     eventType = xmlPullParser.next();
                     Log.d("myWeather", "shidu:    "+xmlPullParser.getText());

                     todayWeather.setShidu(xmlPullParser.getText());
    } else if (xmlPullParser.getName().equals("wendu")) {
                     eventType = xmlPullParser.next();
                     Log.d("myWeather", "wendu:    "+xmlPullParser.getText());
                     todayWeather.setWendu(xmlPullParser.getText());
        } else if (xmlPullParser.getName().equals("pm25")) {
                     eventType = xmlPullParser.next();
                     Log.d("myWeather", "pm25:    "+xmlPullParser.getText());
                     todayWeather.setPm25(xmlPullParser.getText());
} else if (xmlPullParser.getName().equals("quality")) {
                     eventType = xmlPullParser.next();
                     Log.d("myWeather", "quality:    "+xmlPullParser.getText());
                     todayWeather.setQuality(xmlPullParser.getText());
} else if(xmlPullParser.getName().equals("fengxiang") && fengxiangCount==0) {
                      eventType = xmlPullParser.next();
                      Log.d("myWeather", "fengxiang:"+xmlPullParser.getText());
                      todayWeather.setFengxiang(xmlPullParser.getText());
                      fengxiangCount++;
} else if(xmlPullParser.getName().equals("fengli")&&fengliCount==0) {
                      eventType = xmlPullParser.next();
                      Log.d("myWeather", "fengli:    "+xmlPullParser.getText());
                      todayWeather.setFengli(xmlPullParser.getText());
                      fengliCount++;
} else if (xmlPullParser.getName().equals("date") && dateCount==0) {
                      eventType = xmlPullParser.next();
                      Log.d("myWeather", "date:    "+xmlPullParser.getText());
                      todayWeather.setDate(xmlPullParser.getText());
                      dateCount++;
} else if (xmlPullParser.getName().equals("high") && highCount==0) {
                      eventType = xmlPullParser.next();
                      Log.d("myWeather", "high:    "+xmlPullParser.getText());
                      todayWeather.setHigh(xmlPullParser.getText());
                      highCount++;
} else if (xmlPullParser.getName().equals("low") && lowCount==0) {
                      eventType = xmlPullParser.next();
                      Log.d("myWeather", "low:    "+xmlPullParser.getText());
                      todayWeather.setLow(xmlPullParser.getText());
                      lowCount++;
} else if (xmlPullParser.getName().equals("type") && typeCount==0) {
    eventType = xmlPullParser.next();
    Log.d("myWeather", "type:    "+xmlPullParser.getText());
    todayWeather.setType(xmlPullParser.getText());
    typeCount++;
}
break;

// 判断当前事件是否为标签元素结束事件
case XmlPullParser.END_TAG:
break;
}
// 进入下一个元素并触发相应事件
eventType = xmlPullParser.next();
}
} catch (Exception e) {
e.printStackTrace();
}
return todayWeather;
}

@Override
public void onClick(View v) {
    SharedPreferences sharedPreferences = getSharedPreferences("config", MODE_PRIVATE);
    String cityCode = sharedPreferences.getString("main_city_code","101010100");
    Log.d("myWeather",cityCode);


    if(v.getId()==R.id.title_update)
    {if(NetUtil.getNetworkState(this)==NetUtil.NETWORN_NONE)
      {
          Log.d("myWeather","网络挂了");
          Toast.makeText(MainActivity.this,"网络挂了",Toast.LENGTH_LONG).show();
      }
         else
      {
          Log.d("myWeather","网络ok");
          Toast.makeText(MainActivity.this,"网络ok",Toast.LENGTH_LONG).show();

          queryWeatherCode(cityCode);
      } }
    // TODO Auto-generated method stub

}

public void initView()
{
    //title
    cityNameT = (TextView)findViewById(R.id.title_city);

    //today weather
    cityT = (TextView)findViewById(R.id.cityName);
    timeT = (TextView)findViewById(R.id.updateTime);
    humidityT = (TextView)findViewById(R.id.humidity);
    weekT = (TextView)findViewById(R.id.week);
    pmDataT = (TextView)findViewById(R.id.pm2_5num);
    pmQualityT = (TextView)findViewById(R.id.pm2_5status);
    temperatureT = (TextView)findViewById(R.id.temperature);
    climateT = (TextView)findViewById(R.id.weatherState);
    windT = (TextView)findViewById(R.id.wind);

    weatherStateImg = (ImageView)findViewById(R.id.weatherStatusImg);
    pmStateImg = (ImageView)findViewById(R.id.today_pm25img);

    cityNameT.setText("N/A");

    cityT.setText("N/A");
    timeT.setText("N/A");
    humidityT.setText("N/A");
    weekT.setText("N/A");
    pmDataT.setText("N/A");
    pmQualityT.setText("N/A");
    temperatureT.setText("N/A");
    climateT.setText("N/A");
    windT.setText("N/A");
}
public void updateTodayWeather(TodayWeather todayWeather)
{
    cityNameT.setText(todayWeather.getCity()+"天气");
    cityT.setText(todayWeather.getCity());
    timeT.setText(todayWeather.getUpdatetime()+"发布");
    humidityT.setText("湿度:"+todayWeather.getShidu());
    pmDataT.setText(todayWeather.getPm25());
    pmQualityT.setText(todayWeather.getQuality());
    weekT.setText(todayWeather.getDate());
    temperatureT.setText(todayWeather.getHigh()+"~"+todayWeather.getLow());
    climateT.setText(todayWeather.getType());
    windT.setText("风力:"+todayWeather.getFengli());

        int pm25 = Integer.parseInt(todayWeather.getPm25());
        if (pm25 <= 50) {
            pmStateImg.setImageResource(R.drawable.biz_plugin_weather_0_50);
        } else if (pm25 >= 51 && pm25 <= 100) {
            pmStateImg.setImageResource(R.drawable.biz_plugin_weather_51_100);
        } else if (pm25 >= 101 && pm25 <= 150) {
            pmStateImg.setImageResource(R.drawable.biz_plugin_weather_101_150);
        } else if (pm25 >= 151 && pm25 <= 200) {
            pmStateImg.setImageResource(R.drawable.biz_plugin_weather_151_200);
        } else if (pm25 >= 201 && pm25 <= 300) {
            pmStateImg.setImageResource(R.drawable.biz_plugin_weather_201_300);
        }

        Log.d("type", todayWeather.getType());
        switch (todayWeather.getType()) {
            case "晴":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_qing);
                break;
            case "阴":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_yin);
                break;
            case "雾":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_wu);
                break;
            case "多云":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_duoyun);
                break;
            case "小雨":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_xiaoyu);
                break;
            case "中雨":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_zhongyu);
                break;
            case "大雨":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_dayu);
                break;
            case "阵雨":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_zhenyu);
                break;
            case "雷阵雨":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_leizhenyu);
                break;
            case "雷阵雨加暴":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_leizhenyubingbao);
                break;
            case "暴雨":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_baoyu);
                break;
            case "大暴雨":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_dabaoyu);
                break;
            case "特大暴雨":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_tedabaoyu);
                break;
            case "阵雪":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_zhenxue);
                break;
            case "暴雪":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_baoxue);
                break;
            case "大雪":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_daxue);
                break;
            case "小雪":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_xiaoxue);
                break;
            case "雨夹雪":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_yujiaxue);
                break;
            case "中雪":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_zhongxue);
                break;
            case "沙尘暴":
                weatherStateImg.setImageResource(R.drawable.biz_plugin_weather_shachenbao);
                break;
            default:
                break;
        }

    Toast.makeText(MainActivity.this,"更新成功",Toast.LENGTH_SHORT).show();
}

}

https://blog.csdn.net/yuyu_hcy/article/details/47754543