2011-03-23 23 views
10

Trong ứng dụng của tôi, tất cả hình ảnh, trang HTML cục bộ, v.v. được đánh dấu là "Xây dựng nội dung hành động". Tôi vừa nhận ra rằng còn có "Tài nguyên".MonoDevelop: tác vụ xây dựng "Nội dung" so với "Tài nguyên" là gì?

Tôi nên sử dụng hình ảnh nào và hình ảnh nào cho trang HTML hiển thị trong UIWebView?

Hiện nay tôi sử dụng hình ảnh như thế này:

this.oImgLoginLogo.Image = UIImage.FromFile ("Data/Images/ball.png"); 

Nhưng trong Monotouch.Dialog tôi thấy dòng này:

static UIImage arrow = Util.FromResource (null, "arrow.png"); 

Nhưng arrow.png cũng được đánh dấu là "nội dung" ...?

Khó hiểu.

Disdavantages/advantage của mỗi tùy chọn là gì?

+0

Chúng tôi đã nhúng chúng và chúng được hiển thị bằng cách sử dụng chế độ xem web. Sau đó - nếu có kết nối - một phiên bản cập nhật của HTML được tải từ máy chủ. – Krumelur

Trả lời

2

Trong thế giới .NET, sự khác biệt là trong quá trình xây dựng một tệp được đánh dấu là Nội dung được sao chép vào thư mục đầu ra, trong khi tệp Tài nguyên trở thành một phần của bản thân tệp DLL.

AFAIK, MonoTouch không bao gồm các tài nguyên trong bản dựng, bởi vì nó không tồn tại trong iOS nên đó là lý do bạn luôn sử dụng Nội dung. Bước cuối cùng sau đó nén thư mục với tệp thi hành và tệp nội dung vào tệp .app, đó là cách iOS mong đợi nó. Điều tương tự cũng hợp lệ đối với MonoDroid.

Sự khác biệt giữa MonoTouch và MonoDroid trong API tồn tại vì ý tưởng của các khuôn khổ đó là dịch, gần như một, một trong các API có sẵn trong các nền tảng đó thay vì tạo một giao diện hỗ trợ tất cả các nền tảng như nhau.

+0

Cảm ơn bạn đã giải thích! – Krumelur

7

Tài nguyên được nhúng được nhúng vào tệp dll hoặc exe và có thể truy cập từ API phản chiếu .NET. Tệp nội dung là tài nguyên bó và được sao chép vào gói ứng dụng (chỉ đơn giản là một thư mục) và có thể truy cập được bằng API tệp hoặc API gói Apple của MonoTouch.

MonoTouch hỗ trợ tài nguyên được nhúng, nhưng chúng không đơn giản để sử dụng từ các API cụ thể của Apple, được thiết kế để sử dụng mọi thứ từ gói ứng dụng. Tuy nhiên, tài nguyên được nhúng có thể có ý nghĩa hơn khi bạn không xử lý các API của MonoTouch cụ thể hoặc khi bạn đang viết thư viện di động sang các nền tảng khác.

MonoTouch 4.0+ hỗ trợ tệp nội dung trong thư viện dll - đằng sau hậu trường, chúng được chuyển thành tài nguyên được nhúng khi thư viện được biên dịch, vì vậy bạn có thể chia sẻ nó thành một tệp dll duy nhất, sau đó chúng được giải nén gói ứng dụng khi ứng dụng được biên dịch.

Tôi đoán là MonoTouch.Dialog đang sử dụng tài nguyên được nhúng và không phải tài nguyên bó bởi vì đó là thư viện và có trước MonoTouch 4, do đó tệp được đánh dấu là Nội dung là lỗi trong dự án.

+0

Tuyệt vời khi nghe điều đó mhutch. Tôi không bao giờ có nhu cầu sử dụng tài nguyên nhúng, vì phần lớn thời gian tài nguyên chỉ là hình ảnh và tệp văn bản, nhưng nó luôn tuyệt vời để biết tùy chọn là có! –

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