Mono简介

news/2025/1/13 11:51:14/
 Mono项目由著名Linux桌面GNOME创始人Miguel de Icaza发起,创建于2001年,先由其公司Ximian主持,后随Ximian并购于Novell.

    Mono是一个开源软件平台,是符合ECMA标准的.NET Framework开源现实。它包括一个C#编译器,一个公用语言运行时环境,以及相关的基类库和mono类库。

    Mono可以让.NET程序跨平台运行在Linux,BSD,Windows,MacOS,Sun Solaris,Wii,索尼PlayStation,苹果iPhone等几乎所有常见的操作系统之上。

    Mono已经原生代码支持86,X86-64,Ia64,PowerPC,SPARC(32),ARM,S390,S390x(32-64)等几乎所有存在的计算机系统,对于不能直接支持的计算机系统,也可以通过代码解释器支持。
    
    Mono的公用语言运行时支持编程语言的集成与互操作能力,有许多语言已经有提供了兼容于Mono CLR编译器,这些语言包括了:C#、Java、Boo、Nemerle、Visual Basic.NET、Python、Java Script、Oberon、Object Pascal、C、A#(ADA)、PHP、Kylix.NET、MonoLogo、Tachy(Scheme)等。
   
   Mono的优点不仅仅是跨平台,它更具有丰富的API。除了ECMA/ISO标准的CLI(Common Language Infrastructure)API之外,Mono也具有兼容于微软Windows Forms、ADO.NET、ASP.NET的API,和Mono自己的GUI API(Gtk#)。

   许多人也纷纷加入Mono的阵营,以Mono为基础,将许多既有的动态链接库包装成.NET版,例如:GdaSharp(源自GNOME Data Access,作用类似ADO.NET)、Cocoa#(源自MacOS X Cocoa)、X Sharp(源自X Windows)、Qt#(源自Qt)、Sharp WT(源自Java SWT)、wx.NET(源自wxWidgets)、CsGL(源自Open GL)、C#-SDL(源自SDL)、GeckoSharp(源自Mozilla Gecko)。Mono还有一个整合许多API的计划,称为Tao Framework。Tao整合了Cg、DevIL、FreeGLUT、GLFW、GLU、OpenAL、OpenGL、SDL、WGL。

  mono版本更新现已发布到2.6.4版。

  一句话总结:mono是一个跨操作系统和硬件平台、跨编程语言,兼容于.NET的运行环境、框架、开发平台和工具集。


   相关介绍:

   mono维基百科   http://zh.wikipedia.org/zh/Mono

   What is mono?  http://www.mono-project.com/What_is_Mono



于酷爱编程的朋友来说,怎么能够忘怀那个万人迷Hello World呢,很显然,这一篇也得从这里开始,当然前提条件是你已经安装了相关SDK并配置好MonoDroid开发环境,如果你还没有为此做好准备,请返回前一篇
    
    当准备工作做好以后,就可以开始了,很显然在vs.net中要创建一个MonoDroid Hello World与以前熟悉的那个Hello World一样,没有差别。

   文件--新建--项目--visual C#--MonoDroid Application,然后确定。  

   创建项目后,vs.net自动会创建一个Activity1.cs文件(如下),并打开它,实际上这是创建了一个Activity类的子类,至于Activity类是什么东西,有什么作用,并非Hello World要解决的问题。 

using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace MonoDroidApplication1
{
    [Activity(Label = "MonoDroidApplication1", MainLauncher = true)]
    public class Activity1 : Activity
    {
        int count = 1;
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Main);
            Button button = FindViewById<Button>(Resource.Id.MyButton);
            button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
        }
    }
}

    一个Activity是一个独立的应用实体,在一个应用程序中可能包含很多不同的Activity,修改一下上面的代码,在Activity1中,构建一个用户界面,代码如下:   

protected override void OnCreate (Bundle bundle)   
{   
    base.OnCreate (bundle);                
    var tv = new TextView (this);   
    tv.Text = "Hello, World";   
    SetContentView (tv);   
}

    至此,Hello World已经完成了,虽然你可能还不明白这些代码的实际意义,但总而言之,你用MonoDroid向世界示好了,这是所有程序员修炼的最境界了,也就是传说中的第一层。

    下面我们开始来运行这个程序了,如果你曾经是程序员,一定知道F5这个键,如果不知道也没有关系,工具栏上有一个绿色的三角符号非常抢眼。

    如果一切正常,首先会出现以下对话框,按“Start emulator image"即可。

    如果此前你已经建立过emulator image,就会出现图中Available images,当然要按“OK"了,否则,你得按“Create new emulator image",新建一个。

    请选择一个设备

    至此,MonoDroid Hello World已激动人心的展示在你的眼前了。



http://www.ppmy.cn/news/571318.html

相关文章

【软件教程】在Ubentu上使用Crontab设置定时任务

在Linux上使用Crontab设置定时任务 设置任务有两个方法 使用crontab –e (非root用户可以使用) 文章用的这个修改/etc/crontab文件&#xff08;只有root用户可以用&#xff09; 工具&#xff1a; finalshell 安装crontab&#xff08;ubentu&#xff09;&#xff1a; apt-get…

杨旸:从边缘智能迈向泛在智能

内容来源&#xff1a;2022年11月12日&#xff0c;在全球边缘计算大会上海站上&#xff0c;我们非常荣幸邀请到了特斯联集团首席科学家杨旸博士来分享&#xff0c;杨旸博士曾任上海科技大学教授、科道书院院长、上海雾计算实验室主任&#xff1b;科技部“第五代移动通信系统&…

CTF 杂项 隐写术 密码学及编码 取证技术

隐写术 隐写术( steganography ) : 将信息隐藏在其他载体中, 不让 计划的接收者之外的人获取到信息。 常见载体:图片、音频、视频、压缩包 图像隐写 图片:细微的颜色差别、GIF图多帧隐藏、Exif信息隐藏、图片修复 LSB(Least Significant Bit)最低有效位 像素三原色(RGB)通过…

B.Namomo子串(模拟DP)

B.Namomo子串(模拟&DP) 思路&#xff1a;简单模拟& d p dp dp。 显然我们只需每次找到 n a m o m o namomo namomo类型的串&#xff0c;然后枚举循环次数。 假设从长度为9开始(前两个 m o mo mo不计算) m o mo mo的个数 x x x个&#xff0c;显然 n a na na开头的贡献…

NAPI

NAPI 是 Linux 上采用的一种提高网络处理效率的技术&#xff0c;它的核心概念就是不采用中断的方式读取数据&#xff0c;而代之以首先采用中断唤醒数据接收的服务程序&#xff0c;然后 POLL 的方法来轮询数据。随着网络的接收速度的增加&#xff0c;NIC 触发的中断能做到不断减…

【SSM直击大厂】最终章:SSM 整合

&#x1f64a;&#x1f64a;作者主页&#xff1a;&#x1f517;求不脱发的博客 &#x1f4d4;&#x1f4d4; 精选专栏&#xff1a;&#x1f517;SSM直击大厂 &#x1f4cb;&#x1f4cb; 精彩摘要&#xff1a;学完了整个SpringSpringMVCMybatis基础知识&#xff0c;最后将三者整…

java web--Tomcat简介

javaweb--Tomcat简介 1.Tomcat概述2.Tomcat作为Servlet容器的基本功能3.Tomcat的组成结构4.Tomcat的工作模式 本文主要内容为Tomcat简介 1.Tomcat概述 Tomcat是一个优秀的servlet容器。Tomcat除了能够充当运行servlet的容器&#xff0c;还提供了作为Web服务器的一些实用功能&a…

渗透神器----Windows10 渗透工具包

前言 这几天一直有工作&#xff0c;所以就没有来的及去更新靶场还有CTF试题&#xff0c;接下来给大家更新一个优秀的工具&#xff1a;2022年最新Windows10 渗透工具包镜像 系统简介 基于Win10 Workstation 21H2 x64 MSDN原版镜像制作&#xff1b; 完整安装WSL Kali Linux 2…