`

Android 数据传递-通过全局变量传递数据

 
阅读更多

 ØActivity之间数据传递中还有一种比较实用的方式,就是全局对象,实用J2EE的读者来说都知道Java Web的四个作用域,

 

这四个作用域从小到大分别是PageRequestSessionApplication,其中Application域在应用程序的任何地方都可以使用

 

和访问,除非是Web服务器停止,Android中的全局对象非常类似于Java Web中的Application域,除非是Android应用程序清

 

除内存,否则全局对象将一直可以访问。

 
Ø案例一

 

package com.android.myapp;

import android.R.integer;
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;
	private MyApp myApp;
    @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
				myApp = (MyApp)getApplication();
				myApp.setName("jack");//修改之后的名称
				Intent intent = new Intent(Main.this,OtherActivity.class);
				startActivity(intent);
			}
		});
    }
}

 

   

package com.android.myapp;

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

public class OtherActivity extends Activity {

	private MyApp myApp;
	private TextView textView;
	@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);
		myApp = (MyApp)getApplication();
		textView.setText("-appname-->>"+myApp.getName());
	}
}

 

 

package com.android.myapp;

import android.app.Application;

public class MyApp extends Application {

	public String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		super.onCreate();
		setName("张三");
	}
}

 

分享到:
评论

相关推荐

    Android通过全局变量传递数据

    3 在传数据类中获取全局变量Application对象并设置数据 myApp MyApp getApplication ; myApp setName "jack" ; 修改之后的名称 4 在收数据类中接收Application对象 myApp MyApp getApplication ;">在...

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

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

    Eclipse编写的Android全局变量应用实例

    在Android开发中,全局变量的使用是相当普遍的,它们可以跨多个活动(Activities)或整个应用程序保持数据的持久性。本教程将基于Eclipse V4.2.0这一版本的集成开发环境(IDE),深入讲解如何在Android项目中创建和...

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

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

    使用Application做全局变量

    在Android开发中,全局变量的使用常常是为了在不同的Activity之间共享数据。`Application`类是Android框架提供的一种机制,允许开发者创建一个与应用程序生命周期绑定的单例对象,从而实现全局变量的效果。本篇文章...

    通过全局对象传递数据

    总的来说,通过全局对象传递数据是Android应用开发中的一种常见做法,但需要谨慎使用,避免滥用可能导致的问题。合理地利用全局对象,可以提高代码的复用性和可维护性。在实际开发中,应根据具体需求选择最适合的...

    android使用意图传递数据

    这是一个ppt文档,在里面详细的帮我们介绍了在Activity之间传递数据,通过全局变量传递数据。

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

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

    kotlin-for-android-developers-zh.pdf

    - **目标读者**: 本书适用于希望学习或深化对Kotlin理解的Android开发者,特别是那些希望通过Kotlin提高生产力的开发者们。 #### Kotlin入门 - **安装与配置**: - 安装Android Studio。 - 在IDE中安装Kotlin插件...

    Android编程中全局变量问题分析

    在Android编程中,全局变量的使用常常涉及到应用的生命周期管理和数据持久化。本文将深入探讨在Android中如何正确地处理全局变量以及遇到的一些常见问题。 首先,全局变量通常用于在整个应用程序范围内共享数据。在...

    android-kotlin-projec-helloworldt.zip

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

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

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

    activity_data_change.rar_Change_android数据传递

    `activity_data_change.rar`这个压缩包文件很可能是包含了一个示例项目,用于演示如何在Android的Activity之间进行数据传递。我们将探讨几种主要的数据传递方式。 1. **Intent**: Intent是Android中的一个核心概念...

    Android-uni-app接入android原生环信客服

    这部分可以通过uni-app的全局变量或者自定义事件来实现,将用户信息传递给环信的初始化方法。此外,发送订单或轨迹消息的功能可能需要与你的后台系统进行交互,获取订单详情或用户行为轨迹,然后封装成环信支持的...

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

    在Android应用开发中,Activity是构成应用程序界面的基本单元,它们之间可以通过Intent机制进行数据传输。Intent不仅用于启动新的Activity,还能携带数据在Activity之间传递。以下是关于Activity间数据传输的详细...

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

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

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

    相较于Activity,`Application`的生命周期更长,全局唯一,因此常被用于全局变量的存储和初始化工作。 1. 数据传递: - **静态成员变量**:可以在`Application`类中定义静态变量,这些变量在整个应用程序的生命...

    activity间数据的传递列表显示

    在Android应用开发中,Activity之间的数据传递是必不可少的环节,特别是在构建复杂的用户界面时。本文将深入探讨如何在Activity之间传递数据,特别是涉及到列表显示的情况,以及如何在Activity销毁时处理数据的返回...

    Activity页面数据传递

    在Android应用中,我们经常需要在不同的Activity之间传递数据,这可能是为了启动新Activity时设置参数,或者在用户完成某操作后返回结果。以下将详细介绍Activity之间如何进行数据传递。 ### 1. 启动Activity时的...

Global site tag (gtag.js) - Google Analytics