現在我了解到,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?


就算直連資料庫沒問題,以後換資料庫呢?所以我們需要一個中間層
推薦閱讀:
相关文章