• 开始mono开发


    使用mono框架开发android程序,第一步当然是构建开发环境,严格意义上说是使用 mono for android开发android程序。

    参考Mono for Android安装配置破解  mono for android官网上有一个一键安装包,但是安装不是很方便。

    整个环境涉及到很多组件,像搭建lamp环境一样,这些都可以自己安装完成。因为刚开始都涉及到破解版本问题,所以建议大家单个安装。 组件的功能需要搞清楚,有些还是很容易混淆的。

    mono是一个开源项目,而mono for android是一个运行时和开发堆栈。

    Android环境

    主要是JDK,AndroidSDK相关,如果不熟悉 可以参考这篇文章 体验phonegap3.0

    Mono Windows运行时 

    windows下使用mono环境 需要一个MONO 在windows下的运行时

    针对vs的mono开发工具是作为一个插件添加到vs的工具。

    Xamarin IDE

    mono有单独的开发工具MonoDevelop  官网,但是Xamarin提供的IDE名字叫XamarinStudio,实际上是MonoStudio4.0后改的名字。Xamarin Studio 下载地址 

    模拟器

    在IDE中开发应用需要借助设备,设备分模拟设备和真机。使用模拟器调试的整个过程就是把程序安装到模拟中,运行程序,在运行的过程中调试。根据我的测试,当那你的程序发生改变时, IDE会自动部署 安装,app到设备上,如果之前存在的安装,会先卸载。

     在Android环境中, adb.exe 工具用于直接操作管理android模拟器或者真实的andriod设备(手机).全称Android Debug Bridge

    它的主要功能有:

    * 运行设备的shell(命令行)

    * 管理模拟器或设备的端口映射

    * 计算机和设备之间上传/下载文件

    * 将本地apk软件安装至模拟器或android设备

    需要注意的是Mono环境安装不顺利,好多问题是因为android sdk安装有问题,比如环境变量设置不正确,版本不一致,安装不完整等。

    而对于adb,最新的SDK内部有一个调整 The adb tool has moved to platform-tools from tools directory

    ADB是一个客户端-服务器端程序, 其中客户端是你用来操作的电脑, 服务器端是android设备..

    先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk. 设备上不需要安装, 只需要在手机上打开选项设置-应用程序-USB调试(4.0:设备-开发人员选项)

    adb 有各个系统的版本的,Liunx,Mac,Windows,根据你自己的操作系统来选择要下载的Android SDK就可以使用adb命令了.

    adb工具中比较实用的几个命令

    查看设备 adb devices

    在设备管理中建立虚拟设备后,通过 adb devices查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

    启动和关闭 adb

    adb start-server

    adb kill-server

    遇到的问题:

    模拟器

    1 使用编译器时遇到一个问题,对于模拟器设备,设备列表里总是没有设备

    新建并刷新也不会有。之后我安装了BlueStacks,显示有所变化,BlueStacks是一个很好用的模拟器调试工具,稍后我会写一篇博文专门记录。

    其实设备列表里有没有设备无所谓了,点开新建虚拟设备,你新建过的设备都会列在那里,直接选择启动即可

    应用部署

    应用安装到模拟器出现错误

    Deployment failed. FastDev directory creation failed.

    解决方法:

    如下图,关闭fast deloyment

     

     Mono架构支持设置

    编译部署提示架构不支持相关的错误,可以尝试从以下几个方面解决

     Android 工程设置 支持多个平台

     

     为什么会出现架构支持的问题,因为android需要匹配不同架构的cpu,在新建虚拟设备时,如下图 你可以观察到每个虚拟设备所支持的平台。

    其实AndroidSdk 中提供了专门针对平台的包,可以按需求下载。

     ListView 内置视图不出现

    问题:没有显示系统默认的ListView 内置资源视图

    对于继承ListActivity 的Activity,使用ListView显示数据,可以利用默认的Androidn内置资源Android.Resource.Layout.SimpleListItem1布局视图,起初我根本找不到这个引用,最后发现是项目的命名空间是 Mono.Android,这会造成Android的命名空间冲突,默认的内置资源都不会出现

    string[] items = { };
            protected override void OnCreate (Bundle bundle)
            {
                base.OnCreate (bundle);
    
                try {
                    base.OnCreate (bundle);
                    items = new string[]{ "1", "2", "3", "4" };        
                    this.ListAdapter = new ArrayAdapter<string> (this, Android.Resource.Layout.SimpleListItem1, items);
    
                } catch (Exception ex) {
                    Toast.MakeText (this, "发生异常:"+ex.Message,ToastLength.Long).Show ();
                
                };
            }

    参考

    Mono for Android 4.2.5

    http://www.51mono.com/

    mono环境官方网站下载地址

    MVVM开发模式

    ADB命令详解

    Xamarin Mono For Android 4.10.01068

  • 相关阅读:
    说一说前端路由与后端路由的区别
    HTTP 8种请求方式介绍
    JavaScript 运行机制以及Event Loop(事件循环)
    常见的数据结构
    JS中常见的几种继承方法
    JS异步编程
    js中的数据类型,以及如何检测数据类型
    js面试题之手写节流函数和防抖函数
    前端面试题
    (八) SpringBoot起飞之路-整合Shiro详细教程(MyBatis、Thymeleaf)
  • 原文地址:https://www.cnblogs.com/needrunning/p/3439665.html
Copyright © 2020-2023  润新知