一、活动(Activity)
1、定义:
1)四大组件之一
2)是app的界面
3)所有控件必须在一个Activity中或者在Activity内的Fargment中
2、创建活动(该部分内容来自转载)
1)自定义一个Java类并继承于Activity或者AppCompatActivity(Android studio)中;
2)每一个Activity默认继承于AppCompatActivity中;
3)不能直接使用Activity或者AppCompatActivity;
4)在创建好的Activity中重写onCreate(Bundle savelnstanceState)方法。
5)一个Activity中一般都有一个布局文件,“super.onCreate(savedInstanceState)方法下面,调用setContentView方法,然后传入我们之前创建好的布局文件(res/layout/布局文件名.xml),传入格式R.layout.布局文件名。
6)在AndroidManifest.xml文件夹中声明我们自定义的Activity。
<activity android:name=“.Activtiy类名” > </activity>
注意:类名前面还有一个.号。
”
二、跳转
1、定义:
1)App中界面跳转,从一个Activity跳转到另一个Activity中。
前提:Activity必须在AndroidManifest.xml中声明
2)Activity的跳转主要是靠Intent类(是系统的类,使用时直接创建对象即可)来实现
2、分类:
1)无返回值跳转
创建多个活动,并对其声明
→使用IMainActivity实现监听接口,并且重写public void onClick(View v)方法(接口是需要实现的)
→给mButton设置点击事件(参考四、控件1、初始化控件)
→使用Intent
2)有返回值跳转
在无返回值跳转的基础上,
改变onClick方法中startActivity为startActivityForResult(Intent intent, int requestCode)
第一个参数为普通Intent,第二个参数requestCode—请求码
(“就是表示是当前的Activity想指定的Activity跳转(之所以出现这种,是因为有可能有多个Activity都想跳转到指定的Activity去,requestCode表示的是从不同的Activity跳转到指定的Acitivty)。”)
→在MainActivity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法
→修改需要跳转的活动的代码
注:以上两种跳转都需要借助Intent类来实现
3、Intent使用
1)使用方式:
a、显示
b、隐式(不灵活,不常用)
三、布局
1、改写MainActivity的布局文件。
“ 在我们创建Android工程的时候,系统会给我们自动生成一个Activity—MainActivity,同时还会生成一个布局文件(MainActivity自动绑定该布局文件)—activity_main.xml。因此我们只需要在activity_main.xml文件中改写代码就行。”
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.pby.demo.MainActivity"> <Button android:text="跳转" android:id="@+id/id_button" android:layout_width="match_parent" android:layout_height=“wrap_content" /> </LinearLayout>
四、控件
1、初始化控件
之前,我们在activity_main.xml文件中新增加了一个Button控件。现在我们需要初始化这个控件。
我们先在MainActivity类中定义一个成员变量—mButton,Button类型的。然后在onCreate通过findViewById方法来初始化控件,传入参数的格式:R.id.id名。这个id名就是在我们在使用android:id=“”属性的值。id是一个控件的标识符,不能同时含有多个相同的标识符,因为一个id是一个控件的位移标识符。
private Button mButton = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButton = (Button) findViewById(R.id.id_button); }