SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

SQLiteOpenHelper:phương thức onCreate () không được gọi trên thiết bị vật lý

Để tôi giải thích cho bạn một số điều.

Trong một ứng dụng để kết nối với cơ sở dữ liệu, chúng tôi chỉ định tên và phiên bản của cơ sở dữ liệu. Trong trường hợp này, những điều sau có thể xảy ra:

1) Không có cơ sở dữ liệu . Điều này có thể được ví dụ trong trường hợp của chương trình thiết lập ban đầu. Trong trường hợp này, bản thân ứng dụng phải tạo cơ sở dữ liệu và tất cả các bảng trong đó. Và xa hơn, nó đã hoạt động với cơ sở dữ liệu mới được tạo.

2) Cơ sở dữ liệu tồn tại , nhưng phiên bản của nó đã lỗi thời. Nó có thể là bản cập nhật trường hợp. Ví dụ, một phiên bản mới của chương trình cần các trường bổ sung trong bảng cũ hoặc bảng mới. Trong trường hợp này, ứng dụng phải cập nhật các bảng hiện có và tạo các bảng mới nếu cần.

3) Có một cơ sở dữ liệu và phiên bản thực tế của nó . Trong trường hợp này, ứng dụng đã kết nối thành công với cơ sở dữ liệu và đang chạy.

Như bạn đã biết, cụm từ "ứng dụng phải" tương đương với cụm từ "nhà phát triển phải", tức là đó là nhiệm vụ của chúng ta. Để xử lý các tình huống được mô tả ở trên, chúng ta cần tạo một lớp kế thừa cho SQLiteOpenHelper. Gọi nó là DBHelper. Lớp này sẽ cung cấp cho chúng ta các phương thức để tạo hoặc cập nhật cơ sở dữ liệu trong trường hợp chúng vắng mặt hoặc lỗi thời.

onCreate - một phương thức sẽ được gọi nếu cơ sở dữ liệu mà chúng tôi muốn kết nối - không tồn tại (đó là trường hợp của bạn)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 cách trả về giá trị không phải số trong SQLite

  2. Làm cách nào để thêm số hàng trống cụ thể trong sqlite?

  3. Cách gói các dòng văn bản dài trong kết quả SQLite

  4. Truy cập cơ sở dữ liệu của một ứng dụng từ một ứng dụng khác

  5. Bảng xóa nâng cấp Android Sqlite khỏi cơ sở dữ liệu