Android手机客户端与服务器端的信息通信交互
2016-05-02 22:24
253 查看
今天在进行项目开发的时候,设计到数据库数据与手机客户端界面显示与修改的问题,也即客户端与服务器端的数据通信问题。当然,这种通信是基于统一的数据格式(JSON,据说还有其他类型,暂且不管了)。手机客户端现在采用的是Java语言,但服务器端采用什么语言呢?服务器端简单理解就是PC机上的程序开发问题,可以采用JAVA、PHP、.net等等,只要能提供给客户端侧 JSON格式的数据就可以。因为之前一直在同步地学习PHP,所以后台就考虑用PHP。其实其他语言也是相通。
在网上搜了一圈的资料,自己慢慢对这块也有了了解。JSON格式的数据说到底还是可以理解为键值,只不过可以无限制地嵌入。对于客户端,数据传送给服务器端是通过:
params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", userName));
//需要传递的参数:name
HttpEntity httpEntity = new UrlEncodedFormEntity(params, "utf-8");
//使用HttpPost类的setEntity方法设置请求参数
httpPost.setEntity(httpEntity);
……
此处省略http传递的一些代码,只是说明参数(name)的传递与接收。
客户发送到服务器端,php就通过$_POST['name']接收这一变量,这样就完成了客户端发送,服务器端接收的过程。
反过程:服务器端发送,手机客户端接收
php中用echo输出内容,如:
if($_POST['pwd']==$rs['password'])
{
echo "login succeed";
}
else
{
echo "error";
}
手机客户端接收:
//取出字符串
result=EntityUtils.toString(httpResponse.getEntity());
剥离出来就是这么一个传递过程。
在网上搜了一圈的资料,自己慢慢对这块也有了了解。JSON格式的数据说到底还是可以理解为键值,只不过可以无限制地嵌入。对于客户端,数据传送给服务器端是通过:
params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", userName));
//需要传递的参数:name
HttpEntity httpEntity = new UrlEncodedFormEntity(params, "utf-8");
//使用HttpPost类的setEntity方法设置请求参数
httpPost.setEntity(httpEntity);
……
此处省略http传递的一些代码,只是说明参数(name)的传递与接收。
客户发送到服务器端,php就通过$_POST['name']接收这一变量,这样就完成了客户端发送,服务器端接收的过程。
反过程:服务器端发送,手机客户端接收
php中用echo输出内容,如:
if($_POST['pwd']==$rs['password'])
{
echo "login succeed";
}
else
{
echo "error";
}
手机客户端接收:
//取出字符串
result=EntityUtils.toString(httpResponse.getEntity());
剥离出来就是这么一个传递过程。
相关文章推荐
- Android之Activity
- Android Studio 进阶详细配置
- 解决Android Studio倒入项目或者打开项目卡死
- android 小技巧
- 给大家推荐一些学习android的书籍(第一篇博客)
- Android 使用LayerDrawable自定制SeekBar的外观
- AndroidStudio项目提交(更新)到github最详细步骤
- Android ListView点击事件无反应
- 安卓中通过intent组件跳转到系统联系人编辑界面,及具体案例分析
- Android自学笔记(一)
- android sha1和签名证书的学习
- Android中常用的4大布局方式
- Android事件分发机制------------>验证+理解
- Android:采用SurfaceView设置无声视频
- Android:利用AndroidStudio开发java工程的办法
- android五大布局
- Android两种常见错误(ANR和FC)
- AndroidStudio之常用快捷键
- Android异步处理框架AsyncTask源码解析
- Android: studio 添加类似java蓝色编译文件