Android平台向web应用get、post方式提交信息案例
Android平台向web应用get、post方式提交信息案例
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>
- 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;
- }
- }
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);
- }
- });
- }
- }
评论暂时关闭