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
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/Ocean123123/p/10986477.html

时间: 2024-08-29 13:33:15

Volley获取json对象的相关文章

Android Volley获取json格式的数据

为了让Android能够快速地访问网络和解析通用的数据格式Google专门推出了Volley库,用于Android系统的网络传输.volley库可以方便地获取远程服务器的图片.字符串.json对象和json对象数组等.当然,java本身也有获取json对象的方法,然而为了更好地适应移动互联网,google专门为其做了特殊的优化,因而应该尽可能地使用Volley库. Volley官方文档:https://developer.android.com/training/volley/index.htm

获取Json对象的长度或计数

最近又开始写博客了.因为最近的工作又开始与技术方面接口了.现在在开发WEB的时候,经常会遇到JSON对象的传递,JSON是个好东西,但是它却没有提供一些简单便捷的处理方法,其中获取JSON对象的长度就成了很多实战开发中会遇到的问题之一. 下面呢,我把Javascript的代码提供出来,为什么只提供Javascript代码呢?因为其它语言都或多或少提供了一些关于JSON的操作,唯独JavaScript没有提供多少,然后在WEB开发过程中,现在对JQuery的依赖比较多,所以话不多说了,请看代码:

获取JSON对象的属性值

1.问题背景 有一个json对象,其中有键值对,那怎样获取json对象中属性值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

获取JSON对象的属性名称

1.问题背景 一个json对象,是以键值对组成,通过循环json对象,获取json对象中的属性名称 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&

javascript获取json对象的key名称的两种方法

javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常工作. 先看第一种方法 jsonObj = { Name: 'richard', Value: '8' }for (key in jsonObj){ console.log(key); //add your statement to get key value} 结果 NameValue 第二种方法

获取json对象的长度

在我们日常前端开发中,经常会用到ajax请求json数据,而json数据有数组和对象2种表示结构,对象和数组.而获取json数组结构的长度比较容易,但json对象结构的长度就比较麻烦.而本文就是对如何获取json对象的长度进行说明. 在说明如何获取json对象之前,我们需要了解下原生javaScript中的hasOwnProperty()方法,这个方法可以检测一个属性是存在于实例中,还是存在于原型中.只要给定属性存在于对象实例中,才会返回true.来看一个简单的例子. // 原型模式创建对象 f

Volley获取json数组

private void getJSONByVolley() { RequestQueue requestQueue = Volley.newRequestQueue(this); String JSONDataUrl = "网络地址"; JsonObjectRequest jsonObjectRequest = new JsonObjectRequest( Method.GET,JSONDataUrl,null, new Response.Listener<JSONObject

获取json对象长度的问题

平时,我们获取一些字符串或数组的长度的时候会使用length,例如: var str ="asdasd" console.log(str.length) //输出6 var arr =[1,'sd',3,{"s" : 1}]; console.log(arr.length) //输出4 有一次面试的时候,有条题目大概是这样的, var data = { "name" : 'abc', "age" : 25 } console.

javascript;Jquery;获取JSON对象,无刷新分页实例。

js: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>&