Android核心组件:Activity

一、什么是Acticity:

  1. Acticity是用户与应用程序交互的接口
  2. 在应用中通常是一个单独的屏幕页面,用于显示可视化用户界面,并接收与用户交互所产生的事件。
  3. 由视图控件组成,并对事件作出响应。

二、Acticity类的继承结构:

Acticity在用户看来是一个界面,而在程序开发者看来是一个java程序。

  • java.lang.Object
    • android.content.ContextWrapper
      • android.view.ContextThemeWrapper
        • android.app.Activity

三、Activity的子类:

Android核心组件:Activity_第1张图片

四、Acticity类中的方法:

  1. 在android.app.Activity类中,Android定义了一系列方法,在应用程序中通过对这些方法的重写来完成对Activity的创建和使用。
public class OurActivity extends Activity { 
		protected void onCreate(Bundle savedInstanceState); 
		protected void onStart(); 
		protected void onReStart();
		protected void onResume(); 
		protected void onPause(); 
		protected void onStop(); 
		protected void onDestroy(); 
		} 
  1. Activity类其他方法:
    Android核心组件:Activity_第2张图片

五、Activity类创建:

  1. 创建一个Activity子类,重写onCreate()方法,Activity启动时会调用该方法。该方法调用Activity的setContentView(View view)方法来显示Activity对应的View布局文件。
public class MainActivity extends Activity {
		protected void onCreate(Bundle savedInstanceState) {
				super.onCreate(savedInstanceState);//调用父类的onCreate()方法
				setContentView(R.layout.main);//调用布局文件
				......
		}
}
  1. 每一个Activity都需要在AndroidManifest.xml文件中注册。

AndroidManifest.xml文件是一个全局配置文件,每增加一个Activity,都需要在AndroidManifest.xml进行配置。方法:

  • 元素添加相应的 子元素。
  • 标签中有一个必选属性android:name:Activity类名
  • android:label指定应用程序列表中程序图标下方的文字,如Activity未指定该属性,系统会使用 标签的android:label属性值来代替。
  • android:icon属性值指定Activity对应的图标,如果未指定,则系统会使用 标签的android:icon 属性值来代替。
    Android核心组件:Activity_第3张图片
  1. 创建该Activity类的布局文件 (比如main.xml)。

<LinearLayout 						
	android:layout_width="fill_parent"			
	android:layout_height="fill_parent">			
	<TextView 						
		android:layout_height="wrap_content" 		
		android:text="@string/hello" />			
	<TextView 						
		android:layout_width="fill_parent"			
		android:layout_height="wrap_content" />		
		android:text="@string/info" />			
	<Button 						
		android:layout_width="fill_parent" 		
		android:layout_height="wrap_content" />		
		android:text="@string/msg" />			
LinearLayout>

关于组件中的@string/info 、 @string/hello 、 @string/msg
可以将所有要显示的文字信息直接在values\strings.xml文件中进行配置:

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string name="hello">Hello World, Hello!</string>
	<string name="app_name">myfirst</string>
	<string name=“hello”>你好1</string>
	<string name=“info”>你好2</string>
	<string name="msg">你好3</string>
</resources>

关于组件中的@+id/mytext
@+id固定,表示给该组件创建一个ID,后跟的mytext表示组件名,作用是在java程序中通过组件id取得该组件,进行相关监听器和属性的配置。

  1. 在Activity对应的布局文件中添加必要控件。

六、总结:

  • Android项目由若干个Activity程序所组成,每一个Activity都是一个Java类,都需要在AndroidManifest.xml文件中注册;
  • 一个Android项目中所有用到的资源都保存在res文件夹之中;
  • Android中的组件需要在布局管理器中进行配置,之后在Activity程序中可以使用findViewById()方法查找并进行控制;
  • 在布局管理器中定义的每一个组件都有其对应的操作类,用户可以直接实例化这些类的对象进行组件的定义显示;
  • 标准的Android项目,所有的文字显示信息应该保存在strings.xml文件中保存。

你可能感兴趣的:(Android开发,android,java,android,studio)