2010-07-24 57 views
6

Tôi cần lưu trữ dữ liệu để sử dụng trong chương trình Android của mình. Dưới đây là chi tiết về dữ liệu:Phương pháp tốt nhất để lưu trữ bảng dữ liệu chỉ đọc nhỏ này trong điện thoại Android là gì?

  • Sẽ có một bảng. Mỗi "hàng" dữ liệu sẽ có một mã định danh INT duy nhất. Khác thì trường đó, sẽ có bốn trường INT khác và một trường văn bản. Trường chuỗi có thể dài 2 hoặc 3 câu. Mỗi trường trong số 4 INT sẽ tương ứng với ID của các hàng khác.

  • Sẽ có 100 hàng, có thể 200. Nhưng tất cả các hàng sẽ là chỉ đọc và được điền trước.

  • Dữ liệu sẽ được đọc thường xuyên và không tuần tự.

Câu trả lời đầu tiên để lưu trữ dữ liệu là rất nhiều lần, nhưng với thông tin cụ thể, phương pháp lưu trữ khác có thể hiệu quả hơn. Tôi mở cho bất kỳ đề xuất nào và các ví dụ mã luôn được chào đón!

+0

Tôi cảm thấy như đây là một loại câu đố suy nghĩ bên, câu hỏi là "Loại ứng dụng là gì ? " Một loại trò chơi "chọn cuộc phiêu lưu của riêng bạn" là điều đầu tiên xuất hiện trong đầu bạn. – MatrixFrog

+0

lol Vâng, giúp tôi lưu trữ một số dữ liệu, và có lẽ chúng ta sẽ tìm ra ;-) – Bromide

Trả lời

2

Làm thế nào về tệp xml hoặc cvs tĩnh trong nội dung của bạn? Nếu quá chậm để truy cập tệp mỗi lần bạn cần (vì bạn nói nó sẽ được đọc thường xuyên), bạn có thể phân tích cú pháp thành map (HashMap hoặc bất kỳ thứ gì trong Java) khi chương trình của bạn bắt đầu. Bạn cũng có thể đọc nó vào SQLite trong lần đầu tiên chương trình của bạn chạy, và sau đó sử dụng cơ sở dữ liệu đó từ đó, nhưng có thể bạn không cần phải làm điều đó.

+0

Tôi có thể bắt đầu với điều này, và sau đó chuyển sang SQLite hoặc một cái gì đó như sau này nếu tôi thấy nó là cần thiết. – MatrixFrog

+0

Hmm .. vì vậy khi tôi đọc XML, tôi sẽ đọc nó thành một HashMap. ID duy nhất sẽ là khóa của bản đồ và giá trị sẽ là một mảng các giá trị. Tôi có hiểu điều này đúng không? – Bromide

+0

Vâng, đó là những gì bạn sẽ làm nếu bạn quyết định đi với đề nghị của tôi. –

0

Phương pháp 1, sử dụng SQLite, nó hoạt động tốt và đã có trong Android. Có một ví dụ sqlite trên mạng (xin lỗi tôi đã mất url) - google it :)

Phương pháp 2, ghi tệp được truyền trực tuyến vào thẻ SD với dữ liệu của bạn! có một ví dụ trong ApiDemos làm điều đó và chỉ cần thêm một trình đọc tệp để thu thập dữ liệu của bạn từ một tệp phẳng tuần tự. Nôm.

Phương pháp 3, Viết nó làm bài đăng lên đám mây. Đang tìm kiếm mã để làm điều đó bản thân mình, xin vui lòng gửi một số ở đây để tiết kiệm thời gian của tôi ......

+0

3 phương pháp này thực sự quá phức tạp đối với một cơ sở dữ liệu 'tĩnh' nhỏ của thông tin như OP đang sử dụng. –

+0

Không, phương pháp SQLite là tốt nhất bạn có thể nhận được – ognian

Các vấn đề liên quan