现在我了解到,android与伺服器的通讯格式有:

1. XML格式(android上使用SAX,DOM,PULL去解析)2. JSON格式(一个轻量级的数据传输格式,可以用JSON库或者GSON去解析)

现在的问题是:

我想用android跟伺服器连接,连接后,读取资料库(MYSQL),传输数据,暂时是传输(JSON格式),那么:1. 是不是应该直接让android连接伺服器上的Mysql呢?(这种做法好像不安全)

2. 或者是通过PHP来作为一个中间链接层,让PHP提供API给android端,PHP去读取Mysql中的数据?

3. 或者是还有其他的方法吗?啊啊啊,有点晕,求大神技术指导!


当然是第二种了
我只是试过第二种。

当然用servlet也可以。


毫无疑问,第一种是不可取的,直接连接资料库不仅不安全,而且不方便,密码直接保存在客户端,一旦被反编译,那相当于把资料库暴露在外人面前,而且当你想更改资料库密码时,旧有的APP也必须跟著升级,另外当用户数增多时这种方式对资料库的压力也相当大既然你已经确定了JSON格式,那用第二种方法就可以了,如果不想从头开始造轮子,也可以使用一些第三方开源库作为基础。
首先,伺服器一般是以json格式返回给前端,目前用Fiddler看大部分app的服务端都是返回json数据格式的。也有一些用XML等格式的。前端不建议直接连接资料库,不安全是其一,重要的是随著数据量的增加,增删查改等速度会变慢。

一般的处理方式是:前端api介面请求→伺服器(php、java、C++等)处理介面→从内存取数据→内存没有从资料库取→返回json数据到前端。


问主现在解决了吗?

我还有个疑问,如果连接伺服器端资料库,那么用eclipse编写的客户端用的是自身镶嵌的sqlite?


就算直连资料库没问题,以后换资料库呢?所以我们需要一个中间层
推荐阅读:
相关文章