`

Android 向Activity传递数据的几种方法

 
阅读更多
1. 使用clipborad 传递
写入数据
button_clipboard.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                ClipboardManager clipboardManager=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
                String context =  "manualy";
                clipboardManager.setText(context);
                Intent intent = new Intent(Main.this, OtherActivity.class);
                startActivity(intent);
            }
        });

读出数据
            ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
            String content = (String)clipboardManager.getText();


2.使用Application传递服务级别的数据(只要没有调用onDestroy()服务级别的数据就不会消失)
MyApp.java
import android.app.Application;

public class MyApp extends Application{
    private String name;

    public String getName() {
        return name;
    }

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

    @Override
    public void onCreate() {
        super.onCreate();
        setName("Peter");
    }
}


改写AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mymobile.xinxin.mymobile" >

    <application
        android:name=".MyApp" <!--添加对应的Application-->
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".Main"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".OtherActivity"></activity>
    </application>

</manifest>



写入数据
        MyApp myApp;
        button_clipboard.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                myApp=(MyApp)getApplication();
                myApp.setName("Jack");
                Intent intent = new Intent(Main.this, OtherActivity.class);
                startActivity(intent);
            }
        });


读出数据
MyApp myApp;
myApp = (MyApp)getApplication();
String name = myApp.getName()



3.使用Intent传递数据
写入数据
        button_clipboard.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(Main.this, OtherActivity.class);
                intent.putExtra("Address","China");
                startActivity(intent);
            }
        });


读出数据
Intent intent =  getIntent();
String address = intent.getStringExtra("Address")


4.使用静态变量传递数据
写入数据
        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(Main.this, OtherActivity.class);
                OtherActivity.name="Tom";
                OtherActivity.age=33;
                startActivity(intent);
            }
        });


读出数据
public class OtherActivity extends Activity{

    private TextView textView;
    public static String name;
    public static int age;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.other);
        textView = (TextView)this.findViewById(R.id.msg);
        textView.setText("name: " + name +"\nage: " +age );
    }
}

分享到:
评论

相关推荐

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

    当PopupWindow需要向Activity传递数据时,只需调用已实现的接口方法即可。这样做的好处是保持了PopupWindow和Activity之间的解耦。 3. **静态变量**:创建全局静态变量,可以方便地在PopupWindow和Activity之间共享...

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

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

    Android五种数据传递方法汇总

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

    Android Activity间共享数据

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

    Activity,ViewPager,Fragment和TabLayout数据传递

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

    Activity间数据传输

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

    android native activity项目

    在Android系统中,Native Activity是一种特殊类型的Activity,它允许开发者使用C或C++代码来实现应用程序的用户界面,而不是传统的Java或Kotlin。这得益于Android的NDK(Native Development Kit),一个工具集,使得...

    activity_data_change.rar_Change_android数据传递

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

    AndroidFragment数据传递

    首先,我们来看Fragment向Activity传递数据。这通常通过接口回调、Bundle或者事件总线等方式实现。最常见的方法是使用Bundle,因为这种方式简单且易于理解。在Fragment中,我们可以创建一个方法,如`...

    activity中图片传递

    在Android开发过程中,经常会遇到需要在不同的`Activity`之间传递数据的需求,例如用户从一个页面选择一张图片后,在另一个页面显示这张图片等场景。本篇文章将详细探讨如何在两个`Activity`(即`MainActivity`与`...

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

    本篇笔记将详细探讨Android中使用意图传递数据的几种方式,帮助开发者深入理解这一核心概念。 1. **基本数据类型传递** 对于简单的数据类型,如字符串(String)、整型(int)、浮点型(float)等,可以直接通过Intent的...

    Android的Activity周期 Android的Activity周期 Android的Activity周期

    Activity的生命周期主要通过以下几种状态来定义: 1. **启动状态**:Activity被创建但还没有完全显示。 2. **运行状态**:Activity处于前台并且对用户可见。 3. **暂停状态**:Activity不再处于前台但仍可见。 4. *...

    Android中Activity切换动画

    Android系统默认提供了几种基本的切换动画,如淡入淡出、滑动等。这些动画可以通过在Manifest.xml文件中的`&lt;activity&gt;`标签内设置`android:transitionAnimationScale`属性来启用或禁用。例如,设置为0.5将使动画...

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

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

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

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

    Android activity intent 相关Java源代码

    在Android应用开发中,Activity是Android系统中的一个核心组件,它是用户界面的载体,而Intent则是连接各个Activity的桥梁,用于传递数据和启动其他组件。Intent不仅用于启动Activity,还能启动Service、...

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

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

    Activity点击穿透效果

    要实现点击穿透,我们可以通过以下几种方法: 1. 自定义ViewGroup:创建一个自定义的 ViewGroup,并重写 `onInterceptTouchEvent` 方法。在这个方法里,如果检测到不需要拦截的事件(例如滑动事件),就返回 false...

    android 运算器 不同activity间的跳转

    通过设置Intent的`putExtra()`方法传递数据,然后在目标Activity中使用`setResult()`和`finish()`返回结果。源Activity可以通过`onActivityResult()`方法接收返回的结果。 在描述中提到的"几个常用控件的用法",...

    Android参数传递方法汇总

    参见 http://blog.csdn.net/xcl168 Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起。它们各有利弊,有各自己的应用场景。 我现在把它们集中到...

Global site tag (gtag.js) - Google Analytics