android框架Volley学习demo

2024-06-16 15:32

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

(1)ImageLoader获取图片

public class HomeActivity extends Activity 
{private ImageLoader mImageLoader;private RequestQueue requestQueue;private SWAdapter listSwAdapter;private void initValue(){this.requestQueue = Volley.newRequestQueue(this);this.mImageLoader = new ImageLoader(requestQueue,new ImageBitmapCache());this.mImageLoader.get("http://ar.ephhk.com/child/life/upload/apkicon/ic_ds.png", ImageLoader.getImageListener(this.mImageView, R.drawable.ic_launcher, R.drawable.ic_launcher));}
/*** get获取数据*/private void getJsonData(){String url = "http://ar.ephhk.com/child/life/index.php?r=api/GetCreativeSw";JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {@Overridepublic void onResponse(JSONObject jsonObject) {}},errorListener);requestQueue.add(jsonObjectRequest);}/*** post获取数据*/private void postJsonData(int categoryId){/*** 判断网络是否可用*/String url = "http://localhost/trialapk/index.php?r=api/GetSWList";HashMap<String,String> params = new HashMap<String,String>();params.put("pagesize",pagesize + "");params.put("pageindex",pageIndex + "");params.put("category_id",categoryId + "");params.put("pagecount",pagecount + "");JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,url, new JSONObject(params),new Response.Listener<JSONObject>() {@Overridepublic void onResponse(JSONObject jsonObject) {}},errorListener);}/*** 請求錯誤事件監聽*/private Response.ErrorListener errorListener= new Response.ErrorListener(){@Overridepublic void onErrorResponse(VolleyError error) {if (error instanceof NetworkError) {Toast.makeText(HomeActivity.this, "网路错误",Toast.LENGTH_SHORT);}else if (error instanceof ClientError) {  Toast.makeText(HomeActivity.this, "客户端错误",Toast.LENGTH_SHORT);} else if (error instanceof ServerError) {  Toast.makeText(HomeActivity.this, "服务端错误",Toast.LENGTH_SHORT);} else if (error instanceof AuthFailureError) {Toast.makeText(HomeActivity.this, "验证错误",Toast.LENGTH_SHORT);} else if (error instanceof ParseError) {Toast.makeText(HomeActivity.this, "解析错误",Toast.LENGTH_SHORT);} else if (error instanceof NoConnectionError){Toast.makeText(HomeActivity.this, "无连接错误",Toast.LENGTH_SHORT);} else if (error instanceof TimeoutError) {Toast.makeText(HomeActivity.this, "连接超时",Toast.LENGTH_SHORT);}  }};


 
ImageBitmapCache.java 

package com.lzp.elearning.common.Downloader;import android.graphics.Bitmap;
import android.support.v4.util.LruCache;import com.android.volley.toolbox.ImageLoader.ImageCache;public class ImageBitmapCache implements ImageCache 
{private LruCache<String,Bitmap> mCache;//圖片緩存的最大空間private final static int maxSize = 8 * 1024 * 1024;public ImageBitmapCache(){mCache = new LruCache<String, Bitmap>(maxSize){@Overrideprotected int sizeOf(String key, Bitmap bitmap) {return bitmap.getRowBytes() * bitmap.getHeight();}};}@Overridepublic Bitmap getBitmap(String url) {return mCache.get(url);}@Overridepublic void putBitmap(String url, Bitmap bitmap) {mCache.put(url, bitmap);}}


这篇关于android框架Volley学习demo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Spring 框架之Springfox使用详解

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

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

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

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

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

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

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2