Activity

定义一个类继承actvity

一、开启activity的两种方式

1-开启方式1

startActivity(intent);//(没有要返回的数据.就是简简单单开启activity)

2-开启方式2

// [1]开启activity 当开启activity 还要开启之前关闭activity返回的数据
//参数2:请求吗
startActivityForResult(intent, 1);
//onActivityResult当开启的activit关闭的时候这个方法会执行
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    //取出数据 请求码
    if (requestCode == 1) {
        // 代表我要请求ContactActivity这个页面的数据
        String phone = data.getStringExtra("phone");
        et_number.setText(phone);

    } else if (requestCode == 2) {
        // 代表我要请求SmsTemplateActivity短信模板页面的数据
        String smsTemplate = data.getStringExtra("smsTemplate");
        et_content.setText(smsTemplate);

    }
     /*
       * if (resultCode == 10) { //说明 data数据是从ContactActivity这个页面返回
        //取出数据 结果码
        String phone = data.getStringExtra("phone");
        //展示数据
       * et_number.setText(phone);
       *
       * }else if(resultCode == 20){ //说明data数据是从SmsTemplateActivity这个页面返回
       * String smsTemplate = data.getStringExtra("smsTemplate");
       * et_content.setText(smsTemplate); }
       */

}

关闭页面前把数据返回

// [4]取出点中条目的数据
String smsTemplate = objects[position];
// [5]把短信模板的数据返回到mainActivity 调用者
Intent intent = new Intent();
intent.putExtra("smsTemplate", smsTemplate);
setResult(20, intent);
// [6]调用finish把当前页面关闭 把数据返回
finish();

页面跳转--intent匹配

intent

1隐式意图跳转(意图过滤器有啥匹配啥)

// [1]创建意图对象 可以和我自己定义的意图过滤器进行匹配 实现一件事 可以简单的去实现 也可以复杂化
Intent intent = new Intent();
// 意图过滤器有啥匹配啥
// [2]设置action 匹配action--配置啥写啥
//
intent.setAction("com.kailing.testactivity");
// [3]匹配category :是为了执行我们定义的动作(action)提供的环境--default安卓默认提供的环境 intent.addCategory("android.intent.category.DEFAULT");

// [5]匹配 type类型 这个方法会自动清除之前通过setdata方法设置的数据
// intent.setType("aa/bb");

// [4]页面跳转加上了携带的数据 ---scheme的数据再随便加个数据--:号是固定格式
// 这个方法会自动清除之前通过setType方法设置的数据
// intent.setData(Uri.parse("kailing:"+1110));

// 当清单文件既配置了data(scheme) 又配置了type 我们应该使用下面这个方法
intent.setDataAndType(Uri.parse("kailing:" + 1110), "aa/bb1");

// [6]开启意图
startActivity(intent);

2显示意图跳转

// [1]创建意图对象 (参数1:上下文--参数2:这个类的字节码)
Intent intent = new Intent(getApplicationContext(), Test2Activity.class);
// [3]开启意图
startActivity(intent);

二、activity生命周期和启动模式

activity生命周期和启动模式

三、多图标

若清单文件中的Activity声明为:


    
    

则此Activity将作为程序的入口,有几个作为入口的Activity,apk文件安装的时候就会生成几个图标。

你可能感兴趣的:(Activity)