Android Studio中使用开源库volley进行网络访问简单示例
来源:互联网 发布:ubuntu 图形编程 编辑:程序博客网 时间:2024/05/16 10:26
volley特性 :
1>使用volley开源库进行网络访问,使网络访问更简单,快速,健壮
2>可以将网络访问与activity生命周期相关联
1.环境
AndroidStudio 2.1正式版
volley.jar
关于将volley.jar导入androidStudio网上有很多教程,很简单,此处省略
2.开始使用volley库进行网络访问
1> 创建一个访问队列
<span style="font-size:18px;">package com.example.zhaoyun.usingvolley;import android.app.Application;import com.android.volley.RequestQueue;import com.android.volley.toolbox.Volley;//创建一个请求队列public class Myapplication extends Application { @Override public void onCreate() { super.onCreate(); //初始化一个请求队列 queue = Volley.newRequestQueue(this); } //外部可以通过这个方法获取请求队列 public static RequestQueue getHttpQueue(){ return queue; } public static RequestQueue queue;}</span>
2>创建一个GET,POST请求并添加到队列里进行网络请求,并在activity退出时停止网络访问
package com.example.zhaoyun.usingvolley;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;import com.android.volley.AuthFailureError;import com.android.volley.Request;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.StringRequest;import java.util.HashMap;import java.util.Map;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnRequest = (Button) findViewById(R.id.btnRequest); btnRequest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { volley_Post(); } }); } //创建一个Get请求 private void volley_Get(){ //Get方式访问时须将请求参数写在url里 String url = "http://10.150.249.211:8080/TestServer/api.jsp?action=login&machine_id=1&"; StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() { @Override public void onResponse(String s) {//请求成功回调 Toast.makeText(MainActivity.this,s,Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() {//请求失败回调 @Override public void onErrorResponse(VolleyError volleyError) { Toast.makeText(MainActivity.this,"请求失败",Toast.LENGTH_SHORT).show(); } }); //设置请求标签 request.setTag("abcGet"); //将请求添加到队列 Myapplication.getHttpQueue().add(request); } //创建一个Post请求 private void volley_Post(){ String url = "http://10.150.249.211:8080/TestServer/api.jsp"; StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String s) {//请求成功回调 Toast.makeText(MainActivity.this,s,Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) {//请求失败回调 Toast.makeText(MainActivity.this,"请求失败",Toast.LENGTH_SHORT).show(); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError {//创建请求参数 HashMap<String,String> map = new HashMap<String, String>(); map.put("action","login"); map.put("machine_id","1"); return map; } }; request.setTag("abcPost"); Myapplication.getHttpQueue().add(request); } //volley特性二:可以与activity生命周期相关联 @Override protected void onStop() { super.onStop(); //通过前面设置的Tag,取消创建的volley_Get请求 Myapplication.getHttpQueue().cancelAll("abcGet"); //通过前面设置的Tag,取消创建的volley_Post请求 Myapplication.getHttpQueue().cancelAll("abcPost"); } private Button btnRequest;}
3>测试:本示例使用一个Button点击进行网络访问来进行测试,示例中的url是我在另一个Demo里写的本地测试服务器的url,结果用Toast展示
1 0
- Android Studio中使用开源库volley进行网络访问简单示例
- Android中使用Volley框架进行网络请求
- Android Studio中使用AIDL简单示例
- Android中使用Volley开源库进行Http网络请求(GET方式)
- Android中使用Volley开源库进行Http网络请求(POST方式)
- Android中使用Volley开源库进行Http网络请求(GET方式)
- Android 网络访问框架 Volley 基本使用
- Android Volley网络访问
- Android网络请求框架:Volley简单使用
- android Volley请求框架的简单使用——访问网络和加载图片
- Volley简单访问网络数据
- 【Android应用】AS Volley网络访问 简单的二次封装
- Android Studio使用Volley
- 使用volley进行网络请求
- 用volley框架进行网络访问
- Android Volley入门到精通:使用Volley加载网络图片(示例,出错代码)
- Android Volley入门到精通:使用Volley加载网络图片(示例,出错代码)
- Android Volley入门到精通:使用Volley加载网络图片(示例,出错代码)
- 无线网mac下virtualbox中centos网络ip
- 内部类简要分析
- linux下c程序访问mysql实例
- python Image模块学习
- Reachability框架(联网状态的检测)
- Android Studio中使用开源库volley进行网络访问简单示例
- vc++6.0 编译执行opencv1.0
- 动态内容爬虫
- 基于S2SH开发必须的jar说明
- Ubuntu下用pyenv进行python环境隔离
- [C++Primer] 第二章 变量和基本类型
- android html5 的弹出窗设置
- 如何才能做到网站高并发访问?
- 51Nod-1284-2 3 5 7的倍数