Xamarin入门浅析

1. 安装

1) 使用标准安装流程(JDK1.6 -> Android SDK -> NDK -> Xamarin Studio -> Xamarin Visual Studio)

2) Android SDK Manager更改源,可时刻保持最新,一个镜像源地址:mirrors.neusoft.edu.cn;ubuntu.buct.cn;Port: 80,Android SDK的目录结构介绍,Android的一些相关资源 (http://ubuntu.buct.edu.cn/android/repository/)。

3) Windows端破解流程两步:替换IDE的Dll,两个位置,一个是VS的Common下,一个Xamarin Studio的bin下;替换对应版本的mandroid.exe和mtouch.exe

4) Mac端破解流程,Mac端只负责IOS相关的东西,不考虑在Mac端开发Android,首先要安装的东西包括:MonoFramework-MDK-3.12.1.3.macos10.xamarin.x86.pkg; monotouch-8.8.2.4.pkg ;XamarinStudio-5.8.2.7-0.dmg;(版本号注意要匹配,现在这一系列的版本号匹配的是Windows端的3.9.525)

装完之后主要要替换三个东西:/Developer/MonoTouch/usr/bin/mtouch-64;

Mtouch-64替换完毕后需要在终端执行命令:chmod a+x /Developer/MonoTouch/usr/bin/mtouch-64

然后替换/Applications/Xamarin Studio.app/Contents/Resources/lib/monodevelop/AddIns/Xamarin.Ide/Xamarin.Components.Ide.dll

最后替换

/Applications/Xamarin.iOS Build Host.app/Contents/MonoBundle/Xamarin.Components.Ide.dll

2. 模拟器

1) 可以不使用android的标准模拟器,使用Xamarin Android Player,据说性能要好一些,但是版权原因还没测试。

2) 如果使用标准模拟器,可配置硬件加速

a) 首先,你的CPU必须支持Intel虚拟化技术,如果支持进BISO打开

b) 使用 Android SDK 下载对应的 x86架构的系统镜像

c) 上Intel官网下载最新的HAXM虚拟引擎,或者直接用SDK下载

d) 下载后需要手动安装,如果双击安装无效,使用管理员权限运行CMD,执行安装目录下的那个Bat文件;如果提示不支持Intel虚拟化技术,但是我们确认是打开了的,可能是因为操作系统装了Hyper的原因,卸载Hyper重启再试一次

e) 进AVD创建基于X86的虚拟机

3.安卓引用的文件结构


文件夹


作用


Components


登录Xamarin账户可下载它官方提供的一些组件直接使用


Assets


存放字体、本地数据库、配置文件等一系列本地资源


Properties


除了常规的程序集版本号等信息,含包括Android程序的权限描述文件AndroidManifest.xml


Resources


包好Strings,images, layout等资源的文件夹,注意程序的视图界面也在该文件夹下,还包括一个AboutResources.txt资源描述文件

4. 安卓应用的逻辑结构

    安卓应用跟传统应用不一样,没有单点入口,应用和安卓操作系统紧密联系,操作系统可以随时将应用进程载入内存激活应用。因此应用中有一个Activity的概念,一个应用由很多Activity组成。

    Activity的特性:
         
    Label:告诉操作系统这个类属于哪个程序,它会去AndroidManifest.xml里去匹配。
    MainLauncher:告诉操作系统打开程序后激活哪个页面。
 
    Activity的生命周期
     created, started and paused, resumed and destroyed, and so on。
     通过重写基类的生命周期方法来实现自己的逻辑,如:OnCreate(应用程序被装载到内存中时调一次),OnResume(设备执行别的任务后,该Activity返回设备界面时触发),OnPause(设备将执行其他任务,该Activity离开设备界面时触发)
      

5. Xamarin.Forms相关

1) 简介

可以跨平台的构建用户交互相关的东西,简而言之就是写一套代码三个平台通用,在此基础上也能够结合各平台特有的Xamarin本地代码混合一起。

Forms除了跨平台的好处意外,还支持Xaml编写用户界面,不用借助Goft.Mvvm.light等第三方框架原生支持数据绑定等。

2) 使用前置条件

Android4.0以上;

IOS6.1以上;

开发环境VS2013;

解决方案必须是.Net4.5以上,PCL模板,Vs2013update2可使用SharedProject。

3) 适用程序


Xamarin.Forms


Xamarin.iOS & Xamarin.Android


以单纯数据展示为主


程序会用到特殊的交互


快速原型、概念类程序


界面UI经过精心设计的程序


只会用到很少的平台特殊功能(API)


会用到很多的平台特殊功能(API)


共享代码比用户UI更加重要


用户UI比共享代码更加重要

4) Xaml相关

Forms要针对各个平台做界面微调时OnPlatForm

5) FormsFQA

第一次运行Forms程序会提示“无法链接到远程服务器”,详细看这里

Verify the project is selected to be deployed in the Solution Configuration Manager.详细看这里

6. Mvvm相关

三套框架:MvvmCross、MvvmLight、XamarinFormsLab

http://blog.galasoft.ch/posts/2014/05/mvvm-light-v4-4-with-xamarin-android-support/?utm_source=tuicool

MvvmLight For Android要求Android版本在2.3(API10)以上

7. FQA

1) 一个纠缠很久的问题,Android设计界面中Layout无法加载,报什么网络错误,原因为Android SDK升级了最新的Tools到24.3,最新版的SDK会引起Xamarin出现这个错误,如果使用最新的Xamarin则已修复这个错误,如果不想更新Xamarin则需要进行SDK降级操作

