Volley框架网络访问String,JsonObject,JsonArray

2024-05-03 03:38

本文主要是介绍Volley框架网络访问String,JsonObject,JsonArray,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先需要下载volley.jar

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.liuyazhou.myapplication"><uses-permission android:name="android.permission.INTERNET" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.liuyazhou.myapplication.MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"android:id="@+id/textView" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="点击"android:id="@+id/button"android:layout_below="@+id/textView"android:layout_centerHorizontal="true"android:layout_marginTop="47dp" />
</RelativeLayout>
package com.example.liuyazhou.myapplication;import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.VolleyLog;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;public class MainActivity extends Activity {private Button button1;private TextView textView1;private String urlJsonObj = "http://api.androidhive.info/volley/person_object.json";private String urlJsonArry = "http://api.androidhive.info/volley/person_array.json";private static String TAG = MainActivity.class.getSimpleName();private String jsonResponse;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = (Button) findViewById(R.id.button);textView1 = (TextView) findViewById(R.id.textView);button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {textView1.setText("你好,第一个Android程序!");fun();funJsonObjectRequest();funJsonArrayRequest();}});}//onCreatepublic void fun() {RequestQueue mQueue = Volley.newRequestQueue(MainActivity.this);/cityname需要是转码后的,不能用中文StringRequest stringRequest = new StringRequest("http://op.juhe.cn/onebox/weather/query?cityname=%E8%92%99%E5%9F%8E&dtype=&key=*****7942cbdcff19a08001",new Response.Listener<String>() {///需要自己申请key,这里随便一个网址都行,@Overridepublic void onResponse(String response) {Log.i("成功Listener-TAG", response);}},new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {Log.e("失败ErrorListener-TAG", error.getMessage(), error);}});mQueue.add(stringRequest);}public void funJsonObjectRequest() {RequestQueue mQueue = Volley.newRequestQueue(MainActivity.this);JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,urlJsonObj, null, new Response.Listener<JSONObject>() {@Overridepublic void onResponse(JSONObject response) {Log.i("JsonObject-成功-TAG", response.toString());try {String   name = response.getString("name");String email = response.getString("email");JSONObject phone = response.getJSONObject("phone");String home = phone.getString("home");String mobile = phone.getString("mobile");jsonResponse = "";jsonResponse += "Name: " + name + "\n";jsonResponse += "Email: " + email + "\n";jsonResponse += "Home: " + home + "\n";jsonResponse += "Mobile: " + mobile + "\n";Log.i("JsonObject-成功:", jsonResponse);} catch (JSONException e) {e.printStackTrace();Toast.makeText(getApplicationContext(),"Error: " + e.getMessage(),Toast.LENGTH_LONG).show();}}}, new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {VolleyLog.d(TAG, "Error: " + error.getMessage());Toast.makeText(getApplicationContext(),error.getMessage(), Toast.LENGTH_SHORT).show();}});mQueue.add(jsonObjReq);}//funJsonpublic void funJsonArrayRequest() {RequestQueue mQueue = Volley.newRequestQueue(MainActivity.this);JsonArrayRequest jsonArrayReq = new JsonArrayRequest(urlJsonArry,new Response.Listener<JSONArray>() {@Overridepublic void onResponse(JSONArray response) {Log.d(TAG, response.toString());try {jsonResponse = "";for (int i = 0; i < response.length(); i++) {JSONObject person = (JSONObject) response.get(i);String name = person.getString("name");String email = person.getString("email");JSONObject phone = person.getJSONObject("phone");String home = phone.getString("home");String mobile = phone.getString("mobile");jsonResponse += "Name: " + name + "\n";jsonResponse += "Email: " + email + "\n";jsonResponse += "Home: " + home + "\n";jsonResponse += "Mobile: " + mobile + "\n";}Log.i("JsonArray-成功:", jsonResponse);} catch (JSONException e) {e.printStackTrace();Toast.makeText(getApplicationContext(),"Error: " + e.getMessage(),Toast.LENGTH_LONG).show();}}}, new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {VolleyLog.d(TAG, "Error: " + error.getMessage());Toast.makeText(getApplicationContext(),error.getMessage(), Toast.LENGTH_SHORT).show();}});mQueue.add(jsonArrayReq);}
}//MainActivity




这篇关于Volley框架网络访问String,JsonObject,JsonArray的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/955759

相关文章

linux ssh如何实现增加访问端口

《linuxssh如何实现增加访问端口》Linux中SSH默认使用22端口,为了增强安全性或满足特定需求,可以通过修改SSH配置来增加或更改SSH访问端口,具体步骤包括修改SSH配置文件、增加或修改... 目录1. 修改 SSH 配置文件2. 增加或修改端口3. 保存并退出编辑器4. 更新防火墙规则使用uf

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

redis数据结构之String详解

《redis数据结构之String详解》Redis以String为基础类型,因C字符串效率低、非二进制安全等问题,采用SDS动态字符串实现高效存储,通过RedisObject封装,支持多种编码方式(如... 目录一、为什么Redis选String作为基础类型?二、SDS底层数据结构三、RedisObject

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置