远程服务器存储之框架方式的get和post请求方式
2016-06-14 22:25
363 查看
一.Volley
1.特点
1-轻量级的Android网络通信库
2-适合数量不大但通信频繁的场景
2.API
1-RequestQueue
1>请求队列
2>Volley.newRequestQueue(context) :创建或得到请求队列并且是单例模式
3>add(Request):添加请求到队列中
2-Request
1>封装请求的基类
2>子类
1>-StringRequest:返回字符串的请求
构造方法:1-new StringRequest(get_path,正常响应监听,异常响应监听):实现GET方法
2-new StringRequest(Request.Method.Post,get_path,正常响应监听,异常响应监听){重写Map<String, String> getParams()}:实现POST方法
2>-JsonRequest:返回Json的请求
3>-ImageRequest:返回图片请求
3>Request.Method:GET和POST
二.加载方法
1.把jar包放到模块的libs目录下(切换到project视图模式)
2.在jar包上鼠标右键单击,选择“add as lib”,加入到开发环境
代码展示:
.java
1.特点
1-轻量级的Android网络通信库
2-适合数量不大但通信频繁的场景
2.API
1-RequestQueue
1>请求队列
2>Volley.newRequestQueue(context) :创建或得到请求队列并且是单例模式
3>add(Request):添加请求到队列中
2-Request
1>封装请求的基类
2>子类
1>-StringRequest:返回字符串的请求
构造方法:1-new StringRequest(get_path,正常响应监听,异常响应监听):实现GET方法
2-new StringRequest(Request.Method.Post,get_path,正常响应监听,异常响应监听){重写Map<String, String> getParams()}:实现POST方法
2>-JsonRequest:返回Json的请求
3>-ImageRequest:返回图片请求
3>Request.Method:GET和POST
二.加载方法
1.把jar包放到模块的libs目录下(切换到project视图模式)
2.在jar包上鼠标右键单击,选择“add as lib”,加入到开发环境
代码展示:
package com.hanqi.testapp3; import android.app.ProgressDialog; import android.net.Uri; import android.support.annotation.RequiresPermission; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.Toast; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util.Map; import com.android.volley.*; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; public class TestActivity3 extends AppCompatActivity { EditText et_2; //请求队列 RequestQueue requestQueue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test3); et_2 = (EditText) findViewById(R.id.et_2); // 创建Volley的请求队列 // 在子线程 requestQueue= Volley.newRequestQueue(this); } //Volley的Get方式 public void bt5_OnClick(View v) { //1.启动进度对话框 final ProgressDialog pd = ProgressDialog.show(this, null, "请稍候..."); //构建StringRequest StringRequest stringRequest=new StringRequest("Http://192.168.0.107:81/index.asp?name=volley&password=456", new Response.Listener<String>() { @Override public void onResponse(String s) { //处理正常响应 //在主线程运行 et_2.setText(s); pd.dismiss(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { //处理异常响应 volleyError.printStackTrace(); pd.dismiss(); Toast.makeText(TestActivity3.this, "响应异常 响应状态码="+volleyError.networkResponse.statusCode, Toast.LENGTH_SHORT).show(); } }); //加入队列 requestQueue.add(stringRequest); } //Volley的Post方式 public void bt6_OnClick(View v) { //1.启动进度对话框 final ProgressDialog pd = ProgressDialog.show(this, null, "请稍候..."); //构建StringRequest StringRequest stringRequest=new StringRequest(Request.Method.POST,"Http://192.168.0.107:81/index.asp", new Response.Listener<String>() { @Override public void onResponse(String s) { //处理正常响应 //在主线程运行 et_2.setText(s); pd.dismiss(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { //处理异常响应 volleyError.printStackTrace(); pd.dismiss(); Toast.makeText(TestActivity3.this, "响应异常 响应状态码="+volleyError.networkResponse.statusCode, Toast.LENGTH_SHORT).show(); } }){ //重写 得到参数的方法 @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String,String> rtn=new HashMap<>(); rtn.put("name","postVolley"); rtn.put("password","567"); return rtn; } }; //加入队列 requestQueue.add(stringRequest); } }
.java
相关文章推荐
- Linux中的task,process, thread 简介
- C++继承二
- 2.1-4
- Java Ide配置tomcat和maven
- spring装配Bean
- .Net字符串驻留池
- 乘法逆元
- 跨域图片资源权限(CORS enabled image)
- error C2664: 'int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)' : cannot convert argument 1 fr
- Android Studio使用笔记:你不知道的调试技巧
- laravel5.1框架下的控制器和页面跳转
- eclipse配置tomcat加大内存的方法
- Android 自定义对话框样式
- eclipse配置tomcat加大内存的方法
- 项目上有红色叹号
- SendKeys.SendWait 方法
- eclipse配置tomcat加大内存的方法
- C# Http Get 提交请求
- 栗庙科三考场路线图及过关技巧
- 多线程下载断点续传