Contact Us  
    Today
     
    03 8671 0111

안드로이드 데이터 베이스 예제

참고: 장기 실행될 수 있으므로 AsyncTask 또는 IntentService와 같은 백그라운드 스레드에서 getWrItableDatabase() 또는 getReadableDatabase()를 호출해야 합니다. [2013-05-05 17:34:18 – 데모액티비티] 응용 프로그램 패키지 `AndroidManifest.xml`은 최소 2개의 세그먼트가 있어야 합니다. 3 단계 – 이제 DatabaseHelper.java라는 새로운 Java 클래스를 만듭니다. 안드로이드 SQLite 네이티브 API는 JDBC가 메모리 제한 스마트 폰에 대한 너무 많은 오버 헤드 가 될 수 있기 때문에, JDBC아니다. 데이터베이스가 성공적으로 생성되면 데이터 / 데이터 / / 데이터베이스에 위치 / 안드로이드 장치 모니터에서 액세스 할 수 있습니다. public int getContactsCount() { 문자열 카운트쿼리 = “SELECT * FROM ” + TABLE_CONTACTS; SQLite데이터베이스 db = this.get읽을 수 있는 데이터베이스(); 커서 커서 = db.rawQuery(카운트쿼리, null); int 개수 = 커서.getCount(); 여기에 추가 된 줄 커서.close (); @Override 공용 void onCreate (SQLiteDatabase db) { 문자열 CREATE_TABLE = “+TABLE_NAME+”(“+TABLE_NAME+”(“+모든 열 + “); 개체가 MainActivity 클래스에서 만들어진 경우 MainActivity 클래스 이외의 활동에서 DatabaseHandler 메서드를 호출하려면 어떻게 해야 합니까? 또한 데이터베이스 처리기 클래스에서 오류가 있습니다. (cursor.close(); cursor.getCount() 값을 반환하기 위해 사용하므로 작성해서는 안 됩니다. 아마도 내가 뭔가 잘못하고 (나는 단지 2 일 동안이 안드로이드 스튜디오 / 자바 일을하고있다), 그러나 나는 `getContactsCount`기능이 나를 위해 작동하지 않았다 생각합니다. 나는 이것이 존재하지 않는 방법으로 반환하려고하기 때문이라고 생각한다 (닫히기).

cursor.getCount() 결과를 정수로 저장하고 커서를 닫은 다음 정수를 반환하여 해결했습니다. 그렇지 않으면, 그것은 좋은 일, 좋은 자습서 주셔서 감사합니다! @Override 공용 void onCreate(SQLiteDatabase db) { 문자열 쿼리 = “테이블 만들기 ” + TABLE_PRODUCTS + “(” + COLUMN_ID + ” 정수 기본 키 자동 증가, ” + COLUMN_PRODUCTNAME + ” 텍스트 ” + “”);; db.execSQL(쿼리); 좀 더 복잡한 앱과 데이터베이스를 가지고 있기 때문에 묻고 있으며, 커서 객체가 유출되어 있기 때문에 몇 가지 충돌이 시작됩니다. 이제 커서를 모두 닫고 있습니다. 하지만 지금은 또한 내 응용 프로그램에 대한 엄격한 모드를 활성화시도, 그것은 내가 SQLiteDatabase 개체를 닫고 있지 않다는 것을 밝혀 그들은 또한 누출 할 수 있습니다. 그렇다면 데이터베이스 처리기 클래스에 하나의 SQLiteDatabase 개체만 유지해야 합니까? SQLite데이터베이스 db = getWritable데이터베이스(); 문자열 deleteQuery = “에서 삭제 ” + 테이블 이름 +” 여기서 “+KEY_ID+” =?”; db.execSQL(deleteQuery, 새 문자열[]{String.valueOf(keyId)});; db.close(); 안드로이드에서 당신은 당신이 그렇게하는 것을 잊어 버린 경우 예외를 얻을 것이다, 그러나 당신은 당신의 응용 프로그램을 통해 데이터베이스에 여러 연결을 원하는 경우 당신은 명확하게 지정해야합니다. C#에서는 다중 ActiveResultSets=True를 사용하여 이 작업을 수행합니다. 당신이 그렇게하는 것을 잊어 버린 동시에 데이터베이스에 액세스하는 경우 (즉, 어떤 목적을 위해 여러 연결이 열립니다 – 한 테이블에서 읽고 동일한 데이터베이스의 다른 테이블에 작성해야합니다) 예외를 받게됩니다. 공개 무효 인쇄데이터베이스(){ Log.i(“db”, “데이터베이스 입력”); 문자열 dbString = dbHandler.databasetoString(); buckysText.setText(dbString); 버키입력.setText(“”); Log.i(“db”, “데이터베이스 종료”) Log.i(“db”, String.valueOf(dbHandler)); } } } 공용 보이드 추가ButtonClick (보기){ 제품 = 새로운 제품 (buckysInput.getText().toString()); dbHandler.addProduct (제품); printDatabase (); } 1.

Accredited with:

excellence and integrity

JHL Civil Pty Ltd ABN 79144 907 514, 10A Phillip Court, Port Melbourne, Victoria (VIC), 3207 Australia
© Copyright JHL Civil 2013