2015-01-13 114 views
2

讓我從開始說我們是android編程中的新手,但是在youtube和其他站點上使用各種教程學習基礎知識。我使用Netbeans IDE並安裝了Android SDK。我們要創建的應用程序基本上是一個應用程序,您可以在其中查看各種食譜。在Netbeans 8.0.2中爲Android應用程序創建數據庫

Sine Netbeans有這個Apache Derby數據庫,我在數據庫中添加了一些配方名稱。現在使用本網站的代碼http://www.homeandlearn.co.uk/java/java_and_databases.html,我試圖直接從onCreate類連接到數據庫。

問題是,當我運行一個模擬器時,它不輸出SQL語句。

public void onCreate(Bundle savedInstanceState) 
{ 


    try { 
    String host,uName,uPass; 
    host="jdbc:derby://localhost:1527/Recipes [dico on DICO]"; 
    uName="admin"; 
    uPass="admin"; 
    Connection con = DriverManager.getConnection(host, uName, uPass); 
    Statement stmt = con.createStatement(); 

    String SQL = "select NAME from BREAKFAST"; 
    ResultSet rs = stmt.executeQuery(SQL); 
    rs.next(); 
    String fName=rs.getString("NAME"); 
    System.out.println(fName); 


    } 
    catch(SQLException err){ 
     System.out.println(err.getMessage()); 
    } 


    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

} 
+1

像NetBeans這樣的IDE「有」Derby(無論「有」在這種情況下意味着)並不重要。 Android沒有德比。它肯定不應該在設備本身的'localhost:1527'上運行一個Derby守護進程。 – CommonsWare

+1

如果你想在設備上有一個分貝谷歌谷歌SQLite – tung

回答

1

你不希望有您直接從您的手機訪問PC中的數據庫,但你應該做的是無論是存儲在手機上的信息(如SQLiteORMLite)數據庫或通過連接到服務器的WebService遠程訪問數據庫,該服務器發回與數據庫內容相關的所需信息。

+2

爲了擴大此:當你在你的設備上運行你的android應用程序(模擬器/手機/平板電腦)比'localhost'是該設備。這不是運行IDE和Derby的開發人員機器。 – Radim

+1

謝謝。雖然我知道如何讓一個數據庫可以直接從我的智能手機訪問,但它仍然是可能的。我們不會發布這個應用程序,只是在課程中創建一個並學習這樣的錯誤。擁有SQLite會讓理論上的應用程序太大,不是嗎?但我會檢查出來 –

相關問題