background image

Android 界面互调具体应用方式解析

在父界面中,我们通过一个 public void onActivityResult(int requestCode, int 

resultCode, Intent data)继承函数来处理所有子界面的返回消息。这里面传来了请求代
码,返回代码,和返回值,比如
  在 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,  简