Mục đích trong Android là một cách thanh lịch để truyền thông điệp giữa các thành phần chưa được tách, nhưng nếu bạn muốn gửi thêm dữ liệu với Intent thì sao? Tôi biết bạn có thể thêm các loại giá trị khác nhau và các đối tượng thực thi Parcelable, như phần bổ sung, nhưng điều này không thực sự phục vụ cho việc gửi các kiểu do người dùng xác định cục bộ (tức là không phải trên giao diện từ xa). Bất kỳ ý tưởng?Làm cách nào để gửi các đối tượng dữ liệu tùy chỉnh có Intents trong Android?
Trả lời
Khi bạn nói cục bộ, điều đó có nghĩa là gửi các loại do người dùng xác định trên các Hoạt động/Dịch vụ cục bộ thuộc cùng một APK không? Miễn là loại do người dùng định nghĩa có thể chuyển nhượng được, nó có thể được gửi dưới dạng tính năng bổ sung theo ý định và có thể được xử lý trong onStartCommand() của dịch vụ/hoạt động.
Nếu bạn muốn vượt qua các đối tượng trong một quá trình duy nhất bạn có thể thực hiện riêng Application
để duy trì trạng thái toàn cầu của bạn:
lớp cơ sở cho những người cần phải duy trì trạng thái ứng dụng toàn cầu. Bạn có thể cung cấp thực hiện riêng của bạn bằng cách xác định tên của nó trong thẻ AndroidManifest.xml của của bạn, mà sẽ gây ra lớp đó là khởi tạo cho bạn khi quá trình cho application/gói của bạn là tạo.
ok, vậy hãy sử dụng Ứng dụng như một loại môi giới/lưu trữ cho dữ liệu được chia sẻ? – MalcomTucker
chính xác, bạn có thể thực hiện nó như một kho lưu trữ nếu bạn cần nó –
Trong loại, bạn có thể thực hiện các giao diện Serializable
và gọi phương thức Intent.putExtra(String, Serializable)
bao gồm nó trong mục đích. Tôi đã xem xét tự mình làm một vấn đề tương tự, nhưng đã chọn chỉ đưa dữ liệu vào một nhóm vì loại của tôi chỉ có hai trường và nó không đáng để nỗ lực.
Đây là cách nó có thể làm việc, giả định rằng bạn đã thực hiện Serializable
trên Foo:
Foo test = new Foo();
test.Name = "name";
test.Value = "value";
Intent intent = new Intent();
intent.putExtra("test", test);
- 1. Hiệu quả truyền dữ liệu đối tượng tùy chỉnh giữa các hoạt động Android [Mono Android]
- 2. Android lưu mảng đối tượng tùy chỉnh
- 3. Lưu trữ các đối tượng tùy chỉnh (Người dùng xác định obj) trong cơ sở dữ liệu Android SQLite
- 4. Vấn đề nhấp chuột đối tượng tùy chỉnh trong android
- 5. cách hiển thị dữ liệu tùy chỉnh từ các loại bài đăng tùy chỉnh
- 6. Tạo gói định dạng dữ liệu Xcode cho các đối tượng Obj-C tùy chỉnh
- 7. Đối tượng tùy chỉnh hiện có
- 8. Làm cách nào để lưu trữ vĩnh viễn đối tượng tùy chỉnh có thể đặt hàng?
- 9. Làm cách nào để kết hợp một số dữ liệu tùy chỉnh với HttpRequest hiện tại?
- 10. hiển thị dữ liệu đối tượng tùy chỉnh để ListBox WPF
- 11. Làm cách nào để tùy chỉnh Nút Gửi Facebook?
- 12. Làm cách nào để gửi các đối tượng trong các tệp tin NIB lên trước/sau?
- 13. Có cách nào để thêm siêu dữ liệu vào các đối tượng JavaScript không?
- 14. Làm cách nào để chia sẻ dữ liệu giữa các tác vụ Ant tùy chỉnh?
- 15. Các kiểu dữ liệu tùy chỉnh trong các mảng có nhiều mảng
- 16. Các loại dữ liệu tùy chỉnh SQLITE?
- 17. Làm cách nào để cập nhật đối tượng hiện có trong Dữ liệu chính?
- 18. Có cách nào truyền dữ liệu bổ sung qua các sự kiện tùy chỉnh không?
- 19. Làm cách nào để áp dụng phông chữ tùy chỉnh trong đối tượng văn bản vải?
- 20. Làm cách nào để thêm đối tượng tùy chỉnh trong Trình tạo giao diện?
- 21. Làm cách nào để POST đối tượng dữ liệu JSON lên máy chủ trong iOS5?
- 22. Tùy chỉnh chú thích dữ liệu trong dữ liệu động
- 23. GSON Deserializing Array của các đối tượng tùy chỉnh
- 24. Làm cách nào để thêm dữ liệu và trường tùy chỉnh vào màn hình Danh bạ trong Android?
- 25. Làm cách nào để tạo kiểu tùy chỉnh trong cơ sở dữ liệu quan hệ?
- 26. Kéo và thả đối tượng tùy chỉnh
- 27. Dữ liệu tùy chỉnh trong jQuery có thể sắp xếp?
- 28. Làm cách nào để có thể gửi nhanh các gói dữ liệu?
- 29. Cách gán thuộc tính tùy chỉnh cho đối tượng jQuery?
- 30. JTable, JComboBox sử dụng các đối tượng tùy chỉnh
tại địa phương như trong không qua aidl, và tất cả trong quá trình tương tự, cùng một ứng dụng. Vấn đề là, việc triển khai gói cho các kiểu dữ liệu tùy chỉnh phức tạp thực sự có thể khá đau đớn, khi tất cả những gì tôi cần làm là chuyển một đối tượng với Intent ... – MalcomTucker