使用post方式提交数据
2016-06-21 14:59
447 查看
post提交代码
utils
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { Toast.makeText(MainActivity.this, (String)msg.obj, 0).show(); } }; public void click(View v){ EditText et_name = (EditText) findViewById(R.id.et_name); EditText et_pass = (EditText) findViewById(R.id.et_pass); final String name = et_name.getText().toString(); final String pass = et_pass.getText().toString(); Thread t = new Thread(){ @Override public void run() { //提交的数据需要经过url编码,英文和数字编码后不变 @SuppressWarnings("deprecation") String path = "http://192.168.13.13/Web2/servlet/LoginServlet"; try { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setConnectTimeout(5000); conn.setReadTimeout(5000); //拼接出要提交的数据的字符串 String data = "name=" + URLEncoder.encode(name) + "&pass=" + pass; //添加post请求的两行属性 conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("Content-Length", data.length() + ""); //设置打开输出流 conn.setDoOutput(true); //拿到输出流 OutputStream os = conn.getOutputStream(); //使用输出流往服务器提交数据 os.write(data.getBytes()); if(conn.getResponseCode() == 200){ InputStream is = conn.getInputStream(); String text = Utils.getTextFromStream(is); Message msg = handler.obtainMessage(); msg.obj = text; handler.sendMessage(msg); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t.start(); } }
utils
public class Utils { public static String getTextFromStream(InputStream is){ byte[] b = new byte[1024]; int len = 0; //创建字节数组输出流,读取输入流的文本数据时,同步把数据写入数组输出流 ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { while((len = is.read(b)) != -1){ bos.write(b, 0, len); } //把字节数组输出流里的数据转换成字节数组 String text = new String(bos.toByteArray()); return text; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } }
相关文章推荐
- java.sql.SQLException: 关闭的连接 解决办法
- 浅谈Material Design
- mysql 用户管理和权限设置
- IM项目总结
- WebSocket原理说明
- Linux中设置服务自启动的三种方式
- SharedPreferences数据的两种保存方法: apply、commit
- 自己写的TimeHelper javal时间工具
- 第五篇Bootstrap 排版
- Material Design开源项目
- windows2008访问linux共享的nfs
- 在Linux上使用的10种云备份方案
- JDBC链接数据库版本三,使用C3P0,使用jar文件两个
- oracle 关于with admin option和with grant option说明
- oracle10g安装
- 关于使用mupdf.jar打开pdf会闪退的原因
- Intellij下载及导入Android工程
- 使用JAVA API和MapReduce读取HBase里的数据(可用作HBase数据清洗)
- Android LinearLayout比例计算
- h5手机网页的meta标签