现在带有谷歌的Android操作系统的G1已经上市了(很快),Android平台会支持。net吗?
当前回答
更新:自从我在两年前写下这个答案以来,我们已经在Android上推出了Mono。这项工作包括几个步骤:将Mono移植到Android,将其与Visual Studio集成,为Mac和Windows上的MonoDevelop构建插件,并将Java Android api暴露给. net语言。现在可以在http://monodroid.net上找到
入门:http://monodroid.net/Welcome 文档:http://monodroid.net/Documentation 教程:http://monodroid.net/Tutorials
Android上的Mono基于Mono 2.10运行时,默认为4.0配置文件,使用c# 4.0编译器,并使用Mono的新SGen垃圾收集引擎,以及我们新的分布式垃圾收集系统,在Java和Mono之间执行垃圾收集。
下面的链接反映了截至2009年1月Android上的Mono,我保留了它们作为历史背景
多亏了Koushik Dutta和Marc Crichton的努力,Mono现在可以在Android上运行了。
你可以在这里看到它运行的视频:http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html
你可以在这里获得自己构建Mono的说明:http://www.koushikdutta.com/2009/01/building-mono-for-android.html
你可以在这里获得一个比较Mono的JIT和Dalvik的解释器的基准测试:http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html
当然,你可以在这里获得一个预配置的Mono映像(有关使用的详细信息,请参阅文章的底部):http://www.koushikdutta.com/2009/01/building-mono-for-android.html
其他回答
在我看来,将CLI字节码转换为Dalvik在技术上是可能的,并为一些核心功能(如集合、文件访问等)编写包装类,即使这将是一项艰巨的工作。
但是在android上运行。net桌面应用程序会让人感觉很陌生,因为它会有一个经典的类似windows的GUI,在触摸设备上不太好用。另一方面,如果您要在。net中编写类似android的GUI,则需要另一组包装器(注意,包装与上面提到的包装器相反)。
我不确定。net移动应用程序在android上是否会有原生的感觉,但我猜不会。
也许您对另一种方法感兴趣:您可以用Java语言编写应用程序。然后你可以通过Microsoft j#将其编译成。net(我知道它已经停止了,但你仍然可以下载并使用它),并在android上使用相同的Java代码。同样,这是为核心类,也就是业务逻辑,你必须再写两个gui。也许您也可以标记J2ME,如果您使用. net则无法做到这一点。
. net紧凑框架已移植到塞班操作系统(http://www.redfivelabs.com/)。如果。net作为一个“封闭的”平台可以移植到这个平台上,我看不出有什么理由不能移植到Android上。
更新:自从我在两年前写下这个答案以来,我们已经在Android上推出了Mono。这项工作包括几个步骤:将Mono移植到Android,将其与Visual Studio集成,为Mac和Windows上的MonoDevelop构建插件,并将Java Android api暴露给. net语言。现在可以在http://monodroid.net上找到
入门:http://monodroid.net/Welcome 文档:http://monodroid.net/Documentation 教程:http://monodroid.net/Tutorials
Android上的Mono基于Mono 2.10运行时,默认为4.0配置文件,使用c# 4.0编译器,并使用Mono的新SGen垃圾收集引擎,以及我们新的分布式垃圾收集系统,在Java和Mono之间执行垃圾收集。
下面的链接反映了截至2009年1月Android上的Mono,我保留了它们作为历史背景
多亏了Koushik Dutta和Marc Crichton的努力,Mono现在可以在Android上运行了。
你可以在这里看到它运行的视频:http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html
你可以在这里获得自己构建Mono的说明:http://www.koushikdutta.com/2009/01/building-mono-for-android.html
你可以在这里获得一个比较Mono的JIT和Dalvik的解释器的基准测试:http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html
当然,你可以在这里获得一个预配置的Mono映像(有关使用的详细信息,请参阅文章的底部):http://www.koushikdutta.com/2009/01/building-mono-for-android.html
Miguel de Icaza于2010年2月17日在他的博客上宣布,他们开始为android开发mono,并将其命名为MonoDroid。
这将类似于iphone上的MonoTouch,但适用于android。
它将提供绑定到android UI,所以应用程序将看起来和感觉live原生android应用程序。这将要求你编写一个android特定的UI。
但是,您将能够重用现有的较低级别库,而无需重新编译。
是的,这是可能的,也不会那么难。在这一点上,首先需要的是某种将MSIL转换为Dalvik字节码的转换器。由于这两种格式都是开源的,并且有良好的文档记录,因此不会有任何问题。
用c#或VB编写Android应用程序。NET将成为可能,问题是有多少。NET框架标准库将被支持。但这是另一个问题。
奥斯卡·雷耶斯写道: 我很确定如果谷歌手ANY 对。net感兴趣,他们会设计 Android还在 第一阶段,不是现在 生产阶段。我不是这个意思 不可能,我的意思是 他们不感兴趣。也许在嗯 呵呵,10年。
实际上,他们已经设计的东西与Java和。net非常兼容
他们不能一次做所有的事情,但如果你看看Android SDK,有一个叫做dx的工具。这个工具将Java字节码转换为Dalvik字节码,换句话说,你可以在Android上毫不费力地运行用Java编写的程序。现在。net也需要同样的工具。
考虑到. net和Java是如此的相似,这真的是一个时间问题。
ddimitrov写道: .Net->Java->Dalvik翻译即可 现在就完成 (http://dev.mainsoft.com/),但我 想你低估了缺少的 net库。当然有人可以 莫诺港,但它绝对是 非平凡的努力。
不需要移植Mono。Android已经有了VM和一些基本的API。所有需要的是CIL->Dalvik转换器和小的。net包装的Android API(也许一些标准的。net类的基本实现)。就是这样。
更新:.net已经在Android上运行了-你需要如上所述的产品名为Monodroid (http://monodroid.net)。
推荐文章
- BottomSheetDialogFragment的圆角
- 在应用程序启动时出现“无法获得BatchedBridge,请确保您的bundle被正确打包”的错误
- 我如何改变默认对话框按钮的文本颜色在安卓5
- 更改单选按钮的圆圈颜色
- 防止在ASP中缓存。NET MVC中使用属性的特定操作
- 如何在android中复制一个文件?
- adb找不到我的设备/手机(MacOS X)
- 转换为值类型'Int32'失败,因为物化值为空
- c#中有任何连接字符串解析器吗?
- MSBuild路径
- c#和Java的主要区别是什么?
- 在c#中创建一个特定时区的DateTime
- .NET中的属性是什么?
- 如何在新的材质主题中改变背面箭头的颜色?
- androidviewpager与底部点