Android SQLite 데이터베이스 소개



이 블로그는 Android SQLite 데이터베이스에 대한 소개를 제공합니다.

Android SQLite 데이터베이스 소개

Android SQLite 데이터베이스에는 모든 Android 기기에서 사용할 수있는 매우 적은 메모리 (약 250kb)가 필요합니다. 모든 장치에는 SQLite 데이터베이스에 대한 지원이 내장되어 있으며, 생성, 실행부터 프로세스 쿼리까지 Android에서 자동으로 관리됩니다.





SQLite는 모든 안드로이드 데이터베이스에서 사용할 수있는 오픈 소스 데이터베이스입니다. SQL 구문, 트랜잭션 및 SQL 문과 같은 표준 관계 데이터베이스 기능을 지원합니다. SQLite는 대부분의 SQL 명령이 SQLite 데이터베이스에서 실행되지 않는 SQL 데이터베이스의 경량 버전입니다. SQLite가 설치되면 SQLite에서 기능 또는 명령을 사용할 수 있어야만 실행할 수 있는지 확인하는 것이 중요합니다.

SQLite의 기본 장점 :



  • 경량 데이터베이스입니다.
  • 메모리가 거의 필요하지 않음
  • 자동으로 관리되는 데이터베이스

SQLite는 3 개의 데이터 유형 만 지원합니다.

  • Text (like string) – 데이터 유형 저장소 저장 용
  • Integer (like int) – 정수 기본 키 저장 용
  • Real (like double)-긴 값 저장

기본적으로 SQLite는 자체적으로 데이터 유형의 유효성을 검사하지 않습니다. 즉, 사용되는 데이터 유형이 무엇이든 유효한 것으로 간주됩니다.

예를 들어,이 경우 케이블 운영자의 데이터베이스가 논의되었습니다. 여기에서 이름 필드에 'text'가있는 새 테이블이 추가되고 'textfield'가 포함 된 필드 이름 상자가 추가됩니다. 임의 값 데이터 유형이 생성되었습니다. 최종 결과는 잘못된 데이터 유형이있는 테스트 테이블이며 SQLite가 데이터 유형의 유효성을 검사하지 않음을 보여줍니다.



* 패키지를 클릭하고 파일이 포함 된 데이터베이스 폴더의 데이터 폴더에 액세스하여 데이터베이스를 찾을 수 있습니다.

참고 : SQLiteOpen Helper 클래스는 데이터베이스 생성 및 버전 관리를 관리하는 데 사용됩니다.

로봇 프로세스 자동화 도구 비교

사용자 질문 :

db 버전 결과의 변경은 개체의 SQLite 버전의 변경입니까?

하나는 데이터베이스의 생성 / 업데이트를 처리하고 다른 하나는 데이터베이스의 테이블에 보관 된 데이터를 재생하므로 개체의 SQLite 버전에는 변경이 없습니다. 따라서 전혀 의존성이 없습니다.

돌아와서 SQLiteopenHelper 클래스를 확장하면이 클래스의 Oncreate 및 OnUpgrade 메서드를 덮어 씁니다. SQLite 데이터베이스에 액세스하면 쿼리의 복잡성에 따라 속도가 느려질 수 있습니다. SQL 쿼리가 실행될 때 최소한의 영향이나 재귀로 실행되는 쿼리를 피하는 것이 항상 선호됩니다. 또한 그것은데이터베이스를 동 기적으로 수행하는 것이 좋습니다.이러한 메서드는 프레임 워크에 의해 자동으로 처리되거나 호출됩니다. 또한 DB 버전을 올릴 때마다 자동으로 onUpgrade를 호출한다는 점에 유의해야합니다.

재정의와 오버로딩의 차이점은 무엇입니까

SQLite open helper 클래스에 대해 말할 때마다 데이터베이스 이름 및 버전이 확장 클래스의 생성자에 전달됩니다.

여기서 두 가지 사항을 고려해야합니다.

  • 데이터베이스가 없으면 OnCreate () 메서드가 호출됩니다.
  • 데이터베이스 버전이 업데이트되면 OnUpgrade () 메서드가 호출됩니다.

SQLite open helper 클래스는 생성자에 이름과 버전을 제공합니다. getwriteabledatabase ()가 호출되고 데이터베이스가 없으면 OnCreate가 수행됩니다. 데이터베이스가 존재하고 버전이 업데이트 된 경우 OnUpgrade ()를 호출합니다.

이 방법은 db의 firstcall에 있습니까?

예를 들어 보겠습니다. 애플리케이션을 설치하면 OnCreate가 생성되고 메서드 apk가 Google Play 스토어에 업로드됩니다. 최신 버전의 apk가 다운로드되면 이미 설치된 데이터베이스를 확인합니다. 더 높은 버전이있는 경우 업그레이드를 호출하고 그렇지 않은 경우 아무 작업도 수행하지 않습니다.

사용자 질문

DB 버전을 업그레이드하려면 사용자 권한이 필요합니까?

아니요, 권한이 필요하지 않습니다. 응용 프로그램 리소스를 작업 중이므로 권한을 구할 필요가 없습니다.

사용자 질문

자바의 세션은 무엇입니까

user1이 내 애플리케이션을 설치했고 DB 용으로 업그레이드 된 버전이고 이후에 user2가 새 애플리케이션을 설치하고 user1이 앱을 업그레이드하는 경우. 이러한 시나리오에서 버전 업그레이드의 user1이 호출되고 user2의 경우 create 메소드가 호출되면 모든 메소드가 android에서 제공됩니까?

예, 장치에 이미 설치된 버전이 없기 때문입니다. 기기에 이전 버전이 설치되어 있지 않으면 문제가되지 않습니다. 프레임 워크 처리와 매우 유사합니다.

사용자 질문

SQLite 데이터베이스 개체를 가질 수 있습니까? 내 DB 이름에충돌다른 db 이름 객체로?

데이터베이스는 응용 프로그램의 패키지 이름에 상주하므로 같은 이름의 하위 폴더가 생성 된 경우에도 충돌하지 않아야합니다. 루트 수준에서만 중요하며 루트 수준 처리는 패키지 이름의 도움으로 수행됩니다. 동일한 패키지 이름을 가진 두 개의 응용 프로그램을 가질 수 없지만 다른 패키지 아래에 두 개의 다른 db 이름을 가질 수 있습니다. SQLite 데이터베이스는 개체의 도움으로 데이터베이스 작업의 업데이트, 삭제, 삽입, 쿼리 및 닫기 및 열기를 처리합니다.

질문이 있으십니까? 댓글 섹션에 언급하시면 다시 연락 드리겠습니다.

관련 게시물: