Android之在不同的Activity之间传递数据

原创 2015年11月21日 12:45:49

在Android中传递数据的方法非常多,本节将介绍4种比较常用的数据传递方法,这4种数据传递方法如下:

1、通过Intent传递数据

2、通过静态(static)变量传递数据

3、通过剪切板(Clipboard)传递数据

4、通过全局变量传递数据


1、利用Intent的Extra部分来存储我们想要传递的数据,可以传送int, long, char等一些基础类型,对复杂的对象就无能为力了。Intent传递数据具有局限性,Intent无法传递不能序列化的对象。

传递数据:

//传递参数

Intent intentSimple = new Intent();

intentSimple.setClass(MainActivity.this,SecondActivity.class);

Bundle bundle=new Bundle();

bundle.putString("user","xxx");

bundle.putString("pwd","xxx");

intentSimple.putExtras(bundle);

startActivity(intentSimple);

接收数据:

//接收参数  
Bundle bundle = this.getIntent().getExtras();  

String eml = bundle.getString("usr");  

String pwd = bundle.getString("pwd");

2、静态变量就是一种非常方便,易用的传递数据的方法。(static)

3、使用剪切板传递数据。(Clipboard)

下面是将字符串保存到剪切板上的代码:

Intent intent=new Intent(this,SecondActivity.class);

//获取管理剪切板的对象(ClipboardManager)

ClipboardManager clipboard=(ClipboardManager)gerSystemService(Context.CLIPBOARD_SERVICE);

//向剪切板保存字符串

clipboard.setText("通过Clipboard传递数据");

startActivity(intent);

下面是从剪切板上获取这个字符串的代码:

ClipboardManager clipboard=(ClipboardManager)gerSystemService(Context.CLIPBOARD_SERVICE);

//剪切板获得字符串

String text=clipboard.getText().toString();

4、使用全局变量传递数据(Application类)

虽然使用静态变量可以传递任何类型的数据,但是官方并不推荐这么做,因为大量使用静态变量,容易造成内存溢出异常。

  1. public class Data extends Application{  
  2.     private String b;  
  3.       
  4.     public String getB(){  
  5.         return this.b;  
  6.     }  
  7.     public void setB(String c){  
  8.         this.b= c;  
  9.     }  
  10.     @Override  
  11.     public void onCreate(){  
  12.         b = "hello";  
  13.         super.onCreate();  
  14.     }  
  15. }  



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

通过intent、ClipboardManager在android不同activity之间传递数据

1.intent实现数据传递
  • Qu_ya
  • Qu_ya
  • 2014年05月03日 16:53
  • 813

在不同的Activity之间传递数据--摘自《android开发权威指南.pdf》

在学习android的过程中,一定会设及到Activity之间的跳转,既然跳转那么已经回碰到数据的传递,在起初学习这一块的时候自己也是摸了很久,今天从新回顾下,也让后来者能更清晰的理解到activit...
  • dadai_
  • dadai_
  • 2015年11月03日 10:46
  • 507

Android笔记三.不同Activity之间的传递数据(Bundle对象的使用)

不同Activity之间的传递数据 Jiangdg_VIP http://blog.csdn.net/u012637501 一、API类说明 1.Bundle类-实现数据传递 (1)...

在不同Activity之间传递数据

在Android中传递数据的方法非常之多,如下4种为比较常用的方法。 *通过Intent传递数据 *通过静态(static)变量传递数据 *通过剪切板(Clipboard)传递数据 *通过全局...

不同Activity之间传递数据--Bundle对象和startActivityForResult方法的实现

首先,由于Activity是Android四大组件之一,如果一个应用程序中包含不止一个Activity,则需要在AndroidManifest.xml文件中进行声明。 例如进行如下的声明(程序中包含...

Activity之间传递数据

  • 2016年03月14日 17:54
  • 1.3MB
  • 下载

Android activity之间传递数据

Demo1Activity.java:package cn.itcast.passdata; import java.util.ArrayList; import java.util.List; ...

Android 开发之Activity之间传递数据

在android中,我们经常会从一个activity将数据传递到另外的一个activity中,而且还要从另外的activity中获取返回的数据, 其实在android中有很多方法可以做到,比如使...
  • twlkyao
  • twlkyao
  • 2013年03月19日 21:17
  • 615

Android基础 -- Activity之间传递数据(bitmap和map对象)

做项目的时候需要用到在2个activity之间传递一些数据,之前做的都是

【Android 开发】 : Activity之间传递数据的几种方式

在Android开发中,我们通常需要在不同的Activity之间传递数据,下面我们就来总结一下在Activity之间数据传递的几种方式。 1. 使用Intent来传递数据 Intent表示意图,很多...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android之在不同的Activity之间传递数据
举报原因:
原因补充:

(最多只允许输入30个字)