andorid 远程存储中JDK和Volley的GET和POST方法
在操作Volley的时候先添加volley.jar(包)
<uses-permission android:name="android.permission.INTERNET"/>(权限)
wep.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.hanqi.application3.WebActivity"
android:orientation="vertical"> <EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/et_5"
android:hint="url地址"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="JDK的get方式"
android:onClick="bt55_onclick"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="JDK的pose方式"
android:onClick="bt66_onclick"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Android的get方式"
android:onClick="bt77_onclick"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Android的pose方式"
android:onClick="bt88_onclick"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Volley的get方式"
android:onClick="bt99_onclick"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Volley的pose方式"
android:onClick="bt100_onclick"/>
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:layout_height="100dp"
android:id="@+id/et_6"/>
</LinearLayout>
WepActivity.java
package com.hanqi.application3; import android.app.ProgressDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast; import com.android.volley.AuthFailureError;
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.StringRequest;
import com.android.volley.toolbox.Volley; import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map; public class WebActivity extends AppCompatActivity { EditText et5;
EditText et6;
RequestQueue requestQueue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web); et5 = (EditText)findViewById(R.id.et_5);
et5.setText("http://192.168.0.101:8080/TestWeb/index.jsp");
et6 = (EditText)findViewById(R.id.et_6);
//获取Volley的请求队列
requestQueue = Volley.newRequestQueue(this); }
//1.在子线程访问网络
//2.提供进度对话框
//3.设置权限
public void bt66_onclick(View v)
{
//1.显示ProgressDialog进度对话框
final ProgressDialog dialog = ProgressDialog.show(this,null,"请求中...");
//2.访问网络,启动分线程
new Thread() {
//3. 在分线程, 发送请求, 得到响应数据
@Override
public void run() { try {
//1-URL
URL url = new URL(et5.getText().toString());
//2-URL获取链接
HttpURLConnection huc= (HttpURLConnection)url.openConnection();
//请求方式
huc.setRequestMethod("POST");
//设置超时
huc.setConnectTimeout(5000);
huc.setReadTimeout(5000);
//链接并发送请求
huc.connect();
//用输出流设置请求体
OutputStream os = huc.getOutputStream();
String str = "name=Rose";
os.write(str.getBytes("UTF-8")); //接收:
//判断返回状态码 200
int code = huc.getResponseCode(); if(code == 200)
{
//接收数据 //输入流:
InputStream is = huc.getInputStream();
//读取流
//1-byte数据
byte[] b= new byte[1024];
//2-读到数组的长度
int i = 0;
//3-数据
final StringBuffer sd1 = new StringBuffer();
while ((i=is.read(b))>0)
{
sd1.append(new String(b,0,i));
}
is.close();
huc.disconnect();
//释放资源
//通过主线程信息和关闭对话框
runOnUiThread(new Runnable() {
@Override
public void run() {
et6.setText(sd1); dialog.dismiss();
}
}); }
else {
Toast.makeText(WebActivity.this, "连接错误,返回的状态码="+code, Toast.LENGTH_SHORT).show();
}
os.close(); } catch (Exception e) {
e.printStackTrace(); dialog.dismiss(); }
}
}.start();
}
public void bt55_onclick(View v)
{
//1.显示ProgressDialog进度对话框
final ProgressDialog dialog = ProgressDialog.show(this,null,"请求中...");
//2.访问网络,启动分线程
new Thread() {
//3. 在分线程, 发送请求, 得到响应数据
@Override
public void run() { try {
//1-URL
URL url = new URL(et5.getText().toString() + "?name=Tom1&age=11");
//2-URL获取链接
HttpURLConnection huc= (HttpURLConnection)url.openConnection();
//请求方式
huc.setRequestMethod("GET");
//设置超时
huc.setConnectTimeout(3000);
huc.setReadTimeout(3000);
//链接并发送请求
huc.connect();
//接收:
//判断返回状态码 200
int code = huc.getResponseCode(); if(code == 200)
{
//接收数据 //输入流:
InputStream is = huc.getInputStream();
//读取流
//1-byte数据
byte[] b= new byte[1024];
//2-读到数组的长度
int i = 0;
//3-数据
final StringBuffer sd1 = new StringBuffer();
while ((i=is.read(b))>0)
{
sd1.append(new String(b,0,i));
}
is.close();
huc.disconnect();
//释放资源
//通过主线程信息和关闭对话框
runOnUiThread(new Runnable() {
@Override
public void run() {
et6.setText(sd1); dialog.dismiss();
}
}); }
else {
Toast.makeText(WebActivity.this, "连接错误,返回的状态码="+code, Toast.LENGTH_SHORT).show();
}
//接收数据 } catch (Exception e) {
e.printStackTrace(); dialog.dismiss(); }
}
}.start();
}
public void bt77_onclick(View v)
{
final ProgressDialog dialog = ProgressDialog.show(this,null,"请求中..."); }
public void bt99_onclick(View v)
{
final ProgressDialog dialog = ProgressDialog.show(this,null,"请求中...");
//构造Volley的请求对象
StringRequest sr = new StringRequest(et5.getText().toString() + "?name=jack", new Response.Listener<String>() {
@Override
public void onResponse(String s) {
et6.setText(s);
dialog.dismiss();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(WebActivity.this, "访问出现异常", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
//把请求对象放入队列
requestQueue.add(sr);
}
public void bt100_onclick(View v)
{
final ProgressDialog dialog = ProgressDialog.show(this,null,"请求中...");
//构造Volley的请求对象
StringRequest sr = new StringRequest(Request.Method.POST,et5.getText().toString(), new Response.Listener<String>() {
@Override
public void onResponse(String s) {
et6.setText(s);
dialog.dismiss();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(WebActivity.this, "访问出现异常", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
}){
//重写设置参数的方法
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> m = new HashMap<String,String>();
m.put("name","Volley");
return m;
}
};
//把请求对象放入队列
requestQueue.add(sr);
}
}
andorid 远程存储中JDK和Volley的GET和POST方法的更多相关文章
- html5 webDatabase 存储中sql语句执行可嵌套使用
html5 webDatabase 存储中sql语句执行可嵌套使用,代码如下: *); data.transaction(function(tx){ tx.executeSql("creat ...
- 在WINDOWS SERVER 上或远程桌面中使用 MUTEX
引用: http://www.cnblogs.com/fg0711/archive/2012/05/03/2480502.html 使用Mutex需要注意的两个细节 可能你已经注意到了,例子中在给Mu ...
- webstorm卡、闪退以及win10中jdk配置【转】
原文地址:webstorm卡.闪退以及win10中jdk配置 今天 webstorm 突然一直处于 indexing 索引状态,然后就卡死,重装也无法解决. 搜了一下后,有人说使用 64 位客户端 ...
- java学习之Java中JDK,JRE和JVM之间的关系(转载)
最近要重新抓一下java,大量扫技术文档,保存下来供自己查阅.以下转载自http://www.cnblogs.com/xiaofeixiang/p/4085159.html 初学JAVA很容易被其中的 ...
- 重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作
原文:重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作 [源码下载 ...
- 在ASP dot Net Core MVC中用Controllers调用你的Asp dotnet Core Web API 实现CRUD到远程数据库中,构建你的分布式应用(附Git地址)
本文所有的东西都是在dot Net Core 1.1环境+VS2017保证测试通过. 本文接着上次文章接着写的,不了解上篇文章的可能看着有点吃力.我尽量让大家都能看懂.这是上篇文章的连接http:// ...
- Git添加远程库和从远程库中获取(新手傻瓜式教学)
一. Git添加远程库 1.在本地新建一个文件夹,在该文件夹使用Git工具,运行$ git init,将该文件夹变为本地Git仓库,同时会生成一个隐藏的.git文件夹. 2.在该文件夹中用Not ...
- Git添加远程库和从远程库中获取
一. Git添加远程库 1. 在本地新建一个文件夹,在该文件夹使用Git工具,运行$ git init,将该文件夹变为本地Git仓库,同时会生成一个隐藏的.git文件夹. 2. 在该文件夹中用Note ...
- Android简易实战教程--第十五话《在外部存储中读写文件》
第七话里面介绍了在内部存储读写文件 点击打开链接. 这样有一个比较打的问题,假设系统内存不够用,杀本应用无法执行,或者本应用被用户卸载重新安装后.以前保存的用户名和密码都不会得到回显.所以,有必要注意 ...
随机推荐
- Office web app server2013详细的安装和部署
转自:http://blog.csdn.net/u011355311/article/details/9360293 SharePoint 2013集成Office web apps server20 ...
- win7 :安装SQL2005
转载:http://www.cnblogs.com/icewee/articles/2019783.html 操作系统:Microsoft Windows 7 旗舰版(64位) 数据库版本:SQL ...
- 2016中国VR开发者论坛第一期
由VR界网和暴风魔镜联合举办的2016中国VR开发者论坛第一期已于3月2日下午5点在吉林动画学院圆满落幕,本次论坛云集了VR相关领域的精英,邀请了VR社交<极乐王国>.暴风魔镜.南京睿悦. ...
- LINUX yum用法
1.确保RHEL5中已经安装了yum [root@lvs-master ~]# rpm -qa |grep yumyum-metadata-parser-1.1.2-3.el5yum-updatesd ...
- <<敏捷开发>>读书笔记
1.走进敏捷 * 组织成功 增加业务专家,较少bug和测试的交流成本,即使取消不好的技术 首先发布最有价值的特性,时常发布新的版本,即使改进软件 * 技术成功 结对编程,代码审核,确保同一份代码有不同 ...
- log4j打印mybatis sql语句
Mybatis默认使用有slf4j 必须加上依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId& ...
- PHP使用feof()函数读文件的方法
这篇文章主要介绍了PHP使用feof()函数读文件的方法,以实例形式对比了正确与错误的用法,阐明了feof()函数的使用技巧,需要的朋友可以参考下 本文实例讲述了PHP使用feof()函数读文件的方法 ...
- postman+newman(2)
用newman执行带环境变量的postman测试用例 1.在postman中将用例项目文件导出外还需将环境变量文件导出,如下: 2.newman执行如下: newman -c 测试用例文件 -e 环境 ...
- Thinkpad 笔记本VMware Workstation 安装虚拟机出现“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”解决方法
今天在使用VMware打算在机器中安装新的虚拟机时,出现"此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态"错误如下: 提示信息: 已将该虚拟机配 ...
- python基础05 缩进与选择
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例. ...