广告
返回顶部
首页 > 资讯 > 精选 >Volley网络请求框架如何在Android 应用中使用
  • 648
分享到

Volley网络请求框架如何在Android 应用中使用

androidvolleyroi 2023-05-31 00:05:44 648人浏览 独家记忆
摘要

Volley网络请求框架如何在Android 应用中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先第一步用到的RequetQueueRequestQueue.Java&

Volley网络请求框架如何在Android 应用中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

首先第一步

用到的RequetQueue

RequestQueue.Java

  RequestQueue请求队列首先得先说一下,ReuqestQueue是如何对请求进行管理的...RequestQueue是对所有的请求进行保存...然后通过自身的start()方法开启一个CacheDispatcher线程用于缓存调度,开启若干个NetWorkDispatcher线程用于网络调度...那么为什么要这样设计呢?

  因为一个请求如果已经提交了一次,那么就只需要处理这一次结果就可以了,对于多次重复的请求,我们完全可以使用一个缓存来进行保存..从而减少一些不必要的网络请求,减小服务器的负担...如果一个请求在缓存中没存在过,那么我们再执行网络请求就可以了

  总而言之,设计理念就是从RequestQueue取出请求,先判断缓存是否命中,如果缓存命中,则从缓存中取出数据,如果缓存没有命中,则提交网络请求,从服务器端获取数据

导入volley.jar 到您的Project libs里面,然后Add to Build path

然后创建NetCacheActivity类

