android 上传数据,Android网络上传数据

1.servlet

public class NewsServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String title=request.getParameter("title");

title=new String(title.getBytes(),"UTF-8");

String timeLength=request.getParameter("timeLength");

System.out.println(title+":"+timeLength);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request,response);

}

}

2.MainActivity

public void save(View view){

EditText titleText=(EditText)findViewById(R.id.title);

EditText lengthText=(EditText)findViewById(R.id.timeLength);

String title=titleText.getText().toString();

String length=lengthText.getText().toString();

VideoNewsService service=new VideoNewsService();

try {

service.save(title,length);

Toast.makeText(getApplicationContext(), "保持成功",2);

} catch (Exception e) {

Toast.makeText(getApplicationContext(), "保持失败",2);

}

}

3.上传参数VideoNewsService.java

public void save(String title, String length) throws Exception{

String path="http://192.168.0.112:8080/Test1/news.do";

Map datas=new HashMap();

datas.put("title",title);

datas.put("timeLength",length);

//sendGetRequest(path,datas,"UTF-8");

sendPostRequest(path,datas,"UTF-8");

}

/**

* POST提交参数

*/

private void sendPostRequest(String path, Map datas,String encoding) throws Exception {

StringBuffer data=new StringBuffer();

if(datas!=null&&datas.size()>0){

for(Map.Entry entry:datas.entrySet()){

data.append(entry.getKey()+"=");

data.append(URLEncoder.encode(entry.getValue(),encoding)+"&");

}

//得到实体数据

byte[] entity=data.toString().getBytes();

HttpURLConnection con=(HttpURLConnection) new URL(path).openConnection();

con.setConnectTimeout(5000);

con.setRequestMethod("POST");

//设置HTTP请求头,不使用cookie的情况下,其余头内容均可省略,除了下面的内容

con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

con.setRequestProperty("Content-Length",String.valueOf(entity.length));

con.setDoOutput(true);//允许对外写数据

OutputStream os=con.getOutputStream();

os.write(entity);

if(con.getResponseCode()==200){

Log.i("Post","请求成功");

}

}

}

/**

* GET提交参数

*/

private void sendGetRequest(String path, Map datas,String encoding) throws Exception{

StringBuffer url=new StringBuffer(path);

url.append("?");

for(Map.Entry entry:datas.entrySet()){

url.append(entry.getKey()+"=");

url.append(URLEncoder.encode(entry.getValue(),encoding)+"&");

}

URL server=new URL(url.toString());

HttpURLConnection con=(HttpURLConnection) server.openConnection();

con.setReadTimeout(5000);

con.setRequestMethod("GET");

if(con.getResponseCode()!=200){

throw new Exception();

}

}

5.Android内部集成HttpClient进行Http相关操作

//HttpClient发送POST请求,封装较多,性能不高

private void httpClientRequest(String path, Map datas,

String encoding) throws Exception {

// 1.HttpClient默认集成,不需要手动加入jar

// 2.HttpClient采用NameValuePair存放键值对参数

List pairs=new ArrayList();

if(datas!=null&&datas.size()>0){

for(Map.Entry entry:datas.entrySet()){

pairs.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));

}

}

//组装post请求

UrlEncodedFormEntity entity=new UrlEncodedFormEntity(pairs,encoding);

HttpPost httpPost=new HttpPost(path);

httpPost.setEntity(entity);

//发送请求

DefaultHttpClient client=new DefaultHttpClient();

HttpResponse response=client.execute(httpPost);

if(response.getStatusLine().getStatusCode()==200){

Log.i("httpClient","HttpClient请求成功");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值