惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 沉默天蝎的学习汇集

由浅入深:Python 中如何实现自动导入缺失的库?(转) itchat初步解读登录(转) 转:【开源必备】常用git命令 2.转发。基于itchat的微信消息同步机器人 1、初学探讨PYTHON的itchat和wxpy两库 学习git 新手。这个写的不错 转:android学习帖子大汇集 bat 切换单位和宿舍IP地址(转) [转]HTTP调试工具:Fiddler的使用方法介绍 使用VS2005的 ClickOnce 技术实现按需下载组件 转帖:麻雀虽小,五脏俱全-C# 创建windows服务、socket通讯实例 C# WinForm开发系列 - 文章索引 (转自peterzb) 非常经典的网络蜘蛛示例,我是转载在这里的 - 沉默天蝎的学习汇集 - 博客园 (转)三种模拟自动登录和提交POST信息的实现方法 (转自Timon's wang blogs)C#实现web信息自动抓取 (转)c#操作注册表大全 - 沉默天蝎的学习汇集 - 博客园 sql2005安装产生问题解决汇集 (转自斯克迪亚的博客)学柯南,用电脑拨电话! 看完最新的柯南后很好奇,正好有人写到了就转来了 转贴:VS2008如何转换为VS2005
(转)C#2Android
沉默天蝎的学习汇集 · 2011-05-06 · via 博客园 - 沉默天蝎的学习汇集

在桌面开发中,窗体界面是最重要的开发方向之一。用户接触的都是人机交互窗体界面。在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