Android与server通信的方法之中的一个(json)效率不高安全性不好
http通信。以xml或者json为载体。相互通信数据。
Android对于http的网络通信,提供了标准的java接口——httpURLConnection接口。以及apache的接口——httpclient接口。当中我自己用的比較多的而是httpclient这个接口,由于它的功能更为丰富非常有效。
同一时候http通信也分为post方式和get的方式,两个相比較的话。post传送的数据量比較大,安全性也比較高。因此在做数据查询时。我会用get方式。而在做数据加入、改动或删除时,我就用Post方式
下面是基于httpclient接口,用get和post的方式通信的代码。
(get方式)
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); TextView text = (TextView) this.findViewById(R.id.text_http); String httpurl = “http://10.0.2.2:8080/SIM_SERVER/org/Org-list”; //①httpget连接对象 HttpGet httpRequest = new HttpGet(httpurl); //②取得httpclient的对象 HttpClient httpclient = new DefaultHttpClient(); try { //③请求httpclient,取得httpResponse HttpResponse httpResponse = httpclient.execute(httpRequest); //④推断请求是否成功 if(httpResponse.getStatusLine().getStatusCode()==HttpStatus.SC_OK){ //⑤取得返回的字符串 String strResult = EntityUtils.toString(httpResponse.getEntity()); text.setText(strResult); }else{ text.setText(“请求失败”); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } (post方式) protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.login); TextView text = (TextView) this.findViewById(R.id.text_http); //①http连接地址 String url = “http://10.0.2.2:8080/SIM_SERVER/and/Android-test”; //②取得httppost连接对象 HttpPost httpPost = new HttpPost(url); //③使用NameValuePair来保存要传递的Post參数 List<NameValuePair> params = new ArrayList<NameValuePair>(); //④加入要传递的參数 params.add(new BasicNameValuePair(“parentId”, “0″)); HttpEntity httpentity; try { //⑤设置字符集 httpentity = new UrlEncodedFormEntity(params, “utf-8″); //⑥把字符集设置在请求request里面 httpPost.setEntity(httpentity); //⑦取得httpclient HttpClient httpClient = new DefaultHttpClient(); //⑧请求发送,并获得response HttpResponse httpResponse = httpClient.execute(httpPost); //⑨推断请求是否成功 if(httpResponse.getStatusLine().getStatusCode()==HttpStatus.SC_OK){ //⑩取得返回字符串 String strResult = EntityUtils.toString(httpResponse.getEntity()); text.setText(strResult); }else{ text.setText(“请求失败”); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
Android与server通信的方法之中的一个(json)效率不高安全性不好的更多相关文章
- Android与server通信中的方法(TCP)高效的安全完整
我以前一直使用sockets实现emulator和PC进行通讯,卡了几天,最后请教其它人最终能够连接了. 错误原因是在IP和port,IP要用本机IP(在CMD输入ipconfig.注意:每次开机本 ...
- Android应用经典主界面框架之中的一个:仿QQ (使用Fragment, 附源代码)
备注:代码已传至https://github.com/yanzi1225627/FragmentProject_QQ 欢迎fork,如今来审视这份代码,非常多地方写的不太好,欢迎大家指正.有时间我会继 ...
- android ksoap2调用.net Webservice 方法总结
android ksoap2调用.net Webservice 方法直接放到一个类里: package com.util; import org.ksoap2.SoapEnvelope; impor ...
- 【IPC进程间通讯之中的一个】邮槽MailSlot
IPC进程间通信+邮槽MailSlot IPC(Inter-Process Communication.进程间通信). 现代计算机採用虚拟内存机制,为进程提 ...
- 调试 Android* x86 应用程序的方法以及要使用的工具
作者:Xiaodong Wang 1.简单介绍 众所周知,Android* 开发者头顶很多称呼:设计员.程序员等,而且一般会不可避免地被称为故障检修工. 代码中的错误无法避免.因此不管您是否一開始就造 ...
- android的Binder通信机制java层浅谈-android学习之旅(88)
1.Service Manager的Java代理对象 在Java层中,Service Manager的代理对象类型为ServiceManagerProxy.它继承并且实现了IServiceManage ...
- 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇
前言 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一.Android系统的运行由大量相互独立的进程相互协助来完成的,所以Android进程间通信问题,是做好Andro ...
- Android 串口蓝牙通信开发Java版本
Android串口BLE蓝牙通信Java版 0. 导语 Qt on Android 蓝牙通信开发 我们都知道,在物联网中,BLE蓝牙是通信设备的关键设备.在传统的物联网应用中,无线WIFI.蓝牙和Zi ...
- Android之Http通信——1.初识Http协议
Android之Http通信--1.初识Http协议 引言: 今天是六一儿童节,先在这里给各位超龄儿童说声节日快乐哈~( ╯□╰ ),小猪也象征性地给群里的小朋友们派了红包-嗯,忙碌的五月最终过去了, ...
随机推荐
- C++类中静态变量和静态方法的注意事项
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量仅仅存储一份供全部对象共用.所以在全部对象中都能够共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还能够 ...
- c5
// // main.c // Switch练习2 // // Created by xiaomage on 15/6/6. // Copyright (c) 2015年 xiaomage. All ...
- 【POJ 1741】 Tree
[题目链接] http://poj.org/problem?id=1741 [算法] 点分治 要求距离不超过k的点对个数,不妨将路径分成两类 : 1. 经过根节点 2. 不经过根节点 考虑第1类路径, ...
- http server优雅启停原理及验证
问题背景 在 http应用程序重启时,如果直接 kill -9 使程序退出,然后再启动,会存在的问题: 旧的请求未处理完,如果服务端进程直接退出,会造成客户端连接中断(收到 RST) 新请求打过来,服 ...
- php的分页代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- java1.8对集合中对象的特有属性进行排序
每天学习一点点,知识财富涨点点 1.创建对象user12 2.编写测试类 3.输出结果 加油!!!!
- 20.QT文本文件读写
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QFile> #inclu ...
- SqlServer数据库字典
网上有很多SQL Server数据库字典的SQL语句,七零八落,我在工作整理了一下思路,总结SQL代码如下.数据库字典包括表结构(分2K和2005).索引和主键. 外键.约束.视图.函数.存储过程.触 ...
- C#中显现串口通信SerialPort类
SerialPort类的常用属性 名 称 说 明 BaseStream 获取 SerialPort 对象的基础 Stream 对象 BaudRate 获取或设置串行波特率 BreakState 获取或 ...
- DirectUI界面编程(五)WindowImplBase的使用
上节笔者向大家介绍了Duilib的界面布局并在最后编写了一个仿QQ旋风的界面,但是由于我们屏蔽了系统的标题栏,读者可能已经发现,我们的窗口没办法移动,同样也不能通过拖动来改变窗口的大小. 这就需要我们 ...