android Activity见数据传递的三种方式

本文介绍了在Android中实现Activity间数据传递的三种方法:1) 利用ClipboardManager通过剪切板传递;2) 使用Intent配合putExtra()或Bundle进行传值;3) 继承Application来创建全局属性并进行数据共享。
摘要由CSDN通过智能技术生成

1、使用剪切板方式clipboardManager

满分学车网

Activity A 中的内容传值到Activity B

A中代码:

String name = "shujuchudi";
ClipboardManager cm = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
	     cm.setText();
	     Intent in = new Intent(MainActivity.this, Other.class);
	     startActivity(in);

B中代码:

ClipboardManager cm = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
cm.getText();


2、使用intent传值

Activity A 中的内容传值到Activity B

A中代码:

  //生成Intent对象(包含了ctivity间传的Data,param);相当于一个请求
            Intent intent=new Intent();
            //键值对
            intent.putExtra("extra", "archie2010");
            //从此ctivity传到另一Activity
            intent.setClass(OneActivity.this, OtherActivity.class);
            //启动另一个Activity
            OneActivity.this.startActivity(intent);

B中代码:

//获得从上一个Activity传来的intent对象
        Intent intent=getIntent();
        String stringValue=intent.getStringExtra("extra");
        
        myTextView=(TextView) findViewById(R.id.myTextView);
        //设置TextView显示的值(引用String的配置文件)
        //myTextView.setText(R.string.other);
        //从上个Activity传过来的值
        myTextView.setText(stringValue);

当然除了使用intent类的putEtra()方法,还可以使用Bundle类来传值

A中代码:

 Intent intent=new Intent();
 intent.setClass(OneActivity.this, OtherActivity.class);
Bundle bundle = new Bundle();
bundle.putString("标记", "放入数据");
startActivity(intent);

 

B中代码:

 Intent intent=getIntent();
Bundle bundle = intent.getEtra();
String s = bundle.getString("标记");

 

3、使用Application

在Android中,有一个名为Application的类,我们可以在Activity中使用getApplication(),方法来获得,它是代表我们的应用程序的类,使用它可以获得当前应用的主题,资源文件中的内容等,这个类更灵活的一个特性就是可以被我们继承,来添加我们自己的全局属性。

使用方法为继承Application,定义所需类型变量,定义对应的get 和 put 方法即可

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值