android网络编程之——客户端上传信息的代码

原创 2015年11月20日 15:38:29


添加Java 发送http请求的代码。

package com.my.hello;

import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

import android.content.IntentSender.SendIntentException;

public class ServiceSubmit {

	public static boolean submitGet(String s1, String s2, String url) throws IOException{
		Map<String,String> params = new HashMap<String,String>() ;
		params.put("name", s1) ;
		params.put("age", s2) ;
		
		return sendGetQuest(url,params, "UTF-8") ;
		
	}

	public static boolean submitPost(String s1, String s2, String url) throws IOException{
		Map<String,String> params = new HashMap<String,String>() ;
		params.put("name", s1) ;
		params.put("age", s2) ;
		
		return sendPostQuest(url,params, "UTF-8") ;
		
	}
	
	public static boolean sendXMLQuest(String xml, String url) throws IOException{
		byte[] data = xml.getBytes() ;
		URL path = new URL(url) ;
		HttpURLConnection conn = (HttpURLConnection) path.openConnection() ;
		
		conn.setRequestMethod("POST") ;
		conn.setDoOutput(true);
		conn.setConnectTimeout(5 * 1000);
		conn.setRequestProperty("Content-Type", "text/xml");
		conn.setRequestProperty("Content-Length", String.valueOf(data.length));
		
		
		
		return false;
	}
	
	
	
	private static boolean sendGetQuest(String url, Map<String, String> params,
			String encoding) throws IOException {
		StringBuilder sb = new StringBuilder(url) ;
		if(params != null && !params.isEmpty()){
			sb.append("?") ;
			for(Map.Entry<String, String> entry:params.entrySet()){
				sb.append(entry.getKey()).append("=") ;
				sb.append(URLEncoder.encode(entry.getValue(),encoding)) ;
				sb.append("&") ;
			}
			sb.deleteCharAt(sb.length()-1) ;
		}
		
		HttpURLConnection conn = (HttpURLConnection) new URL(sb.toString()).openConnection() ;
		conn.setConnectTimeout(5000);
		conn.setRequestMethod("GET");
		
		if(conn.getResponseCode() == 200){
			return true ;
		}
		return false;
	}
	
	private static boolean sendPostQuest(String url, Map<String, String> params,
			String encoding) throws IOException {
		StringBuilder sb = new StringBuilder() ;
		if(params != null && !params.isEmpty()){
			for(Map.Entry<String, String> entry:params.entrySet()){
				sb.append(entry.getKey()).append("=") ;
				sb.append(URLEncoder.encode(entry.getValue(),encoding)) ;
				sb.append("&") ;
			}
			sb.deleteCharAt(sb.length()-1) ;
		}
		
		byte[] data = sb.toString().getBytes() ;
		HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection() ;
		conn.setConnectTimeout(5000);
		conn.setRequestMethod("POST");
		conn.setDoOutput(true); //允许对外传输数据
		conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
		conn.setRequestProperty("Content-Length", data.length + "");
		
		OutputStream os = conn.getOutputStream() ;
		os.write(data);
		os.flush(); 
		
		if(conn.getResponseCode() == 200){
			return true ;
		}
		return false;
	}
	
	
}

调用方法如下:

	public void submitPostServer(String s1,String s2, String url) throws IOException{
		boolean result = false ;
		result = ServiceSubmit.submitPost(s1,s2, url) ;
		if(result){
			Toast.makeText(this, "this is ok,", 1).show(); 
		}else{
			Toast.makeText(this, "this is no ok,", 1).show(); 
		}

	}

case R.id.bt_submit:
				String url_one = "http://172.27.251.31:8081/TestWeb/GetMethod" ;
				String s1 = et_submit_1.getText().toString() ;
				String s2 = et_submit_2.getText().toString() ;
				
				try {
					submitPostServer(s1, s2, url_one);
					
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}







android网络编程之——客户端上传信息到网络上面网页(GET)

本文主要根据代码实例来分析安卓客户端上传文本信息到网络的网页。 1、业务类实现,包括3个参数 public class ServiceSubmit { public static boolea...

网络编程_多线程改进多个客户端上传文件案例

package cn.itcast_15; import java.io.IOException; import java.net.ServerSocket; import java.net.Soc...

网络编程_关于多个客户端上传到一个服务器的思考

package cn.itcast_14; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impo...

网络编程-多线程改进客户端上传文件

package $12_多线程改进客户端上传文件;import java.io.BufferedReader; import java.io.BufferedWriter; import java...

Java网络编程一个基础案例分析,基于TCP协议的客户端上传文件给服务器端(单线程版)

1.首先解释下什么是TCP协议?       简单来时就是客户端与服务器端以什么样的规则传输数据,具体内容大家可以不必理会。为什么说TCP协议是安全的协议呢,这是因为客户端在给服务器端发送信息的时候,...

C# FTP 客户端上传 下载代码

  • 2015年09月09日 14:35
  • 25KB
  • 下载

在亚马逊AWS(ubuntu)服务器搭建git,用git从客户端上传代码到服务器

背景介绍: 本地客户端电脑是windows 10系统(64位),服务器是申请的亚马逊AWS免费版,服务器的系统是ubuntu 16.04。 为了将自己电脑(本地客户端)上写的代码上传到服务器上,需要在...

Github客户端上传代码

1.注册一个Github账号在官网 https://github.com/github 2.下载mac版的github客户端 网址:https://desktop.github.com3.之后会...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android网络编程之——客户端上传信息的代码
举报原因:
原因补充:

(最多只允许输入30个字)