Android系统框架介绍和生命周期介绍
Android系统框架介绍
src目录:主要是完成java代码的编写
assets目录:资源目录
res目录:存在图片,布局文件和字符串、菜单等文件
bin目录:输出文件夹,如生成的APK文件
project,properties 工程属性文件配置
gen目录:系统自动生成的源代码目录
这个R.java文件是系统自动生成的文件,非常的重要。这个R.java默认有attr,drawable,layout,string 4个静态内部类,每个类对应一种资源。例如我们在工程中添加一幅图片,那么工程就会在此类的drawable内部类中添加一条数据,如果删除了此图片,工程则会自动删除此条数据
在res资源文件夹下包含有以下的文件:
1.drawable 存放工程图片的信息,默认png格式的图片
2.layout 存放工程的布局文件以 . xml结束
3.values 文件夹下面存放一个很重要的string.xml 此文件夹存放的是自定义的字符串和数值。除了这个文件之外,还可以定义arrays.xml(用来定义数组)、color.xml(用来定义颜色和颜色字符串数值)dimens.xml(用来定义尺寸数值)styles.xml(用来定义样式)
既然是存储值,那么在android工程中如何取值呢?
AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)
—————————————————————————————————-
Android生命周期介绍
什么是Activity
简单的说:Activity就是布满整个窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,都会在Manifest.xml中指定一个主的Activity,如下设置:
<activity
android:label="@string/app_name"
android:name=".MainActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Activity生命周期
我们来看看Activity生命周期的7个方法和3个阶段
7个方法如下:
void onCreate(Bundle savedInstanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()
Activity经历如下3个阶段:
开始Activity:在这个阶段依次执行3个生命周期的方法,分别是onCreate、onStart和onResume方法。
Activity重新获得焦点:如果Activity重新获得焦点,会依次执行3个生命周期,分别是 onRestart、onStart和onResume
关闭Activity:当Activity被关闭时系统会依次执行3个生命周期方法,分别是:onPause、onStop和onDestory。
从以上的Activity的生命周期不难看出,该图包含了两层循环
第一层循环是onPause–>onResume–>onPause
第二层循环是onStart–>onRestart–>onResume–>onPause–>onStop
我们可以将这两层的循环看成整个Activity的生命周期的子生命周期
第一层循环称为是焦点生命周期,第二层循环可以视为生命周期。
也就是说,第一层循环在Activity焦点获得与失去的过程中循环,在这个过程中,Activity始终是可见的,第二层循环是Activity可见和不可见的过程中循环。
这个过程中伴随着Activity焦点的获得与失去,也就是说,Activity首先会被显示,然后会获得焦点,接着失去焦点,最后弹出其他的Activity
Activity具体的生命周期如下:
整体的生命周期:onCreate–>…..–>onDestory
可视生命周期:onStart–>…..–>onStop
焦点生命周期:onResume–>onPause