- 运行课本的示例程序,理解组件通信的方式和过程
2.设计一个主Activity和一个子Activity(Sub-Activity),使用主Activity上的按钮启动子Activity,并将子Activity的一些信息返回给主Activity,并显示在主Activity上。
工程名ActivityCommunication
MainActivity.java
package com.example.administrator.activitycommunication;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private static final int SUBACTIVITY1 = 1;
private static final int SUBACTIVITY2 = 2;
TextView username, passwd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username=(TextView)findViewById(R.id.username);
passwd=(TextView)findViewById(R.id.passwd);
final Button btn1=(Button)findViewById(R.id.btn1);
final Button btn2=(Button)findViewById(R.id.btn2);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,SubActivity1.class);
startActivityForResult(intent,SUBACTIVITY1);
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,SubActivity2.class);
startActivityForResult(intent,SUBACTIVITY2);
}
});
}
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
switch(requestCode){
case SUBACTIVITY1:
if(resultCode==RESULT_OK){
Uri uriData1=data.getData();
username.setText(uriData1.toString());
}
break;
case SUBACTIVITY2:
if(resultCode==RESULT_OK){
Uri uriData2=data.getData();
passwd.setText(uriDa