Android 学习笔记--android——Activity学习

Activity
创建的三要素:
1、创建的类要去继承activity
2、setContentView();应用布局文件
3、在清单文件中进行配置
android:name="com.example.ex_0310_01.MainActivity"
(包名.类名)

1、
A---->B
调用startActivity(intent);
A界面:

        //获得一个意图对象
        Intent intent = new Intent();
        intent.setClass(MainActivity.this, SecondActivity.class);        
        //传递附加消息  
        //以键值对的形式去传递消息
        //key:必须是字符串
        //value:基本数据类型,以及实现了序列化接口的对象
        intent.putExtra("key1", "你好");
        intent.putExtra("key2", true);
        //开启一个新的activity
        startActivity(intent);

B界面:

    //获取A界面传过来的意图对象
    Intent intent = getIntent();
    //通过key去把意图对象里的信息获取到
    boolean extra = intent.getBooleanExtra("key3", false);
    String str = intent.getStringExtra("key1");

2、
A---->B---->A
A:

        // 获得一个意图对象
        Intent intent = new Intent();
        intent.setClass(MainActivity.this, SecondActivity.class);
        // 传递消息
        // 以键值对的形式去传递消息
        // key:必须是字符串
        // value:基本数据类型,以及实现了序列化接口的对象
        intent.putExtra("key1", "你好");
        intent.putExtra("key2", true);
        // 开启一个新的activity 并且等待消息返回
        startActivityForResult(intent, 0);

B:

        Intent data = new Intent();
        data.putExtra("msg", "消息已收到");
        setResult(0, data );
        //关闭当前界面
        finish();

A:

        //接收B界面返回的消息
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data)
        {   
            super.onActivityResult(requestCode, resultCode, data);
            String msg = data.getStringExtra("msg");
            mTextView.setText(msg);
        }

请求码:
A有两个按钮,都是跳转到B,B界面处理完返回消息,
就用请求码进行区分,是点击了哪一个按钮跳转到B,然后
返回A的
startActivityForResult(intent , 请求码);

结果码:
B有两个按钮,都是跳回到A,A界面就是通过结果码来进行判断
返回不同的处理信息
setResult(结果码, data );

对于消息的处理都是在onActivityResult这个方法中去实现的

你可能感兴趣的:(Android 学习笔记--android——Activity学习)