1.使用Uri及Intent打开一个Activity
public class MainActivity extends AppCompatActivity {
private Button mybut;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mybut=findViewById(R.id.mybut);
mybut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//创建一个Uri对象,并将字符串装入uri对象中
Uri uri=Uri.parse("http://www.sina.com.cn");
//创建intent对象
Intent intent=new Intent(Intent.ACTION_VIEW,uri);
//启动intent对象
startActivity(intent);
}
});
}
}
2.使用Bundle批量储存接受数据
MainActivity文件
public class MainActivity extends AppCompatActivity {
private Button mybut;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mybut=findViewById(R.id.mybut);
mybut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//创建bundle
Bundle bundle=new Bundle();
//想bundle里添加数据
bundle.putString("name", "张三");
bundle.putString("company", "北京烽锐科技有限公司");
bundle.putString("address", "回龙观西大街85号");
//创建intent
Intent intent =new Intent(MainActivity.this,SecondActivity.class);
//将bundle装入intent
intent.putExtras(bundle);
//启动Activity
startActivity(intent);
}
});
}
}
第二个Activity文件
public class SecondActivity extends AppCompatActivity {
private TextView name,company,address;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
name=findViewById(R.id.myname);
company=findViewById(R.id.mycompany);
address=findViewById(R.id.myaddress);
Intent intent=getIntent();
Bundle bundle=intent.getExtras();
String myname=bundle.getString("name");
String mycompany=bundle.getString("company");
String myaddress=bundle.getString("address");
name.setText(myname);
company.setText(mycompany);
address.setText(myaddress);
}
}
3.使用startActivityForResult
MainActivity的布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/mybut"
android:text="press"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/mytext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
MainActivity的java文件
public class MainActivity extends AppCompatActivity {
private Button mybut;
private TextView mytext;
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mytext=findViewById(R.id.mytext);
if (requestCode==1){
mytext.setText(data.getStringExtra("company"));
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mybut=findViewById(R.id.mybut);
mybut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("name","zhangsan");
//启动Activity
startActivityForResult(intent,1);
}
});
}
}
seconActivity的布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/myname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/secbtn"
android:text="secbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
secondActivity的java文件
public class SecondActivity extends AppCompatActivity {
private TextView name,company,address;
private Button secbtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
name=findViewById(R.id.myname);
company=findViewById(R.id.mycompany);
address=findViewById(R.id.myaddress);
secbtn=findViewById(R.id.secbtn);
Intent intent=getIntent();
String string = intent.getStringExtra("name");
name.setText(string);
secbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1=new Intent();
intent1.putExtra("company","fengruitech");
setResult(1,intent1);
SecondActivity.this.finish();
}
});
}
}