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

相关文章

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

java String.join()的使用小结

《javaString.join()的使用小结》String.join()是Java8引入的一个实用方法,用于将多个字符串按照指定分隔符连接成一个字符串,本文主要介绍了javaString.join... 目录1. 方法定义2. 基本用法2.1 拼接多个字符串2.2 拼接集合中的字符串3. 使用场景和示例3

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统