android网络数据请求

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

/**
 * android网络数据请求代码示例
 */
public class Main18Activity extends AppCompatActivity {

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


    }

    public void requestNet(String mUrl){
        /**
         * get请求代码示例
         * get请求将参数放在url后一起传递过去,而且会被看到,一般不太安全,
         * 但是get方式只获取数据,不会更新数据
         */
        try {
            //创建新的URL
            URL url = new URL(mUrl);
            //建立连接
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            //从网络读取数据
            InputStreamReader isr = new InputStreamReader(httpURLConnection.getInputStream());
            BufferedReader bufferedReader = new BufferedReader(isr);
            String result="";
            while ((bufferedReader.readLine())!=null){
                result+=bufferedReader.readLine();
            }
            Log.e("从网络获取到的结果:","---------------+++++++++>"+result);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        /**
         * post请求代码示例
         * post方式参数是放在请求的内容里面上送的,而不是放在url里面,相对安全一点,
         * 但是post有更新的操作,一般form表单提交的数据都是采用的post方式
         */
        try {
            URL url = new URL(mUrl);
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            //不设置DoOutput属性,无法在内容上传递数据
            httpURLConnection.setDoOutput(true);
            //DoInput属性,默认设置
            httpURLConnection.setDoInput(true);
            //不设置这个方法也可以获取到数据,POST一定要大写
            httpURLConnection.setRequestMethod("POST");
            //如果不设置这个属性,那么上送的参数是对象时,有可能抛出异常
            httpURLConnection.setRequestProperty("Content-type","application/x-java-serialized-object");
            //post方式不能使用缓存,安全问题?
            httpURLConnection.setUseCaches(false);
            httpURLConnection.setInstanceFollowRedirects(true);
            //连接必须在上面之后,也可以没有,因为调用OutputStream时默认连接一次
            httpURLConnection.connect();
            //使用DataOutputStream将内容传送到目标网络地址
            DataOutputStream dataOutputStream = new DataOutputStream(httpURLConnection.getOutputStream());
            String param="NoteType=1";
            dataOutputStream.writeBytes(param);
            dataOutputStream.flush();
            dataOutputStream.close();
            //获取数据流
            InputStreamReader inputStreamReader = new InputStreamReader(httpURLConnection.getInputStream());
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String result="";
            while ((bufferedReader.readLine())!=null){
                result+=bufferedReader.readLine();
            }
            Log.e("从网络获取到的结果:","---------------+++++++++>"+result);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值