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

Xamarin入门浅析的更多相关文章

  1. Xamarin入门,开发一个简单的练手APP

    之前周末用Xamarin练手做了个简单APP,没有啥逻辑基本就是个界面架子,MVVM的简单使用,还有Binding,Command的简单使用,还有一个稍微复杂点两个界面交互处理(子页面新增后关闭,父页 ...

  2. gulp的入门浅析

    阅读目录 介绍gulp 安装gulp gulpfile.js 运行gulp 介绍gulp的api 介绍gulp gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/c ...

  3. DLL入门浅析(5)——使用DLL在进程间共享数据

    转载自:http://www.cppblog.com/suiaiguo/archive/2009/07/21/90734.html 在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的 ...

  4. DLL入门浅析(4)——从DLL中导出类

    转载自:http://www.cppblog.com/suiaiguo/archive/2009/07/20/90663.html 前面介绍了怎么从DLL中导出函数和变量,实际上导出类的方法也是大同小 ...

  5. DLL入门浅析(3)——从DLL中导出变量

    转载自:http://www.cppblog.com/suiaiguo/archive/2009/07/20/90643.html 前面介绍了怎么从DLL中导出函数,下面我们来看一下如何从DLL中导出 ...

  6. DLL入门浅析(2)——如何使用DLL

    转载自:http://www.cppblog.com/suiaiguo/archive/2009/07/20/90621.html 上文我简单的介绍了如何建立一个简单DLL,下面再我简单的介绍一下如何 ...

  7. DLL入门浅析(1)——如何建立DLL

    转载自:http://www.cppblog.com/suiaiguo/archive/2009/07/20/90619.html 初学DLL,结合教程,总结一下自己的所得,希望对DLL初学者们有所帮 ...

  8. Android Dragger2快速入门浅析

    定Dagger2的基本介绍:dagger2是一个依赖注入框架,在编译期间自动生成代码,负责依赖对象的创建. 使用Dagger2的好处:为了进一步解耦和方便测试,我们会使用依赖注入的方式构建对象 (不使 ...

  9. DLL入门浅析【转】

     1.建立DLL动态库 动态链接库(DLL)是从C语言函数库和Pascal库单元的概念发展而来的.所有的C语言标准库函数都存放在某一函数库中.在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数 ...

随机推荐

  1. Thunder团队第三周 - Scrum会议1

    Scrum会议1 小组名称:Thunder 项目名称:i阅app Scrum Master:王航 工作照片: 杨梓瑞在拍照,所以不在照片中. 参会成员: 王航(Master):http://www.c ...

  2. vs调试时报503错误

    开发中遇到了一个神问题,困扰了几个月没解决. 在本机调试,或者用iis服务器直接指向项目目录,访问网页任何页面都是报503. 一直找不到原因,配置文件也修改了,还是解决不了. 今天20170110一次 ...

  3. iOS- 显示数据列表最常用的一个控件UITableView

    相信做过iOS的程序员,最熟悉的控件一定少不了UITableView,最常用的控件也一定少不了UITableView! 今天分享一下自己对UITableView的实现大体思路,和整理出来的学习笔记! ...

  4. 访问方式由http改为https curl:(51)

    系统访问由http变为https,先申请了CA证书,然后win下浏览器访问时没问题的,但是linux下通过curl的方式访问就报错: curl:(51) SSLcertificate subject ...

  5. try catch finally 与continue的使用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. 数据包从tcp->ip发出去

    ip_local_out->OUTPUT->dst_out->ip_output-> POSTROUTING -->ip_output_finish 上面的路径中啊,在O ...

  7. Tomcat 7优化配置

    Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面,分为系统优化,Tomcat 本身的优化,Java 虚拟机(JVM)调优.系统优化就不在介绍了,接下来就详细的 ...

  8. MATLAB strcmp

    比较两个输入字符串是否相等 c = strcmp(str1,str2)比较字符串 str1 与 str2 ,若完全相等则返回 1 ,不相等返回 0 str1 = 'hello'; str2 = 'he ...

  9. 【bzoj1901】Zju2112 Dynamic Rankings 离散化+主席树+树状数组

    题目描述 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤ ...

  10. C# 连接Oracle数据库以及一些简单的操作

    拖了很久今天终于在博客园写了自己第一篇随笔: 话不多说,我们直接进入正题: 1.连接数据库 using (OracleConnection conn = new OracleConnection(&q ...