Sviluppa app Android usando C #


104

È possibile scrivere un'app Android utilizzando C #? C'è un'API o qualcosa del genere? È gratuito per lo sviluppo personale e commerciale?

Cosa devo installare per avere un modello di progetto Android nel mio Visual Studio?


non sono sicuro del modo in cui C # possa essere utilizzato ma puoi provare HTML5 ..... (ma con qualche limitazione)
Dheeresh Singh

C # è più simile all'obiettivo C che a java. iPhone usa il primo, Android usa il secondo, quindi avrebbe più senso provare lo sviluppo per iPhone rispetto allo sviluppo Android se conosci già C #.
Todd Davies

82
@ToddDavies Non sarei assolutamente d'accordo e direi che Java e C # sono i linguaggi più simili. Infatti direi che Objective C non riflette affatto C #.
Darren

Bene, ognuno secondo la sua opinione, ma sono sicuro che Java stia per Objective C come lo sono per il mio cugino più odiato quinto rimosso: P
Todd Davies

1
+1 @DarrenDavies I collegamenti Mono per iOS faticano a rappresentare i loro equivalenti Objective-C in alcuni punti (ad esempio i protocolli) ma sono chiaramente 1-1 contro Android.
Danyal Aytekin

Risposte:


63

Potresti usare Mono for Android:

http://xamarin.com/monoforandroid

Un'alternativa è dot42:

http://www.dot42.com/

dot42 fornisce una licenza community gratuita e una licenza professionale per $ 399.


Per favore, dai un'occhiata al commento che ho aggiunto alla risposta di Seva Alekseyev.
CoolArchTek

@CoolArchTek: puoi scaricare l'evauluation gratuitamente, tuttavia Mono per Android Professional costa $ 399 e Enterprise $ 999. store.xamarin.com
Darren,

13
Scrivere alcune app per te e per i tuoi amici $ 399 è estremamente proibitivo. Vorrei che ci fosse qualcosa "in mezzo". Considerando che Android + Eclipse è GRATUITO e Visual Studio Express è GRATUITO, xamarin si sta perdendo molto, semplicemente a causa dei loro prezzi
cmroanirgo

1
@cmroanirgo Xamarin ora supporta un modello basato su abbonamento con un'opzione gratuita: non è più necessario acquistare Mono per Android.
James

4
http://www.dot42.com/ ha questo sul proprio sito a dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.partire dal 29/05/2015. Avevano un download sorgente e un GitHub .
JabberwockyDecompiler

78

Avendo usato Mono, NON lo consiglierei. Il runtime Mono è in bundle con la tua app, quindi il tuo apk finisce per essere gonfio a più di 6 MB. Una migliore soluzione di programmazione per C # sarebbe dot42 . Sia Mono che dot42 sono prodotti con licenza.

Personalmente, consiglierei di utilizzare Java con l' ambiente di sviluppo di IntelliJ IDEA . Lo dico per 3 motivi:

  1. C'è già così tanto codice Java là fuori per Android; fatevi un favore e non reinventate la ruota.
  2. IDEA è abbastanza simile a Visual Studio da essere un gioco da ragazzi da imparare; è prodotto da JetBrains e l'intelli-sense è migliore di VS.
  3. IDEA è gratuita.

Sono un programmatore C # da 12 anni e ho iniziato a sviluppare per Android con C # ma ho finito per abbandonare la nave e seguire la rotta Java. Le lingue sono così simili che davvero non noterai molto di una curva di apprendimento.

PS Se si desidera utilizzare LINQ, la serializzazione e altre utili funzionalità native di C #, è sufficiente cercare la libreria java equivalente.


4
Grazie, la tua esperienza sembra utile
nightcoder

bella risposta ma cosa fare se l'applicazione Android ha C # come backend?
Krupal Shah

cosa succede se voglio creare un'app per un'applicazione web costruita con l'API Web?
renakre

Grazie, i tuoi mezzi, se lavoriamo con Android usando java, riceverò più blog e materiali da Google. Solo l'avvio verrà ascoltato più tardi tutto bene. Grazie, sono uno sviluppatore C # ma inizierò la mia app utilizzando java.
mohd mazhar khan

21

Eccone uno nuovo (Nota: nella fase Anteprima tecnica): http://www.dot42.com

È fondamentalmente un componente aggiuntivo di Visual Studio che consente di compilare il codice C # direttamente nel codice DEX. Ciò significa che non sono previsti requisiti di runtime come Mono.

Divulgazione: lavoro per questa azienda


AGGIORNAMENTO: tutte le fonti sono ora su https://github.com/dot42


6
Non penso che questo sia il posto giusto per discutere dei prezzi, ma assicurati di confrontare le licenze corrette. Voglio sottolineare che dot42 viene fornito con una licenza comunitaria gratuita per uso non commerciale.
Frank Rem

4
Frank, hai assolutamente ragione e devo ammettere che non ho notato la licenza della community.
Dave81

1
simpatico. qualche commento se prenderai mai in considerazione la creazione di codice c per iOS?
citykid

2
Questo e spettacolare! Ci sono piani per inserire un designer dell'interfaccia utente? O posso usare un altro strumento per farlo? Lavoro eccellente !
Piotr Kula

2
In realtà, al momento non ci sono piani del genere. Puoi utilizzare Android Studio per progettare l'interfaccia utente. È quindi possibile importare tali risorse in Visual Studio.
Frank Rem,

8

Mono Touch è la risposta.

http://xamarin.com/monotouch


È gratuito per lo sviluppo commerciale? Voglio sviluppare un'app che sia per un'azienda (i suoi utenti).
CoolArchTek

Ce l'hanno in modo che tu possa usarne molti gratuitamente. Ma c'è una tassa di licenza di qualche tipo iirc
FoamyGuy

Mono è l'unico modo? Sono disponibili opzioni opensource?
CoolArchTek

5
Mono è IIRC open source. Inoltre, ti rendi conto dello sforzo di portare l'intero runtime C # (CLR) su una piattaforma diversa, con poco supporto da parte di Microsoft? È un miracolo che persino Mono esista. Google e MSFT sono concorrenti diretti nello spazio mobile, C # è una tecnologia supportata da MSFT. Vai a capire.
Seva Alekseyev,

6

Ho utilizzato il motore di gioco Unity 3D per sviluppare giochi per PC e telefoni cellulari. Usiamo C # in questo sviluppo.


1
Sarebbe utile un collegamento alla versione di Unity 3D Game Engine che utilizzi.
Jesse Chisholm


3

Sono infatti disponibili compilatori C # per Android. Anche se preferisco sviluppare app Android in Java, posso consigliare MonoForAndroid. Ulteriori informazioni sono disponibili su http://xamarin.com/monoforandroid

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.