Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 751|回复: 0

开发交流:Android界面互调具体应用方式解析

[复制链接]

该用户从未签到

发表于 2011-10-24 10:27:06 | 显示全部楼层 |阅读模式
Android操作系统中,对于界面的一些操作是用户需要掌握的最基础的知识点。我们可以通过这篇文章对Android界面互调的方法介绍,来初步了解一下再Android系统中对于界面的一些应用技巧

学到现在,我们发现,我们的实际程序都只在一个界面里转,但事实,我们需要写一些Android界面互调的页面,比如打电话界面,我们可能要弹出一个选择电话号码的列表等等。
在Windows界面中,大家都知道分成模式对话框和无模工对话框,但在手机界面中,我们也不能想象到,我个界面是很难同时显示在一个界面中的,因主屏幕很小。所以说在Android系统中,界面跟我们的Windows还是有不少区别的,Android界面中同一时间只能显示一个界面(Activity),但允许子界面中再调子界面,所以这样想来,在一个开启的程序中,如果调用了子界面后,其实在后面是生成了一个界面栈,如下图可以形式象的表示出:



在系统中,有一个优化处理方式是,一个程序可以且只有一个Activity,如果调用了子界面后,再把该程序隐藏到后台,如果系统不足时,系统会将弹出的Activity收回,只剩下一个最原始的Activity,这个主Activity,也可以说是程序的入口。


说了这么多,我们开始看看Android界面互调的具体实现方法,在一个Activity中怎样弹出另一个Activity吧:
通常,依我们的常规相当,启动界面无非就是指定一个新界面的具体类,然后调用某个方法咯,看代码:
Intent intent = new Intent(MainActivity.this, NewForm.class);  

startActivity(intent);//或startActivityForResult(intent, 1);
复制代码
这代码码到并不复杂,我们一项项分析:
Intent
这个具体我也不清楚怎么来翻译,主要就是用于界面之间的沟通吧,当然可能还有更多功能,以后再慢慢了解去!new Intent(MainActivity.this, NewForm.class);这里的创建就可以看到我们将NewForm这个类传入了。
startActivity
启动界面函数,传入的参数也就是我们定义好的intent。
startActivityForResult
这也是一个启动界面的函数,但与startActivity的区别就是,这个方法启动界面后,这个界面可以将返回值传入到父窗体中。至于这个参数1,目前还不是很了解,先用着吧。


其实这一步还是容易让我们接受的,好,再了解第二步,怎样传递参数?比如,我想做一个界面弹出一个人员列表,选一个人后,关闭界面,然后主界面就要知道我选择了哪一个值。
在Android界面互调实现中,我们传值采用的是Uri,这是一个用字符串拼接的信息,在系统中也有这么一个类,为什么不用Object而用Uri一个字符串呢,其实Object传递的信息固然多,但不规范,这个程序用Object来包装后,其他程序就不知道怎么样解释你这个Object了。而Uri一个字符串可用的将各种资源HTML文档、图像、视频片段、程序等由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。
Uri分成三部份:访问资源的命名机制;存放资源的主机名;资源自身的名称,由路径表示。
比如“[url]Http://www.baidu.com/text/xxx.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 04:59 , Processed in 0.358121 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表