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新知识