Activity

Activity生命周期

这里写图片描述
分析:
1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。

启动Activity

这里写图片描述

1、直接启动activity

 button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SecondApplication.class);
                startActivity(intent);//直接启动activity

2、带有返回值的启动方式

第一个界面调用startActivityForResult方法

  button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SecondApplication.class);
                startActivityForResult(intent, 0x99);
            }
        });

第二个界面调用getIntent得到启动的Intent;关闭前封装数据;设置ReSultCode, setResult(RESULT_OK,intent);关闭第二个界面。

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        final EditText text = (EditText)findViewById(R.id.edit);
        Button  button =(Button) findViewById(R.id.button_send);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent  intent = getIntent();
        intent.putExtra("databack",text.getText().toString());//封装数据
                setResult(RESULT_OK,intent);//设置resultcode
                finish();//关闭第二个界面
            }
        });
    }

第一个界面准备接收数据,重写onActivityResult方法;判断resultcode,从data中读取数据

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case 0x99:
                if (resultCode == RESULT_OK) {
                    String value = data.getStringExtra("databack");
                    textView.setText(value);
                }
                break;
            default:
                break;
        }

activity应用

1、新建class SecondApplication继承Activity;
2、重写onCreate方法,setContenView;

public class SecondApplication extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        final EditText text = (EditText)findViewById(R.id.edit);
        Button  button =(Button) findViewById(R.id.button_send);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent  intent = getIntent();
                intent.putExtra("databack",text.getText().toString());
                setResult(RESULT_OK,intent);
                finish();
            }
        });

    }
}

3、在res文件夹下的layout文件夹下新建一个layout resource file,在其中设置按钮和EditText;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="请输入内容"
    android:id="@+id/edit"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="发送"
        android:id="@+id/button_send"/>
</LinearLayout>

这里写图片描述
4、在AndroidMainfest.xml文件上注册 ;
5、在MainActivity的layout上添加按钮;

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="进入第二个界面"
       android:id="@+id/button_back"
        />

这里写图片描述
6、在MainActivity代码的onCreate方法中 Button button = (Button) findViewById(R.id.button_back);
7、给button设置点击事件 button.setOnClickListener(new View.OnClickListener();

  Button button = (Button) findViewById(R.id.button_back);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SecondApplication.class); 
               startActivity(intent);//直接启动activity

            }
        });

8、新建Intent Intent intent = new Intent(MainActivity.this, SecondApplication.class);
9、调用startActivity();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值