2013-04-28 5 views
1

Quelle est la meilleure façon de mettre à niveau une application MonoDroid vers une application Android java et/ou vers une application HTML/js? E.g. le projet a un tas de fichiers .axml qui sont juste des fichiers de mise en page Android .xml quand vous les regardez, des trucs de style/choix .xml mis dans Drawable, et les fichiers .cs sont clairement juste en C# comme AsyncTasks et autres. Maintenant, le dossier Références Web doit être les appels de service/AJAX. Des trucs comme ceci: CFM.Service.User, References.Service.Reference.cs Web, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = null Migrer MonoDroid vers Java ou PhoneGap?

Comment puis-je coder pour cela en Java ou bien dans javascript? Quelle est la meilleure façon de sortir de cette base de code C# et d'accéder à une application Java Java ou à une application HTML/js (par exemple PhoneGap)? Quelqu'un a fait ça?

similaires [sans réponse] questions ici: Call SOAP webservice(Made in .NET) through Javascript et How to call .NET WSDL call in jQuery Javascript?

+5

Vous ne pouvez pas le mettre à niveau vers Java Android ou Phonegap. C'est en soi une rétrogradation. – Cheesebaron

+4

Qu'est-ce qui vous fait penser qu'une application Xamarin/MonoDroid n'est pas une "vraie" application Android? C'est certainement beaucoup plus "réel" ou natif qu'une application HTML/PhoneGap. –

+1

Faites-vous une faveur et familiarisez-vous avec Xamarin.Android. C'est tellement plus amusant de travailler qu'avec Java! – Redth

Répondre

0

n ° Migrer soit seraient en grande partie une ré-écriture. Le code C# de Xamarin est entièrement intégré à Android et est exactement parallèle à ce que l'on écrirait en Java; Ainsi, un programmeur en milieu de carrière qui connaît à la fois C# et Java pourrait le faire. C'est à dire. AsyncTasks, ProgressDialogs, tous les trucs normaux que l'on utilise en Java et fournis par Android sont également appelés depuis Xamarin.

Les mises en page et autres éléments ne seraient pas une réécriture: il suffit de les renommer en fonction des restrictions (minuscules, etc.) de la version Java d'android. On peut regarder dans ./obj/Debug/android/src et voir l'arbre complet des classes Java, donc on pourrait l'utiliser comme référence de départ. Ceux-ci simplement proxy à la DLL; Donc, ne sont pas la solution finale si l'on migrait vers Java. Je soupçonne que l'on pourrait jeter du code Java dans le mélange ici si, pour une raison quelconque, on voulait intégrer Java et C# dans Android. Cela peut être intéressant. (Ou utiliser Intents peut être une approche plus standard Android.)

Les autres réponses sont correctes, l'IDE Xamarin est un IDE de première classe et fonctionne bien. Particulièrement à propos si on a aussi des services .net en tant que backend pour l'application (menu cliquez sur l'importation de la wsdl dans les classes appelables, facile à regarder à travers le code dans les deux projets, etc).

Réponse courte est Xamarin fonctionne très bien pour vous permettre d'écrire C# et de produire une application Android.