Phát triển ứng dụng Android bằng C #


104

Có thể viết ứng dụng Android bằng C # không? Có API hay cái gì đó không? Nó có miễn phí cho phát triển cá nhân và thương mại không?

Tôi cần cài đặt những gì để có mẫu dự án android trong Visual Studio của mình?


không chắc chắn về bất kỳ cách nào mà C # có thể được sử dụng nhưng bạn có thể thử HTML5 ..... (nhưng có một số giới hạn)
Dheeresh Singh

C # giống với mục tiêu C hơn java. iPhone sử dụng cái trước, Android sử dụng cái sau, và vì vậy sẽ có ý nghĩa hơn nếu bạn thử phát triển iPhone hơn là phát triển Android nếu bạn đã biết C #.
Todd Davies

82
@ToddDavies Tôi hoàn toàn không đồng ý và nói rằng Java và C # là những ngôn ngữ giống nhau nhất. Trên thực tế, tôi sẽ nói Mục tiêu C hoàn toàn không phản ánh C #.
Darren

Vâng, mỗi ý kiến riêng của mình, nhưng tôi chắc chắn rằng Java là Objective C như tôi để ghét nhất anh em họ lấy ra thứ năm của tôi: P
Todd Davies

1
+1 @DarrenDavies Các liên kết Mono cho iOS đấu tranh để đại diện cho các tương đương Objective-C của chúng ở một số nơi (ví dụ: giao thức) nhưng chúng thẳng thắn 1-1 so với Android.
Danyal Aytekin

Câu trả lời:


63

Bạn có thể sử dụng Mono for Android:

http://xamarin.com/monoforandroid

Một thay thế là dot42:

http://www.dot42.com/

dot42 cung cấp giấy phép cộng đồng miễn phí cũng như giấy phép chuyên nghiệp với giá 399 đô la.


Hãy xem bình luận tôi đã thêm vào câu trả lời của Seva Alekseyev.
CoolArchTek

@CoolArchTek - bạn có thể tải xuống bản evauluation miễn phí, tuy nhiên Mono cho Android Professional là 399 USD và Enterprise là 999 USD. store.xamarin.com
Darren

13
Để viết một vài ứng dụng cho chính bạn và bạn bè của bạn, $ 399 là cực kỳ khó. Tôi ước có một cái gì đó 'ở giữa'. Xét rằng Android + Eclipse là miễn phí và Visual Studio Express là miễn phí, Xamarin đang bỏ lỡ rất nhiều, đơn giản chỉ vì giá của họ
cmroanirgo

1
@cmroanirgo Xamarin hiện hỗ trợ mô hình dựa trên đăng ký với tùy chọn miễn phí - bạn không cần mua Mono cho Android nữa.
James

4
http://www.dot42.com/ có điều này trên trang web của họ dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.kể từ ngày 29/5/2015. Họ đã tải xuống nguồnGitHub .
JabberwockyDecompiler

78

Đã sử dụng Mono, tôi sẽ KHÔNG giới thiệu nó. Thời gian chạy Mono đi kèm với ứng dụng của bạn, vì vậy, gói ứng dụng của bạn sẽ bị phình ra ở mức hơn 6MB. Một giải pháp lập trình tốt hơn cho C # sẽ là dot42 . Cả Mono và dot42 đều là những sản phẩm được cấp phép.

Cá nhân tôi khuyên bạn nên sử dụng Java với môi trường nhà phát triển IntelliJ IDEA . Tôi nói điều này vì 3 lý do:

  1. Đã có rất nhiều mã Java dành cho Android; hãy làm cho mình một việc và đừng phát minh lại bánh xe.
  2. IDEA đủ tương tự như Visual Studio để có thể dễ dàng học hỏi; nó được tạo ra bởi JetBrains và tri giác tốt hơn VS.
  3. IDEA là miễn phí.

Tôi đã là một lập trình viên C # trong 12 năm và bắt đầu phát triển cho Android với C # nhưng cuối cùng lại phải nhảy tàu và đi theo con đường Java. Các ngôn ngữ giống nhau đến mức bạn thực sự sẽ không nhận thấy nhiều đường cong học tập.

