Android 2.2开发笔记________NO.5________智行工作室

来源:互联网 时间:1970-01-01

  眼睛一闭一睁一个美好的周末过去了,我对于昨天没有发表随表,表示歉意。

  昨天,一个高中同学从天津过来,说要从首都国际机场去日本学习讨论,于是我去送他,我们一行5个高中的同学一起出去逛街,吃饭,怎么说呢,感觉也就这样吧,普通同学关系,见面一句简单的寒暄,已经早已没有当初的热情。其实,年龄越大,我越来越对一些概念开始模糊了,我现在不知道真正的友谊是怎么样的,不知道真正的恋爱是怎么样的,我觉得那些曾今的誓言都被时间,空间打败,就这样吧,生活。

  昨天晚上回来看了Android开发,我表示我没有荒废自己的时间,今天看了一天。现在想想,确实只能苦笑,现在只剩下三个人了,算了,这些都不重要。

  1.上次,我学习了Intent这个类,是一个可以协助完成组件之间传递通信的工具,但是如果要在多个组件之间传递数据呢?那我们只能用到Bundle。Android.os.Bundle对象封装了数据的能力。使用方法如下:

先创建一个Intent对象,并制定class。用于传递封装好的数据。然后创建一个Bundle对象,并将要传递的数据传入。

Bundle b=new Bundle();

b.put类型();

intent.putExtras(b);

startActivity(intent);

在下一个组件中取得该Bundle:

Bundle b=this.getIntent.getExtras();

String sex=b.getString(key);

返回数据需要用到startActivityForResult()

2.具有交互系统的对话框,我觉得对话框对于任何软件的交互功能来说都很重要,我花了很多时间去敲代码,理解它,给大家提供一个网站吧,我就是照上面学的,非常好:http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html,这个博主的文章我觉得写的很好,大家可以学习下,分享之。

3.Activity的生命周期:很多东西都有它的生命周期,像一个servlet什么的,在整个程序运行过程中,它有它的存在规律和状态规律。我说下我的理解吧,

Activity有7种生命周期状态,onCreate()-----onDestroy()     onStart()----onStop()   onResume()-----onPause()  onRestart()

可以看出来7中状态两两一组,第一组表示Activity的创建和消除,第二组表示Activity的是否可见,第三组表示Activity的是否可编辑,最后一个表示Activity的重启 

接下来,我引用一个博主的理解,非常好懂,大家可以仔细阅读下:

下面这张图就是我的记忆的方式:

不难看出,其实这些方法都是两两对应的,onCreate创建与onDestroy销毁;onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause;这6个方法是相对应的,那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢?答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。

这样大家就应该能够很容易的记住这些方法了。下面再通过一个比喻来看两个Activity的切换过程。

我们把Activity比作一本书,我们要看书,首先从书架上取出书(onCreate),然后放到桌上(onStart),接着打开书(onResume),这样我们就可以看书并可以在书本上写字了。

如果这时候我们要启动另一个Activity,也就是要看另一本书,首先我们放下手中的笔或者说合上书(onPause),然后从书架上拿下另一本书(书2:onCreate),然后把书本2放到桌上并打开(书2:onStart、onResume)。

如果书本1被书本2完全盖住了,即不可见了,就调用书本1的onStop;而如果书本2较小,没有完全盖住书本1,则不会调用。

我们还可以把书本1放回书架上,即onDestroy。

另外,还有一点要注意,Activity在处于onPause、onStop、onDestroy状态下,系统都可以销毁该Activity所在进程,所以我们在处理一些要保存的数据时,必须在onPause方法中进行,因为onStop和onDestroy方法不一定会被调用。

其实这两天看书看的不少,第三章基本结束了,但是因为这次我是从例子入手学习Android开发,所以概念性的东西可能理解的比较少,不过如果我遇到了都会去google出来最详细的解释,在这里写文章,一来记录自己的学习笔记,以便以后查看,二来也是为了方便和大家交流,多交流才会进步么!希望大家支持,晚安咯,明天上班,今天早点休息。

相关阅读:
Top