Tôi hiện đang sử dụng Monodroid để phát triển một ứng dụng Android. Tôi khá mới đối với các ứng dụng điện thoại nên tôi bối rối về một vài điều sau:C# .dll trong ứng dụng Android
Định nghĩa nào là thư viện android? Tôi sử dụng mẫu Mono để tạo thư viện android: Tạo một Mono cho Android Class Library => viết mã và xây dựng thành .dll => chạy với trình mô phỏng từ Visual Studio và nó hoạt động tốt trong trình mô phỏng. Nhưng tệp .dll có phải là thư viện android không? Hoặc nó được chuyển đổi bởi Mono trước khi làm việc trên giả lập và thư viện android 'REAL' nên là JAR?
Tôi có thể trực tiếp sử dụng .dll đã xác định của mình được viết bằng C# để tạo ứng dụng này không? Tôi đã thử nó trong Mono bằng cách tham chiếu trực tiếp nó trong ứng dụng Android của tôi và nó được xây dựng, không có lỗi. Nhưng khi giả lập chạy ứng dụng này, nó bị mắc kẹt (vẫn không có lỗi) - cách đúng để sử dụng C# .dll trong dự án ứng dụng Android là gì?
Tôi nhận ra có khá một vài chủ đề thảo luận về mối liên hệ giữa C# và android và khoảng mono nhưng sau khi đọc tôi vẫn không thể có được xung quanh với thư viện này tham khảo vấn đề vì vậy nếu ai có thể cung cấp bất kỳ gợi ý/ý nghĩ sẽ là nhất đánh giá cao
Cảm ơn câu trả lời của bạn tại đây! Vì vậy, kể từ khi mã NET được chạy với thời gian chạy Mono không có nghĩa là, dll chỉ có thể được sử dụng cho các ứng dụng Android, cung cấp cài đặt Monodroid SDK? Bởi vì mục tiêu chính của tôi không phải là ứng dụng nhưng để chuyển một số thư viện C# sang thư viện android và cung cấp cho các nhà phát triển Android .. trong trường hợp đó, điều đó có nghĩa là ngay cả khi tôi đã tạo thành công dll tương thích với android, họ vẫn yêu cầu Monodroid để thực hiện thời gian chạy gói? – lynnyilu
Đúng vậy - một DLL được biên dịch bằng Mono cho Android sẽ chỉ hữu ích cho các ứng dụng được xây dựng bằng Mono dành cho Android. –
Nếu bạn muốn cung cấp một thư viện cho các nhà phát triển thì bạn nên có một dll được biên dịch cho nền tảng đó. Miễn là bạn chỉ sử dụng các lớp được hỗ trợ mà bạn có thể hỗ trợ nhiều nền tảng. Về lý thuyết ** Math.Round ** sẽ hoạt động giống nhau trên tất cả các nền tảng. Điều này giả định rằng việc thực hiện Mono phù hợp với việc thực thi Microsoft .NET cho tất cả các đầu vào (nó có khả năng kiểm tra bởi vì chúng đã kiểm tra đơn vị trên nó). –