2) 限制屏幕旋转功能,指定程序只能使用竖屏或横屏,参考《Xamarin Forms Preview Edition 2》第五章,88(PDF 101)页。

8. 其他资源

安装、破解:http://www.jianshu.com/p/c67c14b3110c

时间: 2024-08-25 08:17:23

Xamarin入门浅析的相关文章

xxe漏洞入门浅析

title: xxe漏洞入门浅析 categories: xxe漏洞 1,xml的前世今生 XML 指可扩展标记语言(Extensible Markup Language),与HTML非常像 XML作用 用来传输和存储数据,是开发领域里数据交换标准. XML与HTML异同 区别:HTML用来显示数据.XML可以用来存储数据.当数据量较小时,若将数据库存储,则应用需要在数据库中读取数据,会造成网络延时,占据数据库I/O口流量.若使用xml则可以直接读取,避免了网络延时和数据库I/O口流量占用.xm

DLL入门浅析【转】

 1.建立DLL动态库 动态链接库(DLL)是从C语言函数库和Pascal库单元的概念发展而来的.所有的C语言标准库函数都存放在某一函数库中.在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数代码,并把这些函数代码添加到可执行文件中.这种方法同只把函数储存在已编译的OBJ文件中相比更有利于代码的重用.但随着Windows这样的多任务环境的出现,函数库的方法显得过于累赘.如果为了完成屏幕输出.消息处理.内存管理.对话框等操作,每个程序都不得不拥有自己的函数,那么Windows程序将变得非常

Spring框架入门浅析

一.Spring Bean的配置 在需要被Spring框架创建对象的实体类的类声明前面加注解:@component.这样在Spring扫描的时候,看到该注解就会在容器中创建该实体类的对象.那么,Spring如何可以扫描到该类呢?在配置文件夹下,右键-new-Spring Bean Configuration File,然后创建该文件,文件名可以任意,这里设为"applicationContext.xml". 在applicationContext.xml中,需要配置Spring框架在加

DLL导出类避免地狱问题的完美解决方案

DLL动态链接库是程序复用的重要方式,DLL可以导出函数,使函数被多个程序复用,DLL中的函数实现可以被修改而无需重新编译和连接使用该DLL的应用程序.作为一名面向对象的程序员,希望DLL可以导出类,以便在类的层次上实现复用.所幸的是,DLL确实也可以导出类. 然而事实却没这么简单,导出类的DLL在维护和修改时有很多地方必需很小心,增加成员变量.修改导出类的基类等操作都可能导致意想不到的后果,也许用户更新了最新版本的DLL库后,应用程序就再也不能工作了.这就是著名的DLL Hell(DLL地狱)

Xamarin.Android快速入门

一.准备工作 1.创建一个空的解决方案,并命名为Phoneword 2.右击解决方案 新建->新建项目 并命名为Phoneword_Droid 二.界面 1.打开Resources文件夹->layout文件夹双击打开Main.axml 2.然后将会出现下面的界面 3.接着我们选择这个Button并删除(按下Delete),并从左边的工具箱中拖拽一个 Text(Large) 控件到该界面中,如下所示: 4.同时还要通过属性窗口修改Text的值: 5.紧接着拖拽一个Plain Text控件到之前的

Xamarin.iOS学习一:Hello.iOS 入门学习

介绍使用Xamarin开发iOS 在这两个章节里面,我们会使用Xamarin Studio 或者Visual Studio 创建第一个Xamarin.iOS程序并且去理解使用Xamarin开发iOS程序的基础概念.接着我们将会介绍创建和部署iOS程序所需要的工具.概念和步骤. Hello.iOS 快速入门 首先我们将创建一个让用户输入字母和数字并且可以拨打号码的应用程序,最终效果图如下:

Xamarin.IOS之快速入门

本人利用业余的时间编写了关于Xamarin.Android的基础教程,获得了很多人的支持.但是笔者打心里想说的就是这个教程所能提供的知识太有限了,等笔者到新的工作后,会开始抓紧时间写一些实战开发中运用的技术以及技巧.现在笔者带着大家进入Xamarin.IOS的入门教程. 关于环境 如果读者是破解的,那么mac这边的破解可能会伤脑筋,笔者使用的商业版的账号.当然我这里建议大家可以到淘宝购买,其实商业版如果以学校机构购买很便宜的.关于环境的讲解就到这吧,下面开始正题(这里推荐一个比较好的QQ群[23

Android基础入门教程——3.3 Handler消息传递机制浅析

Android基础入门教程--3.3 Handler消息传递机制浅析 标签(空格分隔): Android基础入门教程 本节引言 前两节中我们对Android中的两种事件处理机制进行了学习,关于响应的事件响应就这两种:本节给大家讲解的 是Activity中UI组件中的信息传递Handler,相信很多朋友都知道,Android为了线程安全,并不允许我们在UI线程外操作UI:很多时候我们做界面刷新都需要通过Handler来通知UI组件更新!除了用Handler完成界面更新外,还可以使用runOnUiT

【转】Xamarin.Android 入门之:Xamarin+vs2015 环境搭建

Xamarin.Android 入门之:Xamarin+vs2015 环境搭建 一.前言 此篇博客主要写了如何使用搭建xamarin开发的环境,防止我自己万一哪天电脑重装系统了,可以直接看这篇博客. 二.准备工作 在安装之前需要下载好xamarin所需要的软件并一个个安装他们: 1.visual studio 2015:http://news.mydrivers.com/1/439/439398.htm 2.xamarin 4.0.3.214: http://download.xamarin.c