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

Có thực sự cần thiết để tạo bảng SQLite mỗi khi ứng dụng khởi động?

Tôi nghĩ rằng bạn đang hiểu sai ở đây. Khi một đối tượng SQLiteOpenHelper được xây dựng, nó sẽ kiểm tra xem cơ sở dữ liệu SQLite có tồn tại hay không, nếu không, nó sẽ gọi onCreate () của nó (trong đó các nhà phát triển thông thường triển khai SQL tạo cơ sở dữ liệu)

Cập nhật:
@Clay Shannon:Tôi sẽ giải thích cơ chế hoạt động của dự án Eclipse và Android. Giả sử bạn sử dụng Eclipse để lập trình dự án Android. Dự án mới sẽ tạo một thư mục dự án trong không gian làm việc (trong trường hợp của bạn, đó là C:\ aXX3 &Space \ Android \ workspace và thư mục dự án là OnDemandAndAutomatic_Project ). Thư mục này sẽ chứa một số thư mục con như:src, bin, asset, res, ... Mỗi thư mục đều có vai trò riêng, và bạn quan tâm đến thư mục asset đúng không? Thư mục Assets được sử dụng để chứa các tệp tham chiếu (không thể hoặc bạn không muốn đưa vào thư mục res) như:tệp html, tệp âm thanh, tệp hình ảnh, tệp văn bản ... Khi Eclipse xây dựng apk từ dự án, các tệp này cũng được bao gồm trong apk. Khi bạn cài đặt apk trên thiết bị Android, apk được sao chép vào thư mục hệ thống Android và cũng tạo một thư mục chứa dữ liệu ứng dụng, như Dharmendra đã đề cập: / data / data / {packagename} / (tên gói chẳng hạn như com.google.app, v.v. và đường dẫn này dành cho hệ điều hành Android của thiết bị của bạn, không dành cho Windows).

Trường hợp của bạn ở đây là bạn muốn sử dụng cơ sở dữ liệu đã tồn tại của mình, vì vậy bạn cần triển khai một chức năng kiểm tra xem cơ sở dữ liệu của bạn có tồn tại hay không, nếu không hãy sao chép db của bạn vào đường dẫn cơ sở dữ liệu / data / data / {packagename} / databases / và gọi hàm đó khi ứng dụng của bạn khởi động. Và cách thực hiện đã được giải đáp tại đây Cách sao chép cơ sở dữ liệu hiện có từ ứng dụng này sang ứng dụng khác. Ngoài ra, đây là tài liệu tham khảo để truy cập tệp nội dung, trong trường hợp bạn không biết http://www.wiseandroid.com/post/2010/06/14/Android-Beginners-Intro-to-Resources-and-Assets.aspx

Hy vọng bây giờ bạn có thể giải quyết vấn đề của bạn. Lưu ý :db đã tồn tại của bạn phải là cơ sở dữ liệu SQLite, nếu không ứng dụng sẽ không nhận ra nó ngay cả khi bạn sao chép vào đúng đường dẫ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. SQLite JSON_EACH ()

  2. SQLite có

  3. CHẾ ĐỘ XEM DROP của SQLite

  4. 2 cách để chèn một dòng mới vào một chuỗi trong SQLite

  5. 3 cách sao lưu cơ sở dữ liệu SQLite