• C#2Android 第一章 关于窗体


    在桌面开发中,窗体界面是最重要的开发方向之一。用户接触的都是人机交互窗体界面。在Android的开发中,窗体界面当然也是最主要的开发方向之一。而Android的窗体和桌面窗体开发有很大的区别。.Net中的C#是现在最流行的编程语言之一,现在主要介绍Android窗体和C#WinForm开发的异同。

    1>C# WiForm

    C#中 WinForm主要有两部分组成,1是窗体文件,2是代码文件。在窗体问中主要是存储的窗体中各个成员的默认属性,例如大小,颜色,位置等,在代码文件中当然存储的是各个成员的处理事件,方法等。

    clip_image002clip_image004

    clip_image006

    上面的C#Winform “Form1”, 就是一个名为”Form1”的Form类的子类,类文件被分为两个部分,分别是 “Form1.cs”中的”public partial class Form1 : Form ….” 和 “Form1.Designer.cs”中的”partial class Form1 ……”,这两部分和在一块,才是一个完成的C#WinForm类。

    2> Android 窗体的组成。

    在Android开发中,它的窗体也是有2部分组成,不过和C#不同的是,它的窗体是完全独立的两个部分,分别是一个 Activity的子类,和xml文件(叫做LayOut布局文件)。Activity存储的就是这个窗体各个成员的处理事件,方法等,对应C#中的Form1.cs,XML文件存储的就是窗体中各个成员的布局,默认属性等,对应C#中的Form1.Design。因为是完全独立的两个部分,他们的名字当然是可以完全不相关的命名方式。

    在C#中Form1就是一个窗体的组合,直接调用就可以啦。

    Android中就不能这样。一个窗体的组合,必须是Activity + xml 才算完整。在Activity中有onCreate()方法,在里面指定一个xml文件,在算组成了一个完整的窗体。

    clip_image008

    (Activity中的onCreate方法)

    clip_image010

    (main布局文件的界面)

    clip_image012

    (main布局文件的代码)

    就是把当前的Activity和”main”layout布局文件组合起来,组成了一个完整的窗体。就是在main布局文件中设定好各个成员控件的位置,属性等,在当前的Activity就可以处理他们的事件方法等。

    3>主界面(或程序默认的第一个界面)

    在C#开发中,Program.cs中指定了当前程序的主界面。

    clip_image014

    在Andorid开发中,存在一个AndroidManifest.xml文件,其中包含所有的”activity”类(相当于C#中的窗体类)的列表,其中主界面的要包含<intent-filter>成员。把要作为主界面的”activity”中加入<intent-filter>成员设置就可以啦,等同于C#的Program.cs中的”Application.Run(主界面窗体)”。如下图显示

    clip_image016

    3>多窗体

    在C#中,如果一个程序包含多个窗体,不用什么特殊的设置,只要多创建一个From类就可以啦。

    在Andorid中,也是多创建几个Activity类,不过要在AndroidManifest.xml中吧所有要显示的Activity都要列出来,否则要报错。如下图所示

    clip_image018

    4>跳转到另一个窗体。

    在C#中要跳转的另一个窗体的代码非常简单,就是新建一个窗体,并显示就可以啦。

    clip_image020

    在Andorid中要稍微麻烦一些,要用到”Intent”的用法(包含的按钮单击事件到下章再介绍),如下

    clip_image022

    myHello.this就是当前的窗体,OtherActivity.class就表示要跳转到的窗体。

    5>跳转窗体时的传参

    在C#中传参可以用属性的方式传参(本教程就不多讲C#的一些写法啦,只举例其中一种),并在跳转时调用,参数的类型只要是C#支持的类型就可以。

    clip_image024clip_image026

    在Android中,传参方式如下:

    clip_image028

    上面的代码中共有3个参数 1。”textintent”, 值是”123456”,2。”one”,值是一个变量”factorOneStr”,3。”two”,值是一个变量”factorTwoStr”.

    6>窗体传参时的接收

    在C#中也很简单,直接调用就可以啦。代码示例如下:

    clip_image030

    在Andorid中,先要提取,才能调用。代码示例如下:

    clip_image032

  • 相关阅读:
    二叉树的镜像
    Prototype 模式
    假如编程语言在一起聚餐
    从零开始——Ubuntu系统安装LAMP
    从零开始——Ubuntu系统配置与软件安装
    从零开始——制作Ubuntu系统U盘启动
    apt-get upgrade failure with libc
    再生龙Clonezilla备份Ubuntu系统
    Ubuntu上apache多端口配置虚拟主机的方法
    bash & Makefile & 正则表达式学习
  • 原文地址:https://www.cnblogs.com/cangfriend/p/2031036.html
Copyright © 2020-2023  润新知