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中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一