刚开始学习Android网络请求记录一下

  1. OKhttp提示错误android.os.NetworkOnMainThreadException看意思就是不能再主线程中写。
  2. 提示not permitted by network security poliy 看意思跟iOS里面的策略差不多,iOS使用http请求需要设置一下安全策略,可是我这是百度HTTPS啊,参考文章和解决办法
public class NetWorkACT extends AppCompatActivity {    final private static String TAG = "log";    private Button button;    Handler handler = new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            Bundle bundle = msg.getData();            String value = bundle.getString("value");            Log.i(TAG,"请求结果"+value);        }    };    Runnable runnable = new Runnable() {        @Override        public void run() {            OkHttpClient okHttpClient = new OkHttpClient();            String string = "https://www.baidu.com";            Request request = new Request.Builder().url(string).build();            try {                Response response = okHttpClient.newCall(request).execute();                String res = response.body().toString();                System.out.println(res);                Message message = new Message();                Bundle bundle = new Bundle();                bundle.putString("value",res);                message.setData(bundle);                handler.sendMessage(message);            } catch (IOException exception){            }        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_net_work_act);//        if (android.os.Build.VERSION.SDK_INT > 9) {//            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();//            StrictMode.setThreadPolicy(policy);//        }        button = (Button)findViewById(R.id.start);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                startRequest();//                OkHttpClient okHttpClient = new OkHttpClient();//                String string = "https://www.baidu.com";//                Request request = new Request.Builder().url(string).build();//                try {//                    Response response = okHttpClient.newCall(request).execute();//                    String res = response.body().toString();//                    System.out.println("请求接口"+res);//                    Message message = new Message();//                    Bundle bundle = new Bundle();//                    bundle.putString("value",res);//                    message.setData(bundle);//                    handler.sendMessage(message);//                } catch (IOException exception){////                }            }        });    }    private void startRequest() {        new Thread(runnable).start();    }}

更多相关文章

  1. Android(安卓)Retrofit Put请求
  2. Android(安卓)6.0 权限申请源码解析
  3. 移动接口开发:JAVA判断是android还是ios 端请求
  4. Android连续点击两次返回键退出应用,提示“再按一次退出应用"
  5. ℃江让您从精通到入门:Android(安卓)Studio 简单实现ViewPager,可
  6. Android(安卓)访问HTTP资源
  7. 初探 Retrofit (入门)
  8. eclipse中运行安卓程序,提示Failed to allocate memory: 8的解决
  9. Android(安卓)使用HTTPClient调用Web请求(查询手机号码区域)

随机推荐

  1. 超好用的ai文章生成器 智媒ai伪原创平台
  2. Java实现定时任务的三种方法
  3. [Java] SpringMVC工作原理之一:Dispatcher
  4. 我的毕业季,没有一点点仪式感!
  5. 连夜再整理几个开源项目:练手/毕设/私活都
  6. 序列化系列(1)java序列化机制
  7. 废柴电脑拯救计划:搭个云服务器它不香嘛?
  8. 数据结构与算法(1)基本概念
  9. java关键字系列(1)transient
  10. 数据结构与算法(2)数组