android学习笔记(三)——Activity

本文是关于Android中Activity的学习笔记,介绍了Activity的基本概念、Intent的使用(显式与隐式)、Activity的生命周期以及如何在Activity间传递数据。通过实例展示了如何启动Activity、关闭Activity以及在不同状态下进行数据交互。此外,还探讨了Activity的生命周期,包括创建、启动、暂停、停止和销毁等各个阶段,帮助开发者更好地理解和控制Activity的行为。
摘要由CSDN通过智能技术生成

一、写在前面的话

上一篇我们知道了android的常用的四个布局,还有一些常用的控件的用法,当然我这只是杯水车薪,更多的用法还是得在实际项目中去学习。今天这一篇博客也是拖了好几天才写,一是这几天工作也比较忙,二是这个Activity是四大组件之一,比较重要,细说起来也很复杂,但他又是我们在实际操作中遇到的最多的。思考之下,这一篇只是粗略的说一下,等以后有机会再深入了解Activity。

二、初探Activity——Intent

首先我们要知道什么是Activity(活动),他是一种可以包含用户界面的组件,主要用于和用户进行交互。一个程序里至少要有一个Activity(至少我们现在写的程序都是让人拿来用的)。其实我们在第一篇的时候就已经接触过Activity了,当时我们是创建了一个MainActivity继承自Activity来实现了HelloWorld。那么接下来我们来看看两个Activity是怎么运行的。

  • Intent
    我们先新建一个项目ActivityTest,首先我们要知道多个Activity之间是如何跳转的,这里我们用到了一个新的东西叫——Intent。让我们先来看看他是如何运用的。
public class MainActivity extends ActionBarActivity {
   

    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,SecondActivity.class);
                startActivity(intent);
            }
        });
    }

}
public class SecondActivity extends ActionBarActivity{
   

    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.secondlayout);
        initView();
    }

    private void initView() {
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }
}

效果如下:
这里写图片描述

这里我们看到在MainActivity里,我们的button的点击方法实现了Activity的跳转。在SecondActivity 里我们用了finish() 方法来关闭活动(类似点击了返回键)。在MainActivity里我们new了一个新的Intent对象,并给他传入了两个参数,第一个要求提供一个启动活动的上下文,一般传入我们当前的activity,第二个就是我们想要启动的activity了。这样是不是很简单呢,只需要new一个新的Intent对象就好了。这种方法是我们比较常用的一种显示Intent的用法,下面我们来介绍他的另一种用法——隐式Intent。

隐式Intent的用法并不会明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的的action和category等信息,然后交给系统去分析这个Intent并帮我们找到合适的活动去启动。那系统是怎么帮我们找到的呢,那就需要我们在AndroidManifest里去设置了。

        <activity android:name=".SecondActivity">
            <intent-filter>
                <action android:name="com.jiang.joey.activitytest.ACTION_START"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

然后我们在MainActivity里修改button的点击事件

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public vo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值