`

Android 数据传递-通过静态变量传递数据

 
阅读更多

 

使用Intent可以很方便在不同的Activity之间传递数据,这个也是官方推荐的方式,但是也有一定的局限性,就是Intent无法传递不能序列化的对象,例如(图片)。我们可以使用静态变量来解决这个问题
 

 

Ø案例一

 

 

package com.android.myintent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Main extends Activity {
	/** Called when the activity is first created. */
	private Button button;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		button = (Button) this.findViewById(R.id.button);
		button.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				// 声明一个意图
				Intent intent = new Intent();
				intent.setClass(Main.this, OtherActivity.class);
				OtherActivity.age = 23;
				OtherActivity.name = "jack";
				startActivity(intent);
			}
		});
	}
}

 

 

 

 

package com.android.myintent;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class OtherActivity extends Activity {

	private TextView textView;
	public static String name;
	public static int age;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.other);
		textView = (TextView)this.findViewById(R.id.msg);
		textView.setText("-name->>"+name+"\n"+"-age-->>"+age);
	}
}

 

 

分享到:
评论

相关推荐

    Android通过静态变量传递数据

    使用Intent可以很方便在不同的Activity之间传递数据,这个也是官方推荐的方式,但是也有一定的局限性,就是Intent无法传递不能序列化的对象。我们可以使用静态变量来解决这个问题。在接受类中定义静态变量

    Android-Activity之间数据传递的多种方式

    在Android应用开发中,Activity是用户界面的基本单元,它们之间的数据传递是十分常见的操作。本文将详细介绍Android中Activity之间数据传递的多种方式及其适用场景。 一、Intent传递数据 Intent是Android系统中...

    浅谈Android中关于静态变量(static)的使用问题

    - 单例模式下的对象,尽管通过静态变量持有,也可能在Android的特定情况下被回收。 4. **Application对象的可靠性**: - Application类在Android中作为一个全局单例,但它同样依赖于进程。进程被杀掉时,...

    android Activity之间的数据传递

    - **静态成员变量**:虽然不推荐,但在某些特定情况下,可以使用Activity的静态成员变量进行数据共享。 - **ContentProvider**:对于大量数据或跨应用数据传递,ContentProvider是一种标准机制,但它涉及到更多的...

    kotlin-for-android-developers-zh中文版

    7. **学习路径**:对于初学者,建议先掌握基础语法,然后通过实践项目巩固知识,逐步了解高级特性和Android特定功能。对于有经验的Java开发者,重点关注Kotlin与Java的不同之处,以及如何将现有项目迁移至Kotlin。 ...

    Android开发中Intent的四种数据传递方式

    4种最常用的Intent传递方式,这4种方式如下: 1、通过Intent传递数据 2、通过静态变量传递数据 3、通过剪切板传递数据 4、通过全局变量传递数据

    Android-Android界面跳转传递参数封装

    `Android-Android界面跳转传递参数封装`这个主题主要关注如何通过编程的方式优化这一过程,提高代码的可读性和可维护性。通常,开发者会使用Intent来实现Activity之间的通信,包括启动新的Activity和传递数据。下面...

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

    3. **静态变量**:创建全局静态变量,可以方便地在PopupWindow和Activity之间共享数据。但是,这种方法不推荐在大型项目中使用,因为它可能导致数据同步问题和内存泄漏。 4. **BroadcastReceiver**:注册一个...

    activity_data_change.rar_Change_android数据传递

    3. **静态成员变量/公共变量**: 尽管这不是推荐的做法,但可以通过定义静态变量或公共变量来在Activity之间共享数据。这种方式简单直接,但容易导致数据污染,且不易于管理。 ```java // 在一个Activity中设置静态...

    Android例子源码Activity间的数据传递

    7. **静态变量与全局对象**: 虽然不推荐,但在某些情况下,可以使用静态变量或全局对象来间接传递数据。这种方法可能会导致数据泄露和难以调试的问题,因此应谨慎使用。 8. **事件总线**:对于更复杂的场景,如多个...

    Android activity间的数据传递,选择头像

    3. **静态成员变量**:虽然不推荐,但有时为了简单快速地传递数据,开发者可能会使用类的静态成员变量。然而,这种方法存在内存泄漏的风险,且不易于管理。 4. **文件共享**:对于大数据量如图片、音频等,可以通过...

    Android笔记 Application对象的使用-数据传递以及内存泄漏问题

    - **静态成员变量**:可以在`Application`类中定义静态变量,这些变量在整个应用程序的生命周期内都存在,方便在不同组件间共享数据。例如: ```java public class MyApplication extends Application { public ...

    android-kotlin-projec-helloworldt.zip

    - Kotlin的语法糖如`var`和`val`(可变和不可变变量)、`data class`(数据类)以及高阶函数等特性,使得代码更加简洁易读。 2. **OkHttp**: - OkHttp是Square公司开发的一个高效的HTTP客户端,用于网络请求。 ...

    Android中传递对象

    我们知道在Android 系统中,可以用Bundle或Intent来保存和传递数据。我们有时由于程序某种需要,可能需要传递各种各样的自定义对象,只传递简单类型的数据是不够的。但这些对象在Activity之间不能直接传递,用什么...

    深入Android【八】-Activity间数据传输[参考].pdf

    - 使用静态变量:虽然简单,但可能导致内存泄漏,不推荐在Activity间长期保存数据。 - 实现Application对象:全局共享数据,但过度依赖可能导致难以维护。 - 使用Parcelable接口:自定义对象实现Parcelable,可...

    在不同Activity之间传递数据的四种常用方法

    2.通过静态变量(static)传递数据 3.通过剪贴板(Clipboard)传递数据 4.通过全局对象传递数据 在TransmitDataActivity.java中 package mobile.android.transmit.data; public class TransmitDataActivity ...

    Activity页面数据传递

    - 使用静态变量:简单但不推荐,因为静态变量容易造成内存泄漏。 - 文件存储:通过读写文件,数据可以在多个Activity间持久化。 - SharedPreferences:轻量级的存储机制,适合存储简单的配置信息。 - 数据库:SQLite...

    kotlin-for-android-developers-zh.pdf

    本教程通过一系列章节介绍了Kotlin在Android开发中的应用,从基础知识到高级主题,旨在帮助读者全面掌握这门语言,并能够应用于实际的Android项目开发中。希望每位开发者都能够从中受益,提高自己的开发技能。

    Android Intent传递对象

    在Android应用开发中,Intent是一种强大的工具,用于在不同的组件之间进行通信,如启动Activity、启动Service或在组件间传递数据。"Android Intent传递对象"这个主题主要关注如何利用Intent来传递自定义对象,以便在...

    activity与activity利用接口相互传递数据

    当我们需要在两个Activity之间传递数据时,通常有多种方法,如Intent、Bundle、静态变量、文件、数据库等。本教程将聚焦于一种更为灵活的方式:通过接口进行数据传递。这种方式在某些复杂场景下特别有用,例如当数据...

Global site tag (gtag.js) - Google Analytics