HttpURLConnection网络获取天气预报信息

来源:互联网 发布:网约车用什么软件好 编辑:程序博客网 时间:2024/05/16 09:44

配置android.permission.INTERNET

android.permission.INTERNETimport java.io.ByteArrayOutputStream;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {

    private static final String TAG = "MainActivity";
    private EditText text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text = (EditText) findViewById(R.id.et_text);
        
    }
    
    public void bt(View v){
        new Thread(){
            public void run() {
                //网络数据
                httpcontent();
            }
        }.start();

    }


    private void httpcontent() {
        // TODO Auto-generated method stub
        try {
        String name = text.getText().toString().trim();
        //路径
        String path="http://wthrcdn.etouch.cn/weather_mini?city=";
    
            URL url=new URL(path+URLEncoder.encode(name));
            Log.i(TAG, "name:"+URLEncoder.encode(name, "utf-8"));
            //建立连接
            HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
            openConnection.setConnectTimeout(5000);
            openConnection.setReadTimeout(5000);
            openConnection.setRequestMethod("GET");
            int responseCode = openConnection.getResponseCode();
            if(responseCode==200){
                InputStream inputStream = openConnection.getInputStream();

                //将获得的文件json转换成字符串
                ByteArrayOutputStream arrayOutputStream=new ByteArrayOutputStream();
                byte[] buffer=new byte[1024];
                int len=0;
                while((len=inputStream.read(buffer))!=-1){
                    arrayOutputStream.write(buffer, 0, len);
                }

                String str = arrayOutputStream.toString();

//接着gson解析bean类   集合

                Log.i(TAG, "str:"+str);
            }else{
                
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    };

}

0 0
原创粉丝点击