package com.Android.xiong.gridlayoutTest;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.Toast;import com.android.volley.Request.Method;import com.android.volley.RequestQueue;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.ImageRequest;import com.android.volley.toolbox.StringRequest;import com.android.volley.toolbox.Volley;public class NetCacheActivity extends Activity {private static final String URL = "Http://sina.com";//请求的urlprivate RequestQueue mRequestQueue;private Button btn_request;private ImageView iv_request;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main);initView(); mRequestQueue = Volley.newRequestQueue(getApplicationContext());  }private void initView() {// TODO Auto-generated method stubbtn_request = (Button) findViewById(R.id.btn_request);iv_request=(ImageView) findViewById(R.id.iv_request);}public void onClick(View v) {//volleyRequest();从网络上获取图片imageRequest();LoadImageView();//ImageLoader加载图片}private void imageRequest() {// TODO Auto-generated method stub ImageRequest mImageRequest=new ImageRequest("https://file.lsjlt.com/upload/202305/30/k423th2wqmc.jpg", new Response.Listener<Bitmap>() {            //需要的注意的是导入Response.Listener<Bitmap>别导错包!@Overridepublic void onResponse(Bitmap response) {// 将网络请求的图片返回并显示在ImageView中  try {Thread.sleep(3000);//休眠3秒 iv_request.setImageBitmap(response);Toast.makeText(getApplicationContext(), " onResponse", Toast.LENGTH_SHORT).show();Log.d(" onResponse", response.toString());} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}},0, 0, Config.RGB_565, new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {// 默认加载图片资源iv_request.setImageResource(R.drawable.ic_launcher);Toast.makeText(getApplicationContext(), " onErrorResponse", Toast.LENGTH_SHORT).show();Log.d(" onErrorResponse", error.toString());}}); mRequestQueue.add(mImageRequest);//强图片请求添加到请求队列}public void LoadImageView() {// 利用ImageLoader异步加载图片final ImageLoader mImageLoader = new ImageLoader(MQuest,new BitmapCache());ImageListener listener = ImageLoader.getImageListener(iv_request,R.drawable.voice_to_short, R.drawable.ic_launcher);        //get请求方式mImageLoader.get("https://file.lsjlt.com/upload/202305/30/jzzjhkdpeyp.jpg",listener);Log.d("ImageLoader", mImageLoader.toString());}// import com.android.volley.Response.ErrorListener;private void volleyRequest() {StringRequest mRequest = new StringRequest(Method.GET, URL,new Response.Listener<String>() {@Overridepublic void onResponse(String response) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), "onResponse ",Toast.LENGTH_LONG).show();Log.d("on onResponse", response.toString());//请求成功}}, new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(),"onErrorResponse", Toast.LENGTH_SHORT).show();Log.d("on ErrorReponse", error.toString());//请求失败}});     mRequestQueue.add(mRequest);     }}

--结束END--

本文标题: Volley网络请求框架如何在Android 应用中使用

本文链接: https://www.lsjlt.com/news/222590.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Volley网络请求框架如何在Android 应用中使用
    Volley网络请求框架如何在Android 应用中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先第一步用到的RequetQueueRequestQueue.Java&...
    99+
    2023-05-31
    android volley roi
  • Android中Volley框架进行请求网络数据的使用
    问题的阐述:Android SDK中的HttpClient和HttpUrlConnection两种请求方式用来处理网络的复杂的操作,但当应用比较复杂的时候需要我们编写大量的代码...
    99+
    2022-06-06
    volley框架 数据 volley Android
  • 如何在Flutter中使用DIO网络请求库
    这篇文章将为大家详细讲解有关如何在Flutter中使用DIO网络请求库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 导入dio包目前dio库的最新版本是3.0.1,同使用其他三方库一样...
    99+
    2023-06-14
  • 如何在Android中利用Retrofit与Rxjava实现网络请求
    今天就跟大家聊聊有关如何在Android中利用Retrofit与Rxjava实现网络请求,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先做一下准备工作,导入需要引用的文件compi...
    99+
    2023-05-31
    retrofit rxjava android
  • 如何在Unix上使用Go和Git来响应网络请求?
    在当今互联网时代,构建高效、可靠的网络应用程序是非常重要的。Go语言是一种专为网络应用开发设计的编程语言,它提供了高效、并发的机制,使得开发者可以轻松地构建高质量的网络应用程序。而Git是一种流行的版本控制工具,它可以帮助我们轻松地管理和...
    99+
    2023-07-28
    git 响应 unix
  • 如何使用 Python 请求网络资源
    很长时间以来我们都在分享 Linux 系统相关的知识,所以可能会有朋友误以为我们只分享 Linux 操作相关的东西,其实不是啊,我们在平时开发过程中遇到的一些问题,感觉可以总结的,都有可能拿来分享。最近在写一个定时访问网络资源的程序,里面涉...
    99+
    2023-05-14
    Python 网络资源
  • Vue3如何使用axios发起网络请求
    目录Vue3使用axios发起网络请求1.何为Axios?2.如何安装Axios3.如何封装网络请求和全局实例化axios4. api.js是什么?5.http.js是什么?6.re...
    99+
    2022-11-13
  • 如何使用Scrapy网络爬虫框架
    这篇文章将为大家详细讲解有关如何使用Scrapy网络爬虫框架,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。scrapy 介绍标准介绍Scrapy是一个为了爬取网站数据,提...
    99+
    2022-10-19
  • 如何使用C++网络服务框架
    这篇文章主要讲解了“如何使用C++网络服务框架”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用C++网络服务框架”吧!C++  是最重要的编程语言之一。它既可以进行、过程化程...
    99+
    2023-06-15
  • React Native如何使用axios进行网络请求
    本篇内容主要讲解“React Native如何使用axios进行网络请求”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React Native如何使用axios进行网络请求”吧!在前端开发中,能...
    99+
    2023-06-20
  • SpringMVC框架中如何使用Filter实现请求日志打印
    这篇文章主要为大家展示了“SpringMVC框架中如何使用Filter实现请求日志打印”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SpringMVC框架中如何使用Filter实现请求日志打印”...
    99+
    2023-06-25
  • Node.js网络框架koa compose中间件如何使用
    这篇文章主要介绍了Node.js网络框架koa compose中间件如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node.js网络框架koa compose中间件如何使用文章都会有...
    99+
    2023-07-04
  • Retrofit网络请求框架之注解解析和动态代理方法怎么使用
    本篇内容介绍了“Retrofit网络请求框架之注解解析和动态代理方法怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Retrofit是...
    99+
    2023-07-05
  • PHP 防抖技术在网络请求中的应用场景探索
    导语:随着互联网的快速发展,网络请求的频繁使用已经成为了我们日常开发中的常态。然而,频繁的网络请求也带来了一些问题,例如服务器压力过大,请求处理时间过长等。为了解决这些问题,防抖技术应运而生。本篇文章将探索PHP防抖技术在网络请求中的应用场...
    99+
    2023-10-21
    应用场景 网络请求 防抖技术
  • Android中如何使用Glide框架
    本篇文章为大家展示了Android中如何使用Glide框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。加载网络图片引入对应的库compile 'com.android.suppo...
    99+
    2023-06-04
  • Android中如何使用Atlas框架
    本篇文章为大家展示了Android中如何使用Atlas框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  Atlas是什么  Atlas是一个Android客户端容器框架,主要提供了组件化、动态性...
    99+
    2023-06-02
  • redis在框架中如何应用
    redis在框架中应用的示例:Redis在Spring框架中应用,spring整合redis连接池配置,代码:<!-- spring整合jedis --><!-- jedis 连接池...
    99+
    2022-10-10
  • Android GZip的使用-开发中网络请求的压缩实例详解
    Android  GZip: gzip是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。 HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技...
    99+
    2022-06-06
    压缩 gzip Android
  • 使用Glide在Android应用中加载网络图片
    使用Glide在Android应用中加载网络图片 代码由于宽度比较小被换行了,看着很不整齐,其实很整齐,注释写得比较详细,比较多不容易阅读,可以...
    99+
    2022-06-06
    网络图 图片 glide Android
  • Glide图片加载框架怎么在Android应用中使用
    这篇文章将为大家详细讲解有关Glide图片加载框架怎么在Android应用中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。简介Glide是一款图片加载框架,可以在Android平台上以简...
    99+
    2023-05-31
    android glide roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作