2013-08-07 93 views
0

我們正在構建一個web應用程序和一個移動應用程序,我們正在使用mysql數據庫構建web應用程序。我不想爲移動應用程序使用單獨的sqlite數據庫,我想使用相同的mysql數據庫。任何人都可以提供這種可行性的見解和示例片段(如果可用的話)如何在線連接到mysql數據庫並提取數據在線訪問mysql數據庫android

+1

爲什麼不創建一個web服務來與您的數據庫進行交互 –

+1

Webservice?有關如何創建相同的輸入或示例? – bharath

+1

請查看本教程http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/ –

回答

1

您需要通過具有適當安全性的服務層公開數據庫。 說你的web應用程序是example.com,你需要使用登錄。所以你需要一個驗證登錄的服務,它將接受POST數據中的用戶名和密碼。

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("http://www.example.com/validateuser"); 
// Add your data 
List <NameValuePair> nameValuePairs = new ArrayList <NameValuePair> (2); 
nameValuePairs.add(new BasicNameValuePair("user", "foo")); 
nameValuePairs.add(new BasicNameValuePair("pass", "md5_string_of_input")); 

try { 
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
    try { 
     HttpResponse response = httpclient.execute(httppost); 
     String responseBody = EntityUtils.toString(response.getEntity()); 

    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} catch (UnsupportedEncodingException e) { 
    e.printStackTrace(); 
} 

東西喜歡發佈並從您的web應用程序獲得響應。請注意,這不是一個完整的答案你所要求的不能在這裏回答

+0

所以,實際上,您說的是從web應用程序而不是數據庫查詢本身? – bharath

+0

@bharath是的,你需要通過另一個Web層公開,直接暴露它不是一個好的選擇。 – GoodSp33d

+0

感謝您的投入,它的幫助,你能建議一些與此一起開發的應用程序嗎?任何應用程序作爲參考來幫助它進一步提高它? – bharath