Activity
1.Activity(活动)是一种可以包含用户界面的组件,主要用于和用户进行交互,一个应用程序中可以包含零个或多个活动。
- AndroidManifest 每一个活动都必须在 AndroidManifest.xml中注册 才能使用。AndroidManifest 是整个 Android 项目的配置文件,在程序中定义的所有四大组件都需要在这个文件里注册。另外还可以在这个文件中给应用程序添加权限声明,可以重新指定创建项目时指定的程序最低兼容版本和目标版本。
<application
<activityandroid:name=".FirstActivity"
android:label="This is FirstActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
3.Lyaout : Android程序的设计讲究逻辑和视图分离, 不推荐在活动中直接编写界面的,通用的做法是,在布局文件中编写界面,然后在活动中引入进来,最好每一个活动都能对应一个布局,布局就是用来显示界面内容的,布局分为四种:
- LinearLayout :线性布局,是一种非常常用的布局。正如它名字所描述的一样,这个布局会将它所包含的控件在线性方向上依次排列。通过 android:orientation 属性指定了排列方向是 vertical,如果指定的是 horizontal,控件就会在水平方向上排列。
- RelativeLayout 又称作相对布局,也是一种非常常用的布局。和LinearLayout 的排列规则不同,RelativeLayout 显得更加随意一些,它可以通过相对定位的方式让控件出现在布局的任何位置。
- FrameLayout 相比于前面两种布局就简单太多了,因此它的应用场景也少了很多。这种布局没有任何的定位方式,所有的控件都会摆放在布局的左上角。
TableLayout 允许我们使用表格的方式来排列控件,既然是表格,那就一定会有行和列,在设计表格时我们尽量应该让每一行都拥有相同的列数,这样的表格也是最简单的。不过有时候事情并非总会顺从我们的心意,当表格的某行一定要有不相等的列数时,就需要通过合并单元格的式来应对。
4.Toast Android 系统提供的一种非常好的提醒方式, 在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。Toast的用法非常简单, 通过静态方法 makeText()创建出一个 Toast对象, 然后调用 show()将 Toast 显示出来就可以了。这里需要注意的是,makeText()方法需要传入三个参数。第一个参数是 Context,也就是 Toast 要求的上下文,由于活动本身就是一个 Context 对象。 第二个参数是Toast显示的文本内容, 第三个参数是Toast显示的时长,有两个内置常量可以选择 Toast.LENGTH_SHORT和 Toast.LENGTH_LONG。
5.Activity的生命周期
Activity 类中定义了七个回调方法,覆盖了活动生命周期的每一个节。
- onCreate() 在活动第一次被创建的时候调用,在这个方法中完成活动的初始化操作,比如说加载布局、绑定事件等。
- onStart() 在活动由不可见变为可见的时候调用。
- onResume() 在活动准备好和用户进行交互的时候调用。 时的活动一定位于返回栈的栈顶,并且处于运行状态。
- onPause() 在系统准备去启动或者恢复另一个活动的时候调用。 我们通常会在这个方法中将一些消耗 CPU 的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。
- onStop() 在活动完全不可见的时候调用。它和 onPause()方法的主要区别在于,如果启动的新活动是一个对话框式的活动,那么 onPause()方法会得到执行,而 onStop()方法并不会执行。
- onDestroy() 在活动被销毁之前调用,之后活动的状态将变为销毁状态。
- onRestart() 在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。
[activity生命周期图](https://img-blog.csdn.net/20161010211648839)
6.R.id. … 项目中添加的任何资源都会在 R (com.example.activitytest 包下的 R 文件 )文件中生成一个相应的资源 id。引用资源是可以用R.id. …