`
01jiangwei01
  • 浏览: 542920 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

安卓课程五 使用静态变量在Activity之间传递数据

 
阅读更多

这次讲解一下如何使用静态变量来传递数据,

原理其实很简单,就是在接收端的Avtivity里面设置static的变量,在发送端这边改变静态变量的值,然后启动意图。

效果图为:

发送端截图:


接收端截图:



 上代码:

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

public class MainActivity extends Activity {
	private Button btn;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn = (Button)findViewById(R.id.btOpenOtherActivity);
        btn.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				//定义一个意图
			Intent intent = new Intent(MainActivity.this,OtherActivity.class);
				//改变OtherActivity的三个静态变量的值
				OtherActivity.name = "wulianghuan";
				OtherActivity.age = "22";
				OtherActivity.address = "上海闵行";
				startActivity(intent);
			}
		});
    }
}

 OtherActivity.java

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

import com.example.hello10.R;

public class OtherActivity extends Activity {
	public static String name;
	public static String age;
	public static String address;
	private TextView text_name;
	private TextView text_age;
	private TextView text_address;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.other);
		text_name = (TextView) findViewById(R.id.name);
		text_age = (TextView) findViewById(R.id.age);
		text_address = (TextView) findViewById(R.id.address);	
		//设置文本框的数据
		text_name.setText("姓名:"+name);
		text_age.setText("年龄:"+age);
		text_address.setText("地址:"+address);
	}
}

 strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">hello10</string>
    <string name="action_settings">Settings</string>
    <string name="tip1">这是:MainActivity</string>
    <string name="tip2">使用静态变量传递数据</string>
    <string name="tip3">Hello world!</string>

</resources>

 main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/tip1" />
    
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btOpenOtherActivity"
        android:text="@string/tip2"/>

</LinearLayout>

 other.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         android:id="@+id/name"
        android:text="" />
     <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         android:id="@+id/age"
        android:text="" />
     <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         android:id="@+id/address"
        android:text="" />
   

</LinearLayout>

 
 

  • 大小: 64 KB
  • 大小: 59.4 KB
分享到:
评论

相关推荐

    Android通过静态变量传递数据

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

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

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

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

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

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

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

    Fragment与Activity 之间的数据传输

    - **使用静态方法或成员变量**:在同一个Activity内的Fragment间,可以直接通过静态方法或共享成员变量进行数据交换,但这种方式不利于代码的维护和扩展。 **4. Fragment的切换** Fragment的切换通常通过...

    Activity review activity之间的数据传递

    在Android应用开发中,Activity是用户界面的基本单元,它们之间常常需要进行数据的传递。"Activity review activity之间的数据传递"这个主题聚焦于如何在不同的Activity之间有效地传递信息。理解并熟练掌握这一技能...

    android Activity之间的数据传递

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

    两个activity之间的数据传递

    本教程将详细讲解如何在两个Activity之间实现数据传递,主要涉及三种常见方法:Intent的Extra数据、Bundle对象以及使用静态成员变量。我们首先从Intent的Extra数据开始。 1. **Intent的Extra数据**: Intent是...

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

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

    安卓体重计算器java源程序 使用Intent在Activity间传输数据

    7. **Activity间的通信方式**:除了Intent,还有其他方式在Activity间通信,如使用静态变量、BroadcastReceiver、Fragment、ViewModel等。但是,Intent是最常用且灵活的方法,尤其适合简单的数据传递。 在这个...

    Activity之间传递List数据

    本文将详细讨论如何在Android中实现Activity之间传递List数据。 首先,理解Intent的基本用法。Intent主要用于启动其他Activity或BroadcastReceiver,同时可以携带少量数据。通过putExtra()方法,我们可以传递基本...

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

    在Android开发中,静态变量(`static`)的使用是一个重要的议题,因为它涉及到应用程序的内存管理、生命周期以及可能引发的问题。下面将详细讨论以下几个方面: 1. **静态变量的生命周期**: - 静态变量在类被加载...

    Android Activity之间的跳转以及数据的交互传递

    在Android中,数据的传递方式多样,包括Intent、Bundle、静态成员变量、文件、ContentProvider、数据库等。其中,Intent和Bundle是最常用的方式,已经在前面的部分有所介绍。静态成员变量适用于简单数据的跨Activity...

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

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

    Android Activity间共享数据

    在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据来实现功能的联动。本文将深入探讨如何在Android的Activity之间共享数据,并提供代码实例供开发者参考。 首先,我们来...

    Activity间数据传输案例demo

    总结,"Activity间数据传输案例demo"主要展示了如何使用Intent和Bundle在Android应用的不同Activity之间传递数据,包括基本类型、复杂对象以及批量数据。对于初学者来说,理解并熟练运用这些方法,是掌握Android开发...

    Activity之间的数据传输的示例(实现根据身高计算标准体重)

    在我们的示例中,我们需要将用户的身高数据从一个Activity传递到另一个Activity,以便计算标准体重。 1. **创建Intent**: 在源Activity中,我们可以通过`Intent intent = new Intent(this, DestinationActivity....

    android实现activity直接的传值问题

    当需要在不同的Activity之间传递数据时,Android提供了多种方式来实现这一功能。本文将深入探讨如何在Android中实现在Activity之间直接传递值。 一、Intent的使用 Intent是Android中用于启动另一个组件(如...

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

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

Global site tag (gtag.js) - Google Analytics