2015-11-02 17 views
0

我可以如何完成上述操作? 我目前使用的應用程序使用JDBC Connector。
我的問題是?將Android應用程序與存儲在本地機器上的My SQL數據庫連接

在下面的步驟:

static final String DB_URL = "jdbc:mysql://localhost:3306/mess"; 
static final String USER = "root"; 
static final String PASS = "root"; 

public Connection connection_open(){ 
    Connection conn=null; 
    try{ 
     Class.forName("com.mysql.jdbc.Driver").newInstance(); 

     conn = DriverManager.getConnection(DB_URL,USER,PASS); 
     System.out.println("\n Connection inside DB = OK"); 
     } 

    catch(SQLException se){ 
     System.out.println("\n Connection inside DB = failed"); 
     se.printStackTrace(); 
     } 

    finally { 
     if(conn==null)System.out.println("\n Have to return NULL"); 
      return conn; 
     } 
} 

這總是輸出:

Connection inside DB = failed 
Have to return NULL 

所以,在DB URL的本地主機部分,我必須寫我的android手機的IP,我用來調試?
它甚至有可能,我的應用程序遠程連接(假設我已經授予的權限向全IP的)

請幫助:)

+0

localhost在您的手機中是指自己。所以,如果你有你的數據庫在本地機器(不在你的手機中),如果我沒有弄錯,你將不會做任何事情。嘗試構建一些訪問數據庫的Web服務,並將該Web服務公開給您的Android應用程序以供使用。 – Fustigador

回答

1

這是行不通的。首先,這是錯誤的:

static final String DB_URL = "jdbc:mysql://localhost:3306/mess"; 

本地主機將是你的android手機,它沒有任何MySQL數據庫。

您應該計劃一個web服務,負責處理對數據庫的所有請求並將結果發送回您的應用程序。

要訪問/連接到您的Web服務,您可以使用HttpURLConnection。

+0

*插入'Thank You'Gif。但是,我使用什麼Web服務?我聽說過Parse-Server,但似乎無法擺脫它的困擾。 –

+0

我的個人偏好是一個REST web服務。我更喜歡用Java編寫代碼,因此使用Jersey庫構建Web服務很容易。如果你在線搜索,你會發現大量的教程 – user3641702

0

你想達到什麼目的?

你的android應用程序應該保存並上傳數據到中央服務器位置? - 如果答案是肯定的,你的選項是解析(你已經嘗試過,我猜)或快速建立你自己的休息服務器API。我個人的最愛是Google App Engine上的python rest api服務器。 https://cloud.google.com/appengine/docs/python/

如果你的android應用程序應該保存android設備上的數據並且不需要與任何服務器通信,那麼創建sqlite數據庫的本地實例並存儲從中檢索數據。 嘗試了這一點 - http://satyan.github.io/sugar/

+0

不,我不能讓數據庫本地存儲在sqlite中。我必須通過應用程序使用接口並將請求同步到存儲在遠程服務器上的數據庫。 –

0

有,你可以在Android的。但對於你有交叉編譯爲ARM架構MySQL的源代碼becoz手機擁有ARM架構 可以使用Android NDK或運行MySQL數據庫的可能性arm gcc編譯器進行交叉編譯。一旦你複製你的庫,它會生成.so文件(在Linux中的擴展名)。你必須將這些庫添加到你的項目。然後使用jni,你必須編寫一個使用mysql函數的c程序。像crud操作,然後使用jni,那麼你必須從你的java代碼調用本地c程序。這樣你就可以做到這一點。我曾經這樣做過。但這是一項非常繁瑣而繁瑣的任務。

+0

是的。無法承受那麼多時間在一個混亂的開始。再次感謝 –

相關問題