使用C#开发Android应用


104

是否可以使用C#编写Android应用程序?是否有API或其他东西?它对个人和商业发展免费吗?

我需要安装什么才能在Visual Studio中安装android项目模板?


不确定可以使用C#的任何方式,但是可以尝试HTML5 ....(但有一些限制)
Dheeresh Singh 2012年

C#比Java更类似于目标C。iPhone使用的是前者,Android使用的是后者,因此如果您已经了解C#,那么尝试iPhone开发比使用Android开发更有意义。
Todd Davies 2012年

82
@ToddDavies我完全不同意说Java和C#是最相似的语言。实际上,我要说目标C根本不反映C#。
达伦(Darren)2012年

好吧,每个人都有自己的见解,但是我确信Java就像我最讨厌的第五位表弟一样,也符合Objective C:P
Todd Davies

1
+1 @DarrenDavies iOS的Mono绑定很难在某些地方(例如协议)表示其Objective-C等效项,但与Android直截了当地是1-1。
Danyal Aytekin 2013年

Answers:


63

您可以使用Mono for Android

http://xamarin.com/monoforandroid

另一种选择是dot42

http://www.dot42.com/

dot42提供免费的社区许可证以及专业许可证,价格为399美元。


请查看我在Seva Alekseyev的回复中添加的评论。
CoolArchTek 2012年

@CoolArchTek-您可以免费下载评估,但是,用于Android Professional的Mono为399美元,而Enterprise为999美元。store.xamarin.com
达伦(Darren)

13
为自己和您的伴侣编写一些应用程序,399美元实在让人望而却步。我希望“之间”有一些东西。考虑到Android + Eclipse是免费的,而Visual Studio Express是免费的,xamarin因其价格而大量缺失
cmroanirgo 2012年

1
@cmroanirgo Xamarin现在支持带有免费选项的基于订阅的模型-您不再需要购买Android的Mono。
詹姆斯

4
dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.截至2015年5月29日,http://www.dot42.com/在其网站上提供了此信息。他们确实有源代码下载GitHub
JabberwockyDecompiler 2015年

78

使用过Mono之后,我不推荐使用。Mono运行时与您的应用程序捆绑在一起,因此您的apk最终膨胀超过6MB。对于C#更好的编程解决方案是dot42。Mono和dot42均为许可产品。

就个人而言,我建议将Java与IntelliJ IDEA开发环境一起使用。我说这有3个原因:

  1. Android已经有太多的Java代码了。帮自己一个忙,不要重新发明轮子。
  2. IDEA与Visual Studio足够相似,因此值得学习。它是由JetBrains制造的,智能感觉比VS好。
  3. IDEA是免费的。

我从事C#程序员已有12年,并开始使用C#为Android开发,但最终跳船并走Java路线。这些语言是如此相似,您真的不会注意到很多学习曲线。

PS如果要使用C#固有的LINQ,序列化和其他便捷功能,则只需寻找等效的Java库。


4
谢谢,您的经验似乎很有用
Nightcoder

好的答案,但是如果Android应用程序将C#作为后端怎么办?
Krupal Shah 2014年

如果要为使用Web API构建的Web应用程序创建应用程序怎么办?
renakre 2015年

谢谢,您的意思是,如果我们使用Java使用android进行工作,那么我将从Google搜索中获取更多博客和资料。只有启动,以后才能听到一切正常。谢谢,我是C#开发人员,但我将使用Java启动我的应用程序。
mohd mazhar khan

21

这是一个新的(注意:处于“技术预览”阶段):http : //www.dot42.com

它基本上是一个Visual Studio加载项,可让您将C#代码直接编译为DEX代码。这意味着没有诸如Mono之类的运行时要求。

披露:我在这家公司工作


更新:所有来源现在都在https://github.com/dot42


6
我认为这不是讨论定价的正确位置,但请确保比较正确的许可证。我确实要注意,dot42随附了免费的非商业用途社区许可证。
Frank Rem

4
弗兰克(Frank),您绝对正确,我必须承认我没有注意到社区许可证。
Dave81

1
很好 任何评论,如果您将考虑为iOS创建C代码?
citykid

2
这太棒了!有没有安排UI设计器的计划?还是可以使用其他工具来做到这一点?优秀作品 !
Piotr Kula 2013年

2
实际上,目前尚无此类计划。您可以使用Android Studio来设计UI。然后,您可以在Visual Studio中导入这些资源。
Frank Rem

8

答案就是Mono Touch。

http://xamarin.com/monotouch


商业开发是否免费?我想为公司(他们的用户)开发一个应用程序。
CoolArchTek 2012年

他们拥有它,以便您可以免费使用其中的许多功能。但是要支付某种形式的许可费用
FoamyGuy 2012年

单声道是唯一的方法吗?有开源选项吗?
CoolArchTek 2012年

5
Mono是开源的IIRC。另外,您是否意识到在没有Microsoft的支持的情况下将整个C#(CLR)运行时移植到其他平台上的努力?甚至Mono都存在,这是一个奇迹。Google和MSFT是移动领域的直接竞争对手,C#是MSFT支持的技术。去搞清楚。
塞瓦·阿列克谢耶夫

6

我已经使用Unity 3D游戏引擎为PC和手机开发游戏。在此开发中,我们使用C#。


1
您所使用的Unity 3D游戏引擎版本的链接会很好。
杰西·奇斯霍尔姆


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.