Android平台向web应用get、post方式提交信息案例
2015-02-01 00:00
267 查看
参考书:疯狂 android讲义
1、效果图展示
2、界面布局
3、改发送get、post请求的工具类,如下:
如果需要发送get请求只要调用URLConnection的connect()方法去建立实际的连接即可;如果需要发送post请求,则需要获取URLConnection的OutputStream,然后再向网络中输出请求参数,如以上程序!!!
4、activity程序代码
1、效果图展示
2、界面布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" > <Button android:id="@+id/get" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/get" /> <Button android:id="@+id/post" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/post" /> </LinearLayout> <EditText android:id="@+id/show" android:layout_width="fill_parent" android:layout_height="fill_parent" android:editable="false" android:cursorVisible="false" android:gravity="top" /> </LinearLayout>
3、改发送get、post请求的工具类,如下:
public class GetPostUtil { /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param params * 请求参数,请求参数应该是name1=value1&name2=value2的形式。 * @return URL所代表远程资源的响应 */ public static String sendGet(String url, String params) { String result = ""; BufferedReader in = null; try { String urlName = url + "?" + params; URL realUrl = new URL(urlName); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); // 建立实际的连接 conn.connect(); // 获取所有响应头字段 Map<String, List<String>> map = conn.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += "\n" + line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } /** * 向指定URL发送POST方法的请求 * * @param url * 发送请求的URL * @param params * 请求参数,请求参数应该是name1=value1&name2=value2的形式。 * @return URL所代表远程资源的响应 */ public static String sendPost(String url, String params) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(params); // flush输出流的缓冲 out.flush(); // 定义BufferedReade r输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += "\n" + line; } } catch (Exception e) { System.out.println("发送POST请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输出流、输入流 finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } }
如果需要发送get请求只要调用URLConnection的connect()方法去建立实际的连接即可;如果需要发送post请求,则需要获取URLConnection的OutputStream,然后再向网络中输出请求参数,如以上程序!!!
4、activity程序代码
public class GetPostMain extends Activity { Button get , post; EditText show; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); get = (Button) findViewById(R.id.get); post = (Button) findViewById(R.id.post); show = (EditText)findViewById(R.id.show); get.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String response = GetPostUtil .sendGet("http://192.168.65.1:8080/abc/a.jsp" , null); show.setText(response); } }); post.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String response = GetPostUtil .sendPost("http://192.168.65.1:8080/abc/login.jsp" , "name=crazyit.org&pass=leegang"); show.setText(response); } }); } }该程序所发送的get、post请求都是向本地局域网内:http://192/168.65.1:8080/abc应用下两个页面发送,这个应用都是部署在本机的web应用;
相关文章推荐
- Android平台向web应用get、post方式提交信息案例
- Android平台向web应用get、post方式提交信息案例
- Android平台向web应用get、post方式提交信息案例
- Android平台向web应用get、post方式提交信息案例
- Android 网络通信之通过GET和POST方式提交参数给web应用
- 宋体元素1.jQuery实例 2.jQuery load get post 数据提交方式 3.jquery ajax 应用 4.jquery小案例-java教程
- Android学习笔记---27_网络通信之通过GET和POST方式提交参数给web应用,以及使用httpClient,来给web项目以post方式发送参数
- Android应用开发之Android平台向web应用提交信息
- Android GET方式和POST方式提交给WEB服务器
- Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)
- Android应用开发之Android平台向web应用提交信息
- android经过POST和GET两种方式发送数据到web应用实战
- 1.jQuery实例 2.jQuery load get post 数据提交方式 3.jquery ajax 应用 4.jquery小案例
- Android平台向web应用提交信息
- android 通过get,post方式提交数据给服务器
- Other:web 表单数据提交方式get与post的区别
- android客户端采用Post和Get方式向web服务器传递参数
- android之使用get和post方式向服务器提交请求
- Android开发入门之通过GET和POST方式提交参数给web应用
- Android之用HTTP的get,post,HttpClient三种方式向service提交文本数据