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

1、使用剪切板方式clipboardManager

Activity A 中的内容传值到Activity B

A中代码:

[java] view plain copy
 
  1. String name = "shujuchudi";  
  2. ClipboardManager cm = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);  
  3.          cm.setText();  
  4.          Intent in = new Intent(MainActivity.this, Other.class);  
  5.          startActivity(in);  

 

 

B中代码:

 

[java] view plain copy
 
  1. ClipboardManager cm = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);  
  2. cm.getText();  


2、使用intent传值

 

Activity A 中的内容传值到Activity B

A中代码:

[java] view plain copy
 
  1. //生成Intent对象(包含了ctivity间传的Data,param);相当于一个请求  
  2.           Intent intent=new Intent();  
  3.           //键值对  
  4.           intent.putExtra("extra", "archie2010");  
  5.           //从此ctivity传到另一Activity  
  6.           intent.setClass(OneActivity.this, OtherActivity.class);  
  7.           //启动另一个Activity  
  8.           OneActivity.this.startActivity(intent);  

B中代码:

 

 

[java] view plain copy
 
  1. //获得从上一个Activity传来的intent对象  
  2.         Intent intent=getIntent();  
  3.         String stringValue=intent.getStringExtra("extra");  
  4.           
  5.         myTextView=(TextView) findViewById(R.id.myTextView);  
  6.         //设置TextView显示的值(引用String的配置文件)  
  7.         //myTextView.setText(R.string.other);  
  8.         //从上个Activity传过来的值  
  9.         myTextView.setText(stringValue);  

 

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

A中代码:

 

[java] view plain copy
 
  1.  Intent intent=new Intent();  
  2.  intent.setClass(OneActivity.this, OtherActivity.class);  
  3. Bundle bundle = new Bundle();  
  4. bundle.putString("标记", "放入数据");  
  5. startActivity(intent);  

 


B中代码:

 

[java] view plain copy
 
  1.  Intent intent=getIntent();  
  2. Bundle bundle = intent.getEtra();  
  3. String s = bundle.getString("标记");  

 


 

3、使用Application

 

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

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

posted @ 2016-11-27 14:58  天涯海角路  阅读(73)  评论(0)    收藏  举报