volley 学习
来源:互联网 发布:追梦格林常规赛数据 编辑:程序博客网 时间:2024/06/08 02:06
asynacTask是android封装的一个线程的请求类,我感觉用起来挺好的,但是大家都在用volley所以我也学学
volley 是Google公司的开源的项目,主要是获取JSONObject和图片加载,开始;
1:最简单的形式:
import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import com.android.volley.Request;import com.android.volley.RequestQueue;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.JsonObjectRequest;import com.android.volley.toolbox.Volley;import org.json.JSONObject;public class MainActivity extends Activity { private RequestQueue requestQueue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); requestQueue = Volley.newRequestQueue(this);//创建一个Volley的请求队列 JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, "https://api.thinkpage.cn/v2/weather/all.json?city=北京&language=zh-chs&unit=c&aqi=city", null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject jsonObject) { Log.e("test", jsonObject.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { Log.e("test", volleyError.toString()); } }); requestQueue.add(jsonObjectRequest); }JsonObject是通过Volley所获得的JSON对象,他的参数显而易见,下面有2个listener,第一个是运行成功后的listener,后一个是失败后的listener,当然Volley也有其他的Object,有:
Volley提供了JsonObjectRequest、JsonArrayRequest、StringRequest等Request形式。
JsonObjectRequest:返回JSON对象。
JsonArrayRequest:返回JsonArray。
StringRequest:返回String,这样可以自己处理数据,更加灵活。
另外可以继承Request<T>自定义Request。
这种事最简单的Volley的用法。2、volley 进行图片的请求,也就是ImageRequest这样就可以实现请求然后进行图片的现实:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); requestQueue = Volley.newRequestQueue(this); imageView = (ImageView) findViewById(R.id.image_net); requestQueue = Volley.newRequestQueue(this); ImageRequest imageRequest = new ImageRequest("http://d.hiphotos.baidu.com/zhidao/pic/item/562c11dfa9ec8a13e028c4c0f603918fa0ecc0e4.jpg", new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap bitmap) { imageView.setImageBitmap(bitmap); } },300,300, Bitmap.Config.ARGB_8888,new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { } });在这里让人都感觉不到是在多线程的情况下进行的,这是结果页面:
这张图片是在百度上找的,也就是上面的uri所对应的图片
0 0
- volley 学习
- volley学习
- volley 学习
- Volley学习
- Volley学习
- volley学习(1)—volley的特性
- Volley学习(一)Android Volley源码解析
- volley的学习
- Android Volley学习
- Volley 学习 2
- Volley学习资源
- volley开源库的学习
- Android组件Volley学习
- Volley学习之一AtomicInteger
- Volley学习笔记
- volley学习笔记
- 深入volley学习
- Volley学习小结
- windows eclipse PHP开发环境的搭建=Eclipse+Apache+php
- HTML表单
- 传递给Appium服务器以开启相应安卓Automation会话的Capabilities的几点说明
- android 设置系统屏幕亮度
- MySQL索引初步
- volley 学习
- #笔记#圣思园 JavaSE 第6讲——流程控制语句
- volist 、获取IP和事件以及分页功能
- Apache Log4j配置说明
- leetcode_96_Unique Binary Search Trees
- TextView高级应用之:实现部分文字点击事件
- c学习阶段总结
- Halcon运算符(总结的很全面)
- C语言将整形数值存入指定的内存段中的方法