Розробка програми Android за допомогою C #


104

Чи можливо написати додаток для Android за допомогою C #? Є API чи щось таке? Це безкоштовно для особистого та комерційного розвитку?

Що потрібно встановити, щоб мати шаблон проекту Android в моїй Visual Studio?


не впевнений у будь-якому способі використання C #, але ви можете спробувати HTML5 ..... (але є деяке обмеження)
Dheeresh Singh

C # більше схожий на об'єктив C, ніж java. iPhone використовує перший, Android використовує останній, і тому було б більше сенсу спробувати розробку iPhone, ніж розробку Android, якщо ви вже знаєте C #.
Тодд Девіс

82
@ToddDavies Я б зовсім не погодився і сказав, що Java та C # - це найбільш подібні мови. Я б сказала, що мета C зовсім не відображає C #.
Даррен

Ну, кожен на свою власну думку, але я впевнений, що Java - це мета C, як і я до мого найнависнішого п’ятого видаленого кузена: P
Тодд Девіс

1
+1 @DarrenDavies Моно прив’язки для iOS борються за представлення своїх еквівалентів Objective-C у деяких місцях (наприклад, протоколи), але вони прямо на 1-1 проти Android.
Данял Айтекін

Відповіді:


63

Ви можете використовувати Mono for Android:

http://xamarin.com/monoforandroid

Альтернатива dot42:

http://www.dot42.com/

dot42 надає безкоштовну ліцензію громаді, а також професійну ліцензію на 399 доларів.


Погляньте, будь ласка, на коментар, який я додав до відповіді Севи Алексєєвої.
CoolArchTek

@CoolArchTek - евауляцію можна завантажити безкоштовно, однак Mono для Android Professional становить $ 399, а Enterprise - $ 999. store.xamarin.com
Даррен

13
Писати кілька додатків для себе та своїх товаришів по $ 399 надзвичайно забороняється. Я б хотів, щоб було щось середнє. Враховуючи, що Android + Eclipse БЕЗКОШТОВНО, а Visual Studio Express БЕЗКОШТОВНО, xamarin бракує на багато, просто через їх ціни
cmroanirgo

1
@cmroanirgo Xamarin тепер підтримує модель на основі підписки з безкоштовним варіантом - вам більше не потрібно купувати Mono для Android.
Джеймс

4
http://www.dot42.com/dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup. розміщує це на своєму сайті станом на 29.05.2015. У них було завантаження джерела та GitHub .
JabberwockyDecompiler

78

Користуючись Mono, я НЕ рекомендував би його. Час виконання моно в комплекті з вашим додатком, тож ваш APK закінчується більш ніж 6 Мб. Кращим програмним рішенням для C # буде dot42 . І Mono, і dot42 є ліцензованими продуктами.

Особисто я рекомендував би використовувати Java з середовищем розробки IntelliJ IDEA . Я кажу це з 3 причин:

  1. Для Android вже існує стільки Java-коду; зробіть собі прихильність і не вигадуйте колесо.
  2. IDEA настільки схожа на Visual Studio, що і для того, щоб засвоїти навчання; це зроблено JetBrains, і інтелект-сенс кращий, ніж VS.
  3. IDEA безкоштовна.

Я був програмістом на C # 12 років і почав розробляти для Android з C #, але в кінцевому підсумку стрибав на кораблі і їхав по маршруту Java. Мови настільки схожі, що насправді ви не помітите великої кривої навчання.

PS Якщо ви хочете використовувати LINQ, серіалізацію та інші зручні функції, які є рідними для C #, тоді вам просто потрібно шукати еквівалентну бібліотеку Java.


4
Дякую, ваш досвід здається корисним
нічний кодер

приємна відповідь, але що робити, якщо в додатку для Android є C # як бекенд?
Крупал Шах

що робити, якщо я хочу створити додаток для веб-програми, створеної за допомогою Web API?
renakre

Дякую, ваші засоби, якщо ми працюємо з Android на Java, то я отримаю більше блогів та матеріалів від Google. Тільки запустившись, ви почуєте пізніше все добре. Дякую, я розробник C #, але я запустити свій додаток із використання Java.
mohd mazhar khan

21

Ось новий (Примітка: на етапі попереднього перегляду Tech): http://www.dot42.com

В основному надбудова Visual Studio дозволяє компілювати свій код C # безпосередньо в код DEX. Це означає, що немає таких вимог, як Mono.

Розкриття інформації: Я працюю в цій компанії


ОНОВЛЕННЯ: усі джерела тепер на https://github.com/dot42


6
Я не думаю, що це правильне місце для обговорення цін, але обов'язково порівняйте правильні ліцензії. Хочу зазначити, що dot42 постачається з безкоштовною ліцензією спільноти на некомерційне використання.
Френк Рем

4
Френк, ти абсолютно прав, і мушу визнати, що я не помітив ліцензії громади.
Dave81

1
приємно. будь-які коментарі, якщо ви коли-небудь розглянете можливість створення коду c для ios?
citykid

2
Це круто! Чи є плани щодо розміщення дизайнера інтерфейсу? Або я можу використовувати інший інструмент для цього? Відмінна робота!
Пьотр Кула

2
Насправді таких планів наразі немає. Ви можете використовувати Android Studio для проектування інтерфейсу користувача. Потім можна імпортувати ці ресурси у Visual Studio.
Френк Рем

8

Mono Touch - це відповідь.

http://xamarin.com/monotouch


Це безкоштовно для комерційного розвитку? Я хочу розробити додаток для компанії (їх користувачів).
CoolArchTek

У них є так, що ви можете використовувати багато з них безкоштовно. Але є плата за ліцензію якогось
iirc

Моно - єдиний спосіб? Чи є варіанти відкритих джерел?
CoolArchTek

5
Моно є відкритим кодом IIRC. Крім того, чи усвідомлюєте ви намагання перенести весь цикл виконання C # (CLR) на іншу платформу, не маючи підтримки Microsoft? Це диво, навіть Моно існує. Google і MSFT є прямими конкурентами у мобільному просторі, C # - технологія, підтримувана MSFT. Піди розберися.
Сева Алексєєв

6

Я використовував ігровий двигун Unity 3D для розробки ігор для ПК та мобільного телефону. Ми використовуємо C # у цій розробці.


1
Посилання на те, яку версію Unity 3D Game Engine ви використовуєте, було б непогано.
Джессі Чизгольм


3

Дійсно є компілятори C # для Android. Незважаючи на те, що я віддаю перевагу розробці програм для Android на Java, можу порекомендувати MonoForAndroid. Більше інформації ви знайдете на http://xamarin.com/monoforandroid

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.