Android网络编程之http发送/请求服务
来源:互联网 发布:mac怎么装office软件 编辑:程序博客网 时间:2024/05/23 00:41
最近在学习Android网络编程的知识,以下是今晚学习的一些心得。与大家共同分享。
在实际的应用开发中很多时候需要app向服务器请求数据,那么app如何发送请求呢?下面的代码就是其中的一种情况,使用HttpURLConnection向服务器发送请求的数据,然后处理服务器返回的数据。
下面的代码只是客户端的一个简答测试代码。还需要在pc上安装一个 tomcat服务器 ,然后将demo中的jsp文件部署到tomcat上,具体的方法百度一下便知。
在实际的应用开发中很多时候需要app向服务器请求数据,那么app如何发送请求呢?下面的代码就是其中的一种情况,使用HttpURLConnection向服务器发送请求的数据,然后处理服务器返回的数据。
下面的代码只是客户端的一个简答测试代码。还需要在pc上安装一个 tomcat服务器 ,然后将demo中的jsp文件部署到tomcat上,具体的方法百度一下便知。
package com.lee.nethttp;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import android.app.Activity;import android.os.AsyncTask;import android.os.Bundle;import android.util.Base64;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity { private EditText mEditText = null; private Button mButton = null; private TextView mTextView = null; private String mUrl = "http://192.168.0.109:8080/lee/index.jsp";//根据自己主机的ip设置 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mEditText = (EditText) findViewById(R.id.edit); mButton = (Button) findViewById(R.id.button); mButton.setOnClickListener(mButtonClickListener); mTextView = (TextView) findViewById(R.id.text); } private OnClickListener mButtonClickListener = new OnClickListener() { @Override public void onClick(View v) { String content = mEditText.getText().toString(); content = toBase64(content); String[] params = { content }; new NetHttpAsyncTask().execute(params); } }; private class NetHttpAsyncTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... params) { String result = null; try { URL url = new URL(mUrl); HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); connection.setUseCaches(false); connection.setRequestProperty("Content-type", "application/x-www-form-urlencoded;charset=UTF-8"); connection.setConnectTimeout(3000); connection.setReadTimeout(3000); PrintWriter writer = new PrintWriter(connection.getOutputStream()); String str = "content" + "=" + params[0]; writer.print(str); writer.flush(); writer.close(); InputStream input = connection.getInputStream(); ByteArrayOutputStream outputBuffer = new ByteArrayOutputStream(); int ch; while((ch = input.read()) != -1){ outputBuffer.write(ch); } result = outputBuffer.toString(); } catch (IOException e) { e.printStackTrace(); } return result; } @Override protected void onPostExecute(String result) { mTextView.setText(result); } } private String toBase64(String content){ try { content = Base64.encodeToString(content.getBytes("UTF-8"), Base64.DEFAULT); Log.e("lee", "toBase64 content = " + content); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return content; }}
Demo 下载地址
0 0
- Android网络编程之http发送/请求服务
- Android网络:发送http请求
- Android的http网络请求和发送
- cocos2dx之Http网络编程(一)——网络请求的发送和接收
- cocos2dx之Http网络编程(一)——网络请求的发送和接收
- cocos2dx之Http网络编程(一)——网络请求的发送和接收
- http发送服务请求实例
- java网络编程:URLConnection发送HTTP请求的方法
- android发送http请求
- android 发送http请求
- Android之网络----使用HttpClient发送HTTP请求(通过get方法获取数据)
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
- Android Matrix图形变换
- hdu1294 Rooted Trees Problem(重复组合+整数拆分+DFS)
- 文件共享
- L23数组指针分析
- 关于android事件分发的总结
- Android网络编程之http发送/请求服务
- 分手后极品留言
- Rightmost Digit
- Add Two Numbers
- 再说MySQL中的 table_id
- speex编解码在android上实现
- 5.2-3
- L24c语言中的字符串
- jquery的$.extend和$.fn.extend作用及区别