intent浅析

来源:互联网 发布:删除表的数据sql语句 编辑:程序博客网 时间:2024/06/04 19:09

1、Intent介绍:
Intent,“意向、意图”,Android提供了Intent机制来协助应用间交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。

Intent不仅可用于应用程序之间,也可用于程序内部的Activtiy、Service之间的交互。

因此,可以将Intent理解为不同组件之间通信的“媒介”专门提供组件互相调用的相关信息

2、设置Intent的class属性,跳转到另外一个界面:(常用)

这是第一个界面,MainActivity

public class MainActivity extends AppCompatActivity {    private EditText et_on;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_on = (EditText) this.findViewById(R.id.et_on);        et_on.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent = new Intent();                //设置Intent的class属性,跳转到SecondActivity                intent.setClass(MainActivity.this, DesActivity.class);                //为intent添加额外的信息                intent.putExtra("useName", et_on.getText().toString());                //启动Activity                startActivity(intent);            }        });    }}


这是要跳转的界面,DesActivity

<pre name="code" class="java">public class DesActivity extends Activity{    private TextView tv_on_des;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_des);        //设置当前的Activity的界面布局        setContentView(R.layout.activity_des);        //获得Intent        Intent intent = this.getIntent();        tv_on_des = (TextView)findViewById(R.id.tv_on_des);        //从Intent获得额外信息,设置为TextView的文本        tv_on_des.setText(intent.getStringExtra("useName"));    }}

注意一点,在onCreate()方法中一定要有这句代码:super.onCreate(saveInstanceState);//调用父类的onCreate方法,saveInstanceState保存当前Activtiy状态

若没有这句代码会报错到setContentView上


OK,最基本也是最常用的intent实现界面之间的跳转已经实现,以后会不断更新intent新知识


0 0
原创粉丝点击