慕课大学基于Android P 的移动应用开发之第五章Activity

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();
           }
       });
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值