`

Activity几种数据传递的方法

 
阅读更多

 

 

 

1 传递数据 Application(与Web中的全局变量一样) 

  步骤:1)定义一个类实现Application 2)主的xml中application的属性中添加name="类的路径"

        3)  Activity中调用 调用 ,定义的类的实例 = (类) getApplication();并且改变里面的数值

4)在任何其他地方调用这个方法取出数据

 

2  剪切板来传递数据 

    1)得到剪切板对象 2)在另一个Activity中得到数据

    ClipboardManager cbManager= (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE );

    cbManager.setText("牛魔王,签收观音");

    2)在另一个Activity中得到数据

String name =cbManager.getText().toString();

    Toast.makeText(HtmlActivity.this ,"测试App+=="+ name, Toast.LENGTH_SHORT).show();

 

 

3 Intent 来传递数据 (推荐,但是不能传递不能序列化的数据 )

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

        String message =  "按钮过 ";

        intent.putExtra(EXTRA_MESSAGE, message);

4 静态变量 (类的静态变量数据可以共享特性)

  将数据保存在静态变量中,然后启动另一个Activity后在另一个Activity中取出数据 

 

5 Activity 调用Activity后回传数据 (数据回传)

 1)主的Activity中调用以下方法启动Activity2,并重写onActivityResult

	Intent intent = new Intent(this, PassDataMainActivity2.class);
	startActivityForResult(intent , REQUESTCODE);


	 @Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		Log.e("onActivityResult==", "====onActivityResult==") ;
		if(resultCode==2 ){
			if(resultCode==REQUESTCODE){
				Bundle b = data.getExtras();
				String r = b.getInt("result")+"";
				
				result.setText( r);		
			}
		}
	}

 

 2)将计算好的数据放到Intent中调用setResult返回数据,调用finish结束Activity

  

	Intent intent2 = new Intent();
	int three = Integer.parseInt(edit.getText().toString());
	intent2.putExtra("result",  three);
	setResult( 2,intent2 ); //回传intnet 
	finish(); //结束当前activity生命周期 

 

 

 

 

 

分享到:
评论

相关推荐

    Android PopupWindow与Activity之间的数据传递.zip

    接着,我们探讨数据传递的几种方式: 1. **Intent**:虽然Intent主要用于Activity之间的数据传递,但也可以用在PopupWindow与Activity之间。例如,当用户在PopupWindow中做出选择后,可以通过Intent将数据传回...

    Activity,ViewPager,Fragment和TabLayout数据传递

    数据传递到`ViewPager`的各个`Fragment`,可以有以下几种方式: 1. 在`FragmentPagerAdapter`的`instantiateItem()`方法中,将数据作为参数传给创建的`Fragment`实例。 2. 通过`Bundle`在`Fragment`的构造函数或者`...

    Android之Activity的生命周期和Activity间的跳转和数据传递)

    ### Android之Activity的生命周期与Activity间的跳转及数据传递 #### Activity的概念与作用 在Android应用开发中,`Activity`是四大组件之一,主要负责管理应用程序的用户界面(UI)。一个Activity代表一个屏幕上的...

    Android五种数据传递方法汇总

    Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起。它们各有利弊,有各自的应用场景。 我现在把它们集中到一个例子中展示,在例子中每一个按纽代表...

    Activity间数据传输

    本文将详细介绍几种常见的数据传输方式,并探讨各自的优缺点。 #### 二、基于Intent的数据传输 **1. Intent的作用** - `Intent`是Android中的一种消息机制,用于启动新`Activity`或向其他组件发送消息。 - 在启动...

    Android Activity间共享数据

    首先,我们来理解Activity间数据传递的几种主要方式: 1. **Intent传参**:这是最常用的方法,通过Intent对象携带数据。可以传递基本类型、Parcelable接口实现类(如自定义对象)、Serializable接口实现类等。以下...

    activity中图片传递

    在Android中,可以通过Intent来实现`Activity`之间的数据传递。具体来说,可以通过调用`Intent`的`putExtra()`方法将数据附加到Intent对象上,然后通过`startActivity()`或`startActivityForResult()`方法将Intent...

    activity_data_change.rar_Change_android数据传递

    我们将探讨几种主要的数据传递方式。 1. **Intent**: Intent是Android中的一个核心概念,它用于启动一个Activity或Service,同时也常用于传递数据。通过在Intent中添加额外的数据(键值对),可以在启动新Activity...

    解析activity之间数据传递方法的详解

    在Android开发中,Activity之间的数据传递是一个常见的需求,本文将详细讲解几种常见的数据传递方法。 首先,最常用且简单的是基于消息的通信机制,即使用Intent和Bundle。Intent是Android中启动服务、启动或跳转...

    接口关联方式 Fragment之间通过Activity相互传值和调用方法

    当需要在Fragment之间传递数据时,通常有以下几种方法: 1. 使用Bundle:在创建Fragment时,可以通过Bundle对象传递基本类型或者序列化的对象。例如,Fragment A可以创建一个包含数据的Bundle,然后在Fragment B的...

    activity service 数据交互

    主要有以下几种: 1. **Intent**: 这是最常见的通信方式,通过Intent对象传递数据给Service。启动Service时,可以在Intent中添加额外的数据,Service通过onStartCommand()方法获取这些数据。同样,Service可以通过...

    Android学习笔记(十二)——使用意图传递数据的几种方式

    在Android应用开发中,意图(Intent)是连接各个组件(如Activity、Service、BroadcastReceiver)的重要桥梁,也是数据传递的一种常见手段。本篇笔记将详细探讨Android中使用意图传递数据的几种方式,帮助开发者深入...

    Android四大组件——Activity(一)Activity之间通信及其生命周期变化

    Intent是一种消息对象,用于启动新的Activity或传递数据给其他组件。例如,当需要从一个Activity跳转到另一个Activity时,我们可以创建一个Intent,设置目标Activity的类名,然后调用`startActivity()`方法。如果...

    AndroidFragment数据传递

    由于两个Fragment不能直接通信,所以通常采用以下几种方式:通过Activity作为中介、使用EventBus或者LocalBroadcastManager。通过Activity作为中介是最常见的做法,其中一个Fragment将数据通过接口或方法传递给...

    Android系列之Intent传递对象的几种实例方法

    Intent不仅可以用来启动活动(Activity)、服务(Service)或者广播接收器(BroadcastReceiver),还可以传递数据。本篇文章将详细探讨如何通过Intent在Android中传递对象,主要分为两种方式:使用`Serializable`...

    Activity之间的跳转项目案例实现

    这里我们将详细探讨Activity的生命周期、启动模式、以及如何在Activity间进行数据传递。 首先,Activity的生命周期是Android开发者必须理解的关键概念。一个Activity有以下几个关键状态:`onCreate()`、`onStart()`...

    Fragment与Activity通信的小例子

    要实现在Fragment和Activity之间的通信,通常有以下几种方式: 1. **Intent**:虽然Intent主要用于Activity之间的通信,但也可以用在Fragment向Activity传递数据,只需通过`getActivity().startActivityForResult()...

    (Activity与Fragment之间进行传值

    在Activity与Fragment之间进行传值主要有以下几种方法: 1. **通过Intent传递数据**: - 如果从Activity启动一个新的Fragment,我们可以通过Intent将数据传递给Fragment。在创建Fragment实例时,可以使用Bundle...

    Activity间传值

    这种需求可以通过多种方式实现,下面详细介绍几种常用的方法。 1. **Intent传递基本类型和Parcelable/Serializable对象** - **基本类型**:在启动新Activity时,可以通过Intent的putExtra()方法添加数据(如字符串...

    Android Parcelable序列化自定义类集合在Activity间传递

    综上所述,要理解并实现Android中Parcelable序列化自定义类集合在Activity间传递,开发者需要掌握Parcelable接口的使用、自定义类的Parcelable实现、集合处理、Intent数据传递,以及可能借助的源码阅读和辅助工具。...

Global site tag (gtag.js) - Google Analytics