网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Android中怎么实现界面互调

本篇文章为大家展示了Android中怎么实现界面互调,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

成都创新互联从2013年创立,先为紫云等服务建站,紫云等地企业,进行企业商务咨询服务。为紫云企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

在系统中,有一个优化处理方式是,一个程序可以且只有一个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分成三部份:访问资源的命名机制;存放资源的主机名;资源自身的名称,由路径表示。

比如“Http://www.baidu.com/text/xxx.html”这里面Http是命名机制(协议名),www.baidu.com是资源位置,text/xxxlhtml是资源名称。在Android系统中如“content://contacts/1”表示,在系统中contacts(联系人)中的第1号,就很容易定位到一个资源了,采用了这些共用的格式后,就可以与系统中的其他处理程序来进行无缝交互,比如

Intent intent = new Intent(Intent.ACTION_DIAL,  Uri.parse(“tel:555-2368”));  startActivity(intent);

就可以用来启动一个拨号程序。

定义好了参数格式,我们在启用界面里就可以用

Uri data = Uri.parse("xxxx");  intent.setData(data);//传递参数

在子界面中,我们用

Intent intent = getIntent();  Uri data = intent.getData();

来接收传来的参数

在子界面中,关闭界面时,也有确定和取消之分,

我们在点击确定按钮时可以这样处理:

Uri data = Uri.parse("Content://" + edit.getText());  Intent result = new Intent(null, data);  setResult(RESULT_OK, result);//传确定信息,和参数  finish();

当点击取消按钮时,这样处理:

setResult(RESULT_CANCELED, null); //传取消信息,和参数  finish();

在父界面中,我们通过一个public void onActivityResult(int requestCode, int resultCode, Intent data)继承函数来处理所有子界面的返回消息。这里面传来了请求代码,返回代码,和返回值,比如:

  1. public void onActivityResult(int requestCode, 
    int resultCode, Intent data) {  

  2. super.onActivityResult(requestCode, resultCode, data);  

  3. if (resultCode == Activity.RESULT_OK) {  

  4. Uri horse = data.getData();  

  5. TextView txt = (TextView)findViewById(R.id.TextView01);  

  6. txt.setText(horse.toString());  

  7. }  

上述内容就是Android中怎么实现界面互调,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


新闻标题:Android中怎么实现界面互调
文章链接:http://bjjierui.cn/article/jcsige.html

其他资讯