1.5 关于MainActivity.java文件
每个Android项目创建成功后,都会默认生成一个Activity文件MainActivity.java,该文件位于项目的java文件夹的包文件夹中,主要用于实现界面的交互功能。
MainActivity.java文件中默认生成的代码如表1-2所示。
表1-2 MainActivity.java文件中默认生成的初始代码
由表1-2所示的代码可知,新建一个Android Studio项目时,系统为我们生成了一个MainActivity.java文件,同时自动导入了2个类(AppCompatActivity、Bundle)。
MainActivity类继承自AppCompatActivity且重写了onCreate()方法,该方法调用父类的onCreate()方法,调用setContentView()方法设置当前页面的布局文件为activity_main,将布局文件转换成View对象,显示在界面上。
在重写父类的onCreate时,在方法前面加上@Override标识,系统可以帮助检查方法的正确性。例如,public void onCreate(Bundle savedInstanceState){……}这种写法是正确的,如果写成public void oncreate(Bundle savedInstanceState){……},则编译器会输出如下提示信息:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以确保正确重写onCreate方法,因为oncreate应该为onCreate。如果不加@Override标识,则编译器将不会检测出错误,而是会认为新定义了一个方法oncreate。
android.support.v7.app为AppCompatActivity类的包名称,该包中提供了高层的程序模型和基本的运行环境所需的类和接口。几乎所有的活动(activities)都是与用户交互的,Activity类用于创建窗口,可以使用方法setContentView(View)将UI放到窗口中。然而活动通常以全屏的方式展示给用户,也可以是浮动窗口或嵌入在另外一个活动中。
以下两个方法是几乎所有的Activity子类都实现的:
● onCreate(Bundle):初始化活动(Activity),在这个方法中通常调用setContentView()方法定义UI,调用findViewById()方法在UI中检索需要交互的小部件(widgets)。setContentView设置由哪个文件作为布局文件(activity_main.xml),可以将这个界面显示出来,然后我们进行相关操作。
● onPause():处理离开活动时要做的事情,用户做的所有改变应该在这里提交。