一、Activity的用途
先从api获取这个类的总结为:
一个Activity是一个由用户能进行操作的单独,强制的事物,几乎所有的Activities都与用户进行交互,所以Acitity类能创建当你使用setContentView(View view)方法进行创建一个窗口。当然他们通常被使用为一个全屏窗口,当然它也有其他的用法,可以设置成一个浮动窗口(通过设置windowIsFloating)或者与其他的activity进行嵌套,这有两个方法必须子Activity进行继承:
onCreate(Bundle)方法:
这个是初始化Activity,首先,我们会经常通过资源的布局文件调用setContentView(int),而且使用findViewById(int)接收控件在这个Activity需要进行初始化。
onPause()方法:
这个方法是用于处理你要离开这个Acitivy这个方法调用,首先,用户进行对程序的所有的变化应该被提交(经常通过ContentProvider进行保存数据)
An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setContentView(View). While activities are often presented to the user as full-screen windows, they can also be used in other ways: as floating windows (via a theme with windowIsFloating set) or embedded inside of another activity (using ActivityGroup). There are two methods almost all subclasses of Activity will implement:
二、Activity的声明
为了正常使用这个Acitivity,我们必须在 AndroidManifest.xml进行与之相匹配的声明,注意声明必须在<application>的里面,例子如下:
<manifest ... >
<application ... >
<activity android:name=".ExampleActivity" />
...
</application ... >
...
</manifest >
现在我们初学者懂得使用:
<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
表示这个Activity这个是程序的入口Activity而且所有用户都可以启动这个程序,其中intent-filter将后序详细详解。
三、Activity的互相调用
其中有两种方法,一种是调用startActivity(Intent),另一种是调用startActivityForResult(Intent,int),后一种方法比较要注意我们在本地activity重写onActivityResult(int requestCode, int resultCode, Intent data) 方法,而在另一个Activity必须返回resultCode(默认是RESULT_OK),setResut方法.
四、关闭Activity
其中两种关闭方式,一种finish(),另一种是finishActivity(),想对应当然也是上面调用的方法。
五、生命周期的详解
先来看一张我们最经典的Activity的生命周期图:
接着我们来详细介绍这个声明周期:
这个记忆方法是从网上摘抄的
可以看出一般是成双成对的出现,
另外,还有一点要注意,Activity在处于onPause、onStop、onDestroy状态下,系统都可以销毁该Activity所在进程,所以我们在处理一些要保存的数据时,必须在onPause方法中进行,因为onStop和onDestroy方法不一定会被调用。那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢?答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。
今天到此为止。。。明天继续。。。
- 大小: 64.6 KB
- 大小: 9.9 KB
分享到:
相关推荐
这篇学习笔记将深入探讨Activity的相关知识,包括创建、声明、启动、关闭以及生命周期管理,同时还会涉及Task和Back Stack的管理。 一、Activity创建: 在Android应用中,Activity的创建通常始于一个Java类,这个类...
【Android项目-谁是歌手】是一款专为初学者设计的猜歌应用,旨在帮助开发者学习和掌握Android项目开发。这个项目对于那些希望踏入Android开发领域的人来说,无疑是一个理想的起点,因为它不仅提供了实际的代码实现,...
这篇教程"Android学习-readTheFuckingSourceCode"显然是针对想要深入了解Android操作系统的开发者们,通过分析源码来增强他们的编程能力。 Android系统是开源的,这意味着开发者可以访问其核心组件的源代码,这是一...
本篇将深入探讨"android-kotlin-fundamentals-apps"这个开源项目,它是一个专为学习Android Kotlin Fundamentals设计的应用程序集合。这些应用程序涵盖了Kotlin在Android开发中的基本概念和最佳实践,对于初学者和有...
这篇博客“android tabhost --android UI 学习”很可能深入探讨了如何使用TabHost来构建一个多页面的应用程序布局。在Android开发中,TabHost通常结合TabWidget和FrameLayout一起使用,前者负责显示和管理标签,后者...
本篇将深入探讨如何利用ADB在Windows环境下与Android设备进行交互,并结合VB(Visual Basic)编程语言实现更高效的应用调试。 首先,理解ADB的核心功能至关重要。ADB是Android SDK的一部分,它可以实现以下关键操作...
《Android ---snake 源代码分析》这篇文章主要探讨的是经典的Android游戏——Snake的实现。Snake是一款简单而受欢迎的游戏,玩家通过控制一条小蛇在虚拟空间中移动,寻找食物(通常是苹果)。每当小蛇吃到食物,它的...
本文将深入探讨“Android基础篇-Button学习”中的关键知识点,包括如何通过三种不同的方式绑定监听器,以及如何自定义Button的行为。 首先,我们来看第一种绑定监听器的方式:通过XML属性。在布局文件中,Button...
在本篇自学笔记中,我们将深入探讨Activity如何启动、运行、暂停、恢复以及销毁,以及在这些状态之间转换时应如何适当地管理资源。 首先,Activity的生命周期主要由七个关键回调方法组成: 1. **onCreate()**: 当...
本篇文章将详细介绍如何在Android应用中使用ZXing库,通过`android-zxing-demo`项目来深入理解其工作原理和应用。 一、ZXing简介 ZXing,源自Google,是一个强大的开源库,支持多种编码格式,包括QR码、Data ...
在Android应用开发中,Activity和Intent是两...开发者需要深入学习这两个概念,以便更好地设计和实现功能丰富的Android应用。在实际开发中,不断实践和调试,结合源码阅读,将有助于提升对Android系统运行机制的理解。
在“Android 学习笔记(十三):Activity-GridView”这篇笔记中,主要讲解了如何在Activity中使用GridView以及如何自定义适配器来实现特定的UI效果。以下是关于这个主题的详细知识点: 1. **GridView基本概念**: ...
- 这些教程是根据Google Android开发者官网的Training教程翻译而来,目的是为了帮助那些英文阅读能力有限的开发者更好地理解和学习Android开发相关的知识。 - 翻译过程中首先利用了Chrome浏览器的自动翻译功能进行...
本篇将围绕"Android代码-安卓开发艺术Demo"这一主题,详细解析Android开发过程中的关键知识点,通过AndroidDevelopmentArt-master这个项目,我们将深入探讨Android应用开发的核心技术。 1. **Android Studio入门** ...
本篇文章将围绕"HiBabyDragon"这一软件项目,从源码的角度探讨其设计与实现,帮助读者深化对Android应用开发的理解。 首先,我们要明确"HiBabyDragon"是一款专为学习者设计的应用,它借鉴了驾考软件的学习模式,使...
本篇将围绕"Android-18"源码展开,详细介绍这个版本的源码包含的关键组件、核心功能以及学习与研究的重点。 一、Android系统架构 Android系统由四个主要层次构成:Linux内核、硬件抽象层(HAL)、系统运行库和应用...
本篇将详细讲解`android入门activity跳转源代码`的相关知识点,帮助初学者理解如何在Android应用中实现Activity之间的跳转。 首先,我们需要了解Intent的概念。Intent在Android中充当了Activity间通信的信使,它...
本篇文章将深入探讨如何在Android中实现一个可刷新的GridView,以提高用户体验并及时更新内容。 首先,我们需要理解GridView的基本用法。在XML布局文件中,我们可以创建一个GridView元素,并设置其属性,如列数...
本篇文章将详细介绍如何导入并使用 Android-22 SDK 源码,以及在 Eclipse、IntelliJ IDEA 和 Android Studio 中进行源码级别的调试和分析。 首先,我们来看如何导入源码到开发环境。在 Eclipse 中,可以使用 ADT ...