PS Nếu bạn muốn sử dụng LINQ, tuần tự hóa và các tính năng tiện dụng khác có nguồn gốc từ C # thì bạn chỉ cần tìm thư viện java tương đương.


4
Cảm ơn, trải nghiệm của bạn có vẻ hữu ích
nightcoder

câu trả lời hay nhưng phải làm gì nếu ứng dụng android có C # làm phụ trợ?
Krupal Shah

Điều gì sẽ xảy ra nếu tôi muốn tạo một ứng dụng cho một ứng dụng web được xây dựng bằng API Web?
renakre

Cảm ơn bạn, có nghĩa là, nếu chúng tôi làm việc với android bằng java thì tôi sẽ nhận được nhiều blog và tài liệu hơn từ googling. Chỉ có khởi động thì mọi chuyện mới ổn thôi. Cảm ơn bạn, tôi là nhà phát triển C # nhưng tôi sẽ bắt đầu ứng dụng của mình bằng java.
mohd mazhar khan

21

Đây là một cái mới (Lưu ý: trong giai đoạn Xem trước Kỹ thuật): http://www.dot42.com

Về cơ bản, nó là một phần bổ trợ Visual Studio cho phép bạn biên dịch mã C # của mình trực tiếp sang mã DEX. Điều này có nghĩa là không có yêu cầu về thời gian chạy như Mono.

Tiết lộ: Tôi làm việc cho công ty này


CẬP NHẬT: tất cả các nguồn hiện có trên https://github.com/dot42


6
Tôi không nghĩ đây là nơi thích hợp để thảo luận về giá cả, nhưng hãy đảm bảo so sánh các giấy phép chính xác. Tôi muốn lưu ý rằng dot42 đi kèm với Giấy phép Cộng đồng miễn phí để sử dụng phi thương mại.
Frank Rem,

4
Frank, bạn hoàn toàn đúng và tôi phải thừa nhận rằng tôi đã không nhận thấy giấy phép cộng đồng.
Dave81

1
đẹp. bất kỳ ý kiến ​​nếu bạn sẽ bao giờ xem xét tạo mã c cho ios?
citykid

2
Điều này thật tuyệt! Có kế hoạch nào để đưa vào một nhà thiết kế giao diện người dùng không? Hoặc tôi có thể sử dụng một công cụ khác để làm điều này? Công việc xuất sắc!
Piotr Kula

2
Trên thực tế, không có kế hoạch nào như vậy vào lúc này. Bạn có thể sử dụng Android Studio để thiết kế giao diện người dùng. Sau đó, bạn có thể nhập các tài nguyên đó trong Visual Studio.
Frank Rem

8

Mono Touch là câu trả lời.

http://xamarin.com/monotouch


Nó có miễn phí để phát triển thương mại không? Tôi muốn phát triển một ứng dụng dành cho một công ty (người dùng của họ).
CoolArchTek

Họ có nó để bạn có thể sử dụng rất nhiều miễn phí. Nhưng có một lệ phí giấy phép của một số loại iirc
FoamyGuy

Mono có phải là cách duy nhất? Có bất kỳ tùy chọn nguồn mở nào có sẵn không?
CoolArchTek

5
Mono là mã nguồn mở IIRC. Ngoài ra, bạn có nhận ra nỗ lực chuyển toàn bộ thời gian chạy C # (CLR) sang một nền tảng khác, với ít sự hỗ trợ từ Microsoft không? Đó là một phép lạ ngay cả khi Mono tồn tại. Google và MSFT là đối thủ cạnh tranh trực tiếp trong không gian di động, C # là công nghệ được MSFT hỗ trợ. Đi tìm hình.
Seva Alekseyev

6

Tôi đã sử dụng công cụ trò chơi Unity 3D để phát triển trò chơi cho PC và điện thoại di động. Chúng tôi sử dụng C # trong sự phát triển này.


1
Một liên kết đến phiên bản Unity 3D Game Engine mà bạn sử dụng sẽ rất hay.
Jesse Chisholm


3

Thực sự có sẵn trình biên dịch C # cho Android. Mặc dù tôi thích phát triển Ứng dụng Android bằng Java, nhưng tôi có thể giới thiệu MonoForAndroid. Bạn tìm thêm thông tin trên http://xamarin.com/monoforandroid

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.