zoukankan      html  css  js  c++  java
  • Volley获取json对象

    url必须返回一个json文本,由于网上没有找到返回json的url,我用Tomcat写了一个json文件,

    在这个文件夹下见一个以json后缀的json文件,内容是json文本,然后输入浏览器输入http://192.148.83.135:9999/hello/myfile.json就会出现你写的文本

    public class MainActivity extends AppCompatActivity {
        private RequestQueue queues ;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            queues = Volley.newRequestQueue(this);
            JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://192.148.83.135:9999/hello/myfile.json", null,
                    new Response.Listener<JSONObject>() {
                        @Override
                        public void onResponse(JSONObject response) {
                            System.out.println(response.toString());
                        }
                    }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.e("TAG", error.getMessage(), error);
                }
            });
            queues.add(jsonObjectRequest);
        }
            }

    如果出现 Cleartext HTTP traffic to 192.168.43.135 not permitted错误,就按下面大神说的做

    在Android P系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,同样地,如果应用嵌套了webview,webview也只能使用https请求。

    针对这个问题,有以下三种解决方法:

    (1)APP改用https请求

    (2)targetSdkVersion 降到27以下

    (3)更改网络安全配置

    前面两个方法容易理解和实现,具体说说第三种方法,更改网络安全配置。

    1.在res文件夹下创建一个xml文件夹,然后创建一个network_security_config.xml文件,文件内容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
    <base-config cleartextTrafficPermitted="true" />
    </network-security-config>
    2.接着,在AndroidManifest.xml文件下的application标签增加以下属性:

    <application
    ...
    android:networkSecurityConfig="@xml/network_security_config"
    ...
    />
    完成,这个时候App就可以访问网络了。
    ---------------------
    作者:柚子君.
    来源:CSDN
    原文:https://blog.csdn.net/gengkui9897/article/details/82863966
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    python学习Day21--内置函数、反射
    python学习Day20--属性、类方法和静态方法+类多继承算法补充
    python学习Day19--面向对象的三大特性
    python学习Day18--继承
    python学习Day17--名称空间
    python学习Day16--面向对象
    python学习Day15--递归与二分查找
    python学习Day14--内置函数
    c# 深克隆与浅克隆
    css test-align 和 margin 居中什么区别
  • 原文地址:https://www.cnblogs.com/Ocean123123/p/10986477.html
Copyright © 2011-2022 走看看