2015-01-13 7 views
2

Google은 안드로이드 프로그래밍에 완전히 초보자이지만 YouTube 및 다른 사이트에서 다양한 자습서를 사용하여 기본 사항을 배우고 있다고 말함으로써 시작하겠습니다. Netbeans IDE를 사용하고 Android SDK를 설치했습니다. 우리가 만들고 싶은 앱은 기본적으로 다양한 요리법을 볼 수있는 앱입니다.Netbeans 8.0.2의 Android 앱용 데이터베이스 만들기

Sine Netbeans에는이 Apache Derby 데이터베이스가 있습니다. 데이터베이스에 몇 가지 래서 피 이름을 추가했습니다. 이제이 웹 사이트의 코드 (//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에는 Derby가 없습니다. 확실히 장치 자체의'localhost : 1527'에서 Derby 데몬을 실행해서는 안됩니다. – CommonsWare

+1

SQLite – tung

답변

1

당신은 당신이 PC에서 휴대 전화에서 직접 액세스 데이터베이스를 갖고 싶어하지만, 당신이 일을해야하는 (같은 SQLite 또는 ORMLite)를 휴대 전화에 정보를 저장하는 데이터베이스 중 하나입니다하지 않거나 데이터베이스 내용과 관련된 원하는 정보를 다시 보내는 서버에 연결하는 WebService를 통해 데이터베이스에 원격으로 액세스합니다.

+2

에 대한 장치 자체에 DB를 갖고 싶다면 다음을 확장하십시오 : 장치 (에뮬레이터/전화/태블릿)에서 'localhost'보다 안드로이드 응용 프로그램을 실행할 때 해당 장치가 확장됩니다. IDE 및 Derby를 실행하는 개발자 머신이 아닙니다. – Radim

+1

감사합니다. 내가 스마트 폰에서 직접 액세스 할 수있는 데이터베이스를 갖는 것이 얼마나 안전하지 않은지 알고 있었지만 여전히 가능합니다. 우리는이 앱을 공개하지 않을 것이며, 단지 하나를 만들고 과정 중에 이와 같은 실수를 배울 것입니다. SQLite를 사용하면 응용 프로그램을 이론적으로 너무 크게 만들 수 있습니다. 그렇습니까? 그러나 나는 그것을 조사 할 것이다. –