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协议 引言: 今天是六一儿童节,先在这里给各位超龄儿童说声节日快乐哈~( ╯□╰ ),小猪也象征性地给群里的小朋友们派了红包-嗯,忙碌的五月最终过去了, ...
随机推荐
- Android学习笔记之ProgressBar案例分析
(1) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to ...
- 关于懒加载中的self.和_
---恢复内容开始--- 在开发中,经常会用到懒加载,最常用的如加载一个数组 如图,在这个懒加载数组中有的地方用到了_array有的地方用到了self.array 原因是_array是直接访问,而se ...
- UICollectionView的注册
UICollectionView的dataSource中的item的注册 itme的注册和tableview中cell的创建是不同的 cell的创建是在cell中 而itme的注册是在viewDidL ...
- 解决:[WARNING] fpm_children_bury(), line 215: child 2736 (pool default) exited on signal 15 SIGTERM after 59.588363 seconds from start
试用Nginx + PHP FastCGI 做WEB服务器,运行了几个月的时间,烦恼的是经常碰到Nginx 502 Bad Gateway 这个问题. 参考了很多修改办法,这个502的问题一直存在,今 ...
- RePlace函数
<html><body> <script type="text/javascript"> var str="Visit qq1!&qu ...
- 配置ip地址四种方法,方便学习linux的朋友
(1)Ifconfig命令 第一种使用ifconfig命令配置网卡的ip地址.此命令通常用来零时的测试用,计算机启动后 ip地址的配置将自动失效.具体用法如下.Ipconfig ethx ip ...
- intell-
intellect: n.[U, C] the ability to think in a logical way and understand things, especially at an ad ...
- HDU 1009 FatMouse' Trade【贪心】
解题思路:一只老鼠共有m的猫粮,给出n个房间,每一间房间可以用f[i]的猫粮换取w[i]的豆,问老鼠最多能够获得豆的数量 sum 即每一间房间的豆的单价为v[i]=f[i]/w[i],要想买到最多的豆 ...
- 21_HTML&CSS
今日内容: 1. HTML标签:表单标签2. CSS: HTML标签:表单标签 * 表单: * 概念:用于采集用户输入的数据的.用于和服务器进行交互. * form:用于定义表单的.可以定义一个范围 ...
- Eclipse中使用GIT提交文件至本地
GIT提交文件至本地: 1. 右击项目——Team——Commit…: 2.在弹出的Commit Changes框中——选择要提交的文件——填写提交说明——点击Commit,即可提交至本地.