mono for android 4.2.7 破解版
难得的资源 Evaluation Version only deploys to emulators.Click to activete. 解决方法: Mono for Android 不是免费的,专业版授权费$399,企业版授权费$999 破解补丁在/mandroid文件夹里面 破解方法把在mandroid文件夹里面mandroid.exe 放到C:\Program Files\MSBuild\Novell或者C:\Program Files (x86)\MSBuild\Novell 我的第一个 Mono for Android 应用 Mono for Android 初体验, 学习怎么使用 Mono for Anrdoid 创建 android 应用, 如何使用 Intent 启动 Activity , 如何在 Activity 之间传递参数。 准备开发环境 下载并安装 Mono for Android 在 OSX 系统下准备 Mono for Android 开发环境时比较容易的, 只要去 Xamarin 下载一个在线安装程序, 安装程序会自动下载并安装所有的文件, 甚至包括 JDK、 Android SDK 等, 没什么好说的 , 一句话, 很简单。 配置 Android 模拟器 启动 MonoDevelop , 在 Tools 菜单下找到点击 “Open AVD Manager” , 将会启动 “Android Virtual Device Manager”, 创建一个新的 Android 虚拟设备, Name 为 Droid4.1, Target 选择 4.1, SD 卡选择 256, Skin 选择内置的 WXGA720 , 等等, 一切可以参考 Google 的文档。 需要注意的是, 要添加一个硬件选项 GPU emulation , 并设置为 true , 开启 GPU 模拟, 可以加快模拟器运行速度, 否则模拟器运行真的会很慢。 创建好了之后, 先运行一下模拟器, 确认一切配置正常了, 整个开发环境就算准备好了。 创建 Mono for Android 应用 打开 MonoDevelop , 选择新建解决方案, 左边的分类选择 "Mono for Android" , 右边选择 "Mono for Android Application" , 使用默认的模板新建一个 Mono for Android 应用程序, 如下图所示, 项目名称为 “MyFirstApp” 。 熟悉默认项目模板 现在, 先不要做其它的, 先来熟悉一下这个项目, 打开项目属性对话框, 看看每个节点都有什么设置项, 重点熟悉下面几个节点: •Build/General , 选择 Target Framework ,设置编译应用使用的 Android SDK 版本; •Build/Mono for Android Build , 设置如 Linker 、 部署方式、 以及高级标签下的的 CPU架构、 国际化等; •Build/Mono for Android Application , 设置应用程序信息, 也就是 AndroidManifest.xml 文件的信息; 项目默认的目录结构如下如所示: 注意 Assets 和 Resource 目录: Assets 目录, 如果应用需要用到二进制资源文件, 比如特殊字体、声音等, 放在这个目录下, 并将 BuildAction 设置为 AndrioidAsset , 资源将会和应用程序一起部署, 在运行时可以通过 AssetManager 使用类似下面的代码进行访问: public class ReadAsset : Activity { protected override void OnCreate (Bundle bundle) { base.OnCreate (bundle); InputStream input = Assets.Open ("my_asset.txt"); } } 另外,字体文件可以这样加载: Typeface tf = Typeface.CreateFromAsset( Context.Assets, "fonts/samplefont.ttf"); Resource 目录, 包含应用程序所需的图片、 布局描述、 二进制文件和字符串字典等资源文件。 比如, 一个简单的 Android 应用包含一个界面描述文件 (main.axml) , 一个国际化的字符串字典 (strings.xml) 以及图标 (icon.png) , 这些文件按照下面的结构保存在 “Resource” 目录内: Resources/ drawable/ icon.png layout/ main.axml values/ strings.xml 为了让编译系统能够将资源文件识别出 Android 资源, 需要将其编译动作 (Build Action) 设置为 “Android Resource”。 上面的目录结构经过编译之后, 将会生成类似下面的文件: public class Resource { public class Drawable { public const int icon = 0x123; } public class Layout { public const int main = 0x456; } public class Strings { public const int FirstString = 0xabc; public const int SecondString = 0xbcd; } } 使用 Resource.Drawable.icon 可以引用 drawable/icon 文件, Resource.Layout.main 可以引用 /layout/main.axml 文件, 而使用 Resource.Strings.FirstString 则可以引用 values/strings.xml 文件中的第一个字符串。 以上这些和 Android SDK 文档中介绍的都是大同小异的, 在 Mono for Android 环境下又加上了一些 .Net 特有的风格而已, 对于有经验的 .Net 开发人员来说, 一看就懂了。 创建 Activity 及 View 与其它平台的应用程序不同, 这些平台上的应用程序通常都有一个单一的入口 main 函数, 应用程序都由这个入口函数启动, 创建窗口、 维护界面。 而 Android 程序则不同, 一个 Android 程序由一些松散的 Activity 提供的界面组成, 因此看起来有点儿像 Web 应用程序, 任何一个 Activity 都可以通过 URL 启动。 现在来新建一个 Activity , 在菜单栏上选择 File -> New -> File , 在弹出的新建文件对话框中选择 Android Activity , 如下图所示: 新建的 Activity 的代码如下: [Activity(Label = "MyFirstApp", MainLauncher = true)] public class MainActivity : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); } } 注意 MainActivity 的 ActivityAttribute 标记, 这里指定了两个属性, Label="MyFirstApp" 表示 Activity 的显示名称, MainLauncher=true 表示在应用程序列表中显示, 在编译时, Mono for Android 会根据这些标记生成一个 AndroidManifest.xml , 并打包倒最终的 Android 应用程序中。 现在来创建 MainActivity 的视图, 先选中项目的 Resources/layout 目录, 在菜单栏上选择 File -> New -> File , 在弹出的新建文件对话框中选择 Android Layout , 如下图所示: 文件名输入 MainActivityLayout , MonoDevelop 默认会打开设计视图, 先切换到代码视图, 粘贴下面的代码: 然后切换到设计视图, 看起来如下图所示: 在 MainActivity.cs 文件中的 base.OnCreate(bundle) 下面加入下面一句代码, 让 MainActivity 使用 MainActivityLayout : this.SetContentView(Resource.Layout.MainActivityLayout); 用同样的方法, 创建 SecondActivity 以及 SecondActivityLayout , SecondActivityLayout 的代码以及设计界面如下: 使用 Intent 启动 Activity 并传递参数 如果现在运行程序, 将只能看到 MainActivity , 看不到 SecondActivity , 如果要想启动 SecondActivity , 就需要用到 Intent 。 Android 通过 Intent 来启动 Activity , 以及在 Activity 之间传递参数。 打开 MainActivity , 添加一些代码, 使其看起来如下所示: [Activity(Label = "MyFirstApp", MainLauncher = true)] public class MainActivity : Activity { public const string ExtraMessage = "Cn.Beginor.MyFirstApp.MainActivity.ExtraMessage"; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // 设置布局文件 this.SetContentView(Resource.Layout.MainActivityLayout); var sendBtn = this.FindViewById(Resource.Id.SendButton); // 为发送按钮添加事件处理函数 sendBtn.Click += SendButtonClick; } void SendButtonClick (object sender, EventArgs e) { // 获取用户输入的信息 var msgEditText = this.FindViewById(Resource.Id.MessageEditText); if (msgEditText == null) { return; } var msg = msgEditText.Text; // 创建 Intent 并传递用户输入的信息 var intent = new Intent(this, typeof(SecondActivity)); intent.PutExtra(ExtraMessage, msg); // 启动第二个 Activity this.StartActivity(intent); } } 再打开 SecondActivity , 添加接收 ExtraMessage 并显示的代码: protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // 设置布局文件 this.SetContentView(Resource.Layout.SecondActivityLayout); // 从 Intent 中获取 ExtraMessage var intent = this.Intent; var msg = intent.GetStringExtra(MainActivity.ExtraMessage); // 将 ExtraMessage 显示在 TextView 上 var textView = this.FindViewById(Resource.Id.MessageTextView); textView.Text = msg; } 现在运行这个程序, 可以看到首先启动的是 MainActivity , 显示界面如下: 点击 Send 按钮, 会启动 SecondActivity , 并将输入的信息显示在界面上: 总结 Mono for Android 初体验感觉不错, 对于有经验的 .Net 开发人员来讲, 上手的速度非常快, 只要稍微学习一下 Android 的 UI 方面的知识就可以了。 MonoDevelop 的界面和 VS 很相似, 上手也是很容易的事情。 还是那句话, Mono for Android 最大的好处是可以利用现有的 .Net 代码, CodePlex 以及 Github 上有丰富的资源可以利用, 如果你熟悉 .Net 开发, Mono for Android 也是值得一试的。 , 一句话, 很简单。 配置 Android 模拟器 启动 MonoDevelop , 在 Tools 菜单下找到点击 “Open AVD Manager” , 将会启动 “Android Virtual Device Manager”, 创建一个新的 Android 虚拟设备, Name 为 Droid4.1, Target 选择 4.1, SD 卡选择 256, Skin 选择内置的 WXGA720 , 等等, 一切可以参考 Google 的文档。 需要注意的是, 要添加一个硬件选项 GPU emulation , 并设置为 true , 开启 GPU 模拟, 可以加快模拟器运行速度, 否则模拟器运行真的会很慢。 创建好了之后, 先运行一下模拟器, 确认一切配置正常了, 整个开发环境就算准备好了。 创建 Mono for Android 应用 打开 MonoDevelop , 选择新建解决方案, 左边的分类选择 "Mono for Android" , 右边选择 "Mono for Android Application" , 使用默认的模板新建一个 Mono for Android 应用程序, 如下图所示, 项目名称为 “MyFirstApp” 。 熟悉默认项目模板 现在, 先不要做其它的, 先来熟悉一下这个项目, 打开项目属性对话框, 看看每个节点都有什么设置项, 重点熟悉下面几个节点: •Build/General , 选择 Target Framework ,设置编译应用使用的 Android SDK 版本; •Build/Mono for Android Build , 设置如 Linker 、 部署方式、 以及高级标签下的的 CPU架构、 国际化等; •Build/Mono for Android Application , 设置应用程序信息, 也就是 AndroidManifest.xml 文件的信息; 项目默认的目录结构如下如所示: 注意 Assets 和 Resource 目录: Assets 目录, 如果应用需要用到二进制资源文件, 比如特殊字体、声音等, 放在这个目录下, 并将 BuildAction 设置为 AndrioidAsset , 资源将会和应用程序一起部署, 在运行时可以通过 AssetManager 使用类似下面的代码进行访问: public class ReadAsset : Activity { protected override void OnCreate (Bundle bundle) { base.OnCreate (bundle); InputStream input = Assets.Open ("my_asset.txt"); } } 另外,字体文件可以这样加载: Typeface tf = Typeface.CreateFromAsset( Context.Assets, "fonts/samplefont.ttf"); Resource 目录, 包含应用程序所需的图片、 布局描述、 二进制文件和字符串字典等资源文件。 比如, 一个简单的 Android 应用包含一个界面描述文件 (main.axml) , 一个国际化的字符串字典 (strings.xml) 以及图标 (icon.png) , 这些文件按照下面的结构保存在 “Resource” 目录内: Resources/ drawable/ icon.png layout/ main.axml values/ strings.xml 为了让编译系统能够将资源文件识别出 Android 资源, 需要将其编译动作 (Build Action) 设置为 “Android Resource”。 上面的目录结构经过编译之后, 将会生成类似下面的文件: public class Resource { public class Drawable { public const int icon = 0x123; } public class Layout { public const int main = 0x456; } public class Strings { public const int FirstString = 0xabc; public const int SecondString = 0xbcd; } } 使用 Resource.Drawable.icon 可以引用 drawable/icon 文件, Resource.Layout.main 可以引用 /layout/main.axml 文件, 而使用 Resource.Strings.FirstString 则可以引用 values/strings.xml 文件中的第一个字符串。 以上这些和 Android SDK 文档中介绍的都是大同小异的, 在 Mono for Android 环境下又加上了一些 .Net 特有的风格而已, 对于有经验的 .Net 开发人员来说, 一看就懂了。 创建 Activity 及 View 与其它平台的应用程序不同, 这些平台上的应用程序通常都有一个单一的入口 main 函数, 应用程序都由这个入口函数启动, 创建窗口、 维护界面。 而 Android 程序则不同, 一个 Android 程序由一些松散的 Activity 提供的界面组成, 因此看起来有点儿像 Web 应用程序, 任何一个 Activity 都可以通过 URL 启动。 现在来新建一个 Activity , 在菜单栏上选择 File -> New -> File , 在弹出的新建文件对话框中选择 Android Activity , 如下图所示: 新建的 Activity 的代码如下: [Activity(Label = "MyFirstApp", MainLauncher = true)] public class MainActivity : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); } } 注意 MainActivity 的 ActivityAttribute 标记, 这里指定了两个属性, Label="MyFirstApp" 表示 Activity 的显示名称, MainLauncher=true 表示在应用程序列表中显示, 在编译时, Mono for Android 会根据这些标记生成一个 AndroidManifest.xml , 并打包倒最终的 Android 应用程序中。 现在来创建 MainActivity 的视图, 先选中项目的 Resources/layout 目录, 在菜单栏上选择 File -> New -> File , 在弹出的新建文件对话框中选择 Android Layout , 如下图所示: 文件名输入 MainActivityLayout , MonoDevelop 默认会打开设计视图, 先切换到代码视图, 粘贴下面的代码: 然后切换到设计视图, 看起来如下图所示: 在 MainActivity.cs 文件中的 base.OnCreate(bundle) 下面加入下面一句代码, 让 MainActivity 使用 MainActivityLayout : this.SetContentView(Resource.Layout.MainActivityLayout); 用同样的方法, 创建 SecondActivity 以及 SecondActivityLayout , SecondActivityLayout 的代码以及设计界面如下: 使用 Intent 启动 Activity 并传递参数 如果现在运行程序, 将只能看到 MainActivity , 看不到 SecondActivity , 如果要想启动 SecondActivity , 就需要用到 Intent 。 Android 通过 Intent 来启动 Activity , 以及在 Activity 之间传递参数。 打开 MainActivity , 添加一些代码, 使其看起来如下所示: [Activity(Label = "MyFirstApp", MainLauncher = true)] public class MainActivity : Activity { public const string ExtraMessage = "Cn.Beginor.MyFirstApp.MainActivity.ExtraMessage"; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // 设置布局文件 this.SetContentView(Resource.Layout.MainActivityLayout); var sendBtn = this.FindViewById(Resource.Id.SendButton); // 为发送按钮添加事件处理函数 sendBtn.Click += SendButtonClick; } void SendButtonClick (object sender, EventArgs e) { // 获取用户输入的信息 var msgEditText = this.FindViewById(Resource.Id.MessageEditText); if (msgEditText == null) { return; } var msg = msgEditText.Text; // 创建 Intent 并传递用户输入的信息 var intent = new Intent(this, typeof(SecondActivity)); intent.PutExtra(ExtraMessage, msg); // 启动第二个 Activity this.StartActivity(intent); } } 再打开 SecondActivity , 添加接收 ExtraMessage 并显示的代码: protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // 设置布局文件 this.SetContentView(Resource.Layout.SecondActivityLayout); // 从 Intent 中获取 ExtraMessage var intent = this.Intent; var msg = intent.GetStringExtra(MainActivity.ExtraMessage); // 将 ExtraMessage 显示在 TextView 上 var textView = this.FindViewById(Resource.Id.MessageTextView); textView.Text = msg; } 现在运行这个程序, 可以看到首先启动的是 MainActivity , 显示界面如下: 点击 Send 按钮, 会启动 SecondActivity , 并将输入的信息显示在界面上: 总结 Mono for Android 初体验感觉不错, 对于有经验的 .Net 开发人员来讲, 上手的速度非常快, 只要稍微学习一下 Android 的 UI 方面的知识就可以了。 MonoDevelop 的界面和 VS 很相似, 上手也是很容易的事情。 还是那句话, Mono for Android 最大的好处是可以利用现有的 .Net 代码, CodePlex 以及 Github 上有丰富的资源可以利用, 如果你熟悉 .Net 开发, Mono for Android 也是值得一试的。
用户评论
不能用。可能版本對不上。
下载了 还能用吗
只有一个文件,也不知是安装还是用于破解。
我双击了没有弹出安装界面呢?
虽然资源很好,但是我还是没弄懂怎么装,看来我还要继续充充电。。
还不错,不过不是我找的型号
研究了下 作用不大,
根本不能用!骗人的!!后来的不用浪费时间和流量了!!
文字详细,但是不是全不内容
用是能用的,不过这个版本在Vs2012下集成有点问题(我的机上有问题),可以在海**盗**湾上下载新的版本。