`
chenshengzun
  • 浏览: 115074 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

activity直接数据传递

 
阅读更多
在软件中所有的数据不可能在同一个页面或者是同一个类中进行处理,这就涉及到数据直接的传递,在web中前途数据要传递到后场进行数据处理是通过form表单进行传递的在Android中数据直接的传递是通过Bundle把数据压到栈中进行数据传递,然后通过.getIntent().getExtras()获取到里面的数据,下面是一个简单是数据之间的传递。首先在第一个activity 放两个EditView然后用户通过输入两个数据并传到另外一个activity中然后计算两个数的和显示结果
首先在main.xml中定义两个EditView和一个Button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="计算数据"
    />
<EditText
android:id="@+id/data1"
android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>
<EditText
android:id="@+id/data2"
android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="计算"
/>
</LinearLayout>
创建第一个activity类
package com.data;

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;
import android.widget.EditText;

public class ActivityData 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)findViewById(R.id.button);
        
        button.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

        EditText data1 = (EditText)findViewById(R.id.data1);
        EditText data2 = (EditText)findViewById(R.id.data2);
Intent intent = new Intent();
Bundle bundle = new Bundle();

bundle.putString("value1", data1.getText().toString());
bundle.putString("value2", data2.getText().toString());

intent.putExtras(bundle);
intent.setClass(ActivityData.this, ResultActivity.class);
startActivity(intent);
ActivityData.this.finish();
}
});
    }
}
并把用户输入的数据放在Bundle中通过Intent传递到另外一个activity
另外在layout文件夹中创建一个mylayout.xml配置文件里面添加一个EditView显示标签用了显示计算结果
<?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">

<TextView
android:id="@+id/result"
android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>

</LinearLayout>
创建另外接收数据的activity
package com.data;

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

public class ResultActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);

Bundle bundle = this.getIntent().getExtras();

Double data1 = Double.parseDouble(bundle.getString("value1"));
Double data2 = Double.parseDouble(bundle.getString("value2"));

Double result = data1 + data2;
TextView textView = (TextView)findViewById(R.id.result);
textView.setText("result ======== " + result);
}

}
获取第一个activity传过来的数据进行计算并显示结果
在AndroidManifest.xml中注册activity
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.data"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="4" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".ActivityData"
                  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=".ResultActivity" ></activity>
    </application>
</manifest>
执行结果图




分享到:
评论

相关推荐

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

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

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

    下面将详细阐述如何在Android中进行PopupWindow与Activity的数据传递。 首先,理解PopupWindow的基本概念。PopupWindow是Android SDK提供的一种轻量级弹出窗口,它可以显示在屏幕任意位置,并且可以设置背景透明度...

    Fragment与Activity使用Bundle传递数据

    因此,对于跨Activity的数据传递,一般推荐使用Parcelable或Serializable接口来持久化复杂对象,而不是直接放在Bundle里。 5. **限制和最佳实践**:尽管Bundle可以传递多种类型的数据,但并非所有类型都支持。例如...

    两个Activity之间传递参数的代码

    在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。本篇文章将详细讲解如何在Android的两个Activity之间传递参数,并通过给出的`LoginActivity.java`和`MainActivity.java...

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

    在Android应用开发中,Activity是用户界面的基本单元,它们之间的数据传递是常见的需求。这个"Android例子源码Activity间的数据传递"着重展示了如何在不同的Activity之间有效地传递数据。以下是关于这个主题的详细...

    利用广播Broadcast Receiver,在2个不同的Activity传递数据

    要实现两个Activity之间的数据传递,我们需要遵循以下步骤: 1. **创建BroadcastReceiver**: 首先,在需要发送数据的Activity中创建一个BroadcastReceiver的实例,并重写onReceive()方法。在这个方法里,我们将...

    Activity,ViewPager,Fragment和TabLayout数据传递

    如果每个`Tab`代表一个`Fragment`,那么数据传递的方式就跟前面介绍的一样,通过`Activity`或`Fragment`之间直接传递。 综上所述,`Activity`, `ViewPager`, `Fragment` 和 `TabLayout` 的数据传递涉及到`Intent`、...

    Activity之间传递数据

    在Android应用开发中,Activity是用户界面的基本单元,它们之间的数据传递是十分常见的操作。"Activity之间传递数据"这一主题,主要涉及如何使用Intent对象在不同的Activity之间传递各种类型的数据,包括基本数据...

    Activity间图片传递(3种方法)

    在Android开发中,Activity间的通信是至关重要的,其中包括数据的传递。当涉及到图片这种大对象时,我们需要采取一些特殊的方法来高效地进行传递。本文将详细介绍三种在Activity间传递图片的方法。 1. 资源ID间传递...

    安卓activity间的数据传递

    本篇文章将深入探讨“安卓activity间的数据传递”这一主题,特别关注使用Bundle对象的方法。 首先,Activity间的通信是Android应用设计的重要部分,这涉及到启动一个新Activity、在Intent中携带数据以及使用Bundle...

    activity值传递

    5. **启动模式与数据传递** Activity的启动模式(Standard、SingleTop、SingleTask、SingleInstance)会影响数据的传递。例如,如果使用SingleTask模式,当启动的Activity已经在栈顶,新的Intent不会创建新的...

    通过Intent实现Activity之间的切换,并传递数据

    在Android应用开发中,Intent是一种强大的机制,用于在组件之间建立通信桥梁,特别是在Activity之间进行切换和数据传递。本文将详细讲解如何通过Intent实现Activity之间的切换,并探讨如何利用Intent进行数据传递。 ...

    Activity之间传递对象的Demo

    一、Intent:数据传递的基础 Intent是Android系统中用于启动一个Activity或Service,同时也可以用来在组件间传递数据。我们可以通过Intent的putExtra()方法来添加需要传递的数据,然后在接收端通过getExtra()方法...

    Activity间数据传输

    由于`Activity`之间的独立性和松耦合特性,如何高效地在它们之间传递数据成为了一个关键问题。本文将详细介绍几种常见的数据传输方式,并探讨各自的优缺点。 #### 二、基于Intent的数据传输 **1. Intent的作用** -...

    service之service传递数据给Activity

    绑定服务允许Activity直接与Service交互,通过接口调用方法来获取数据。启动服务则是在后台执行一个任务,通常不直接与Activity交互,但可以通过BroadcastReceiver或ContentProvider传递数据。 **1. 绑定服务** ...

    Activity之间传递List数据

    然而,标准的Intent API并不直接支持传递大型数据集合,如List。本文将详细讨论如何在Android中实现Activity之间传递List数据。 首先,理解Intent的基本用法。Intent主要用于启动其他Activity或BroadcastReceiver,...

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

    当我们需要在不同的Activity之间传递数据时,比如用户选择头像的操作,就需要掌握Activity间的数据传递技术。本文将深入探讨如何在Android中实现这一功能。 首先,我们要知道在Android中,有多种方式可以在Activity...

    activity之间传递文件

    在Android开发中,Activity之间的数据传递是一个常见的任务,特别是在处理文件操作时。"activity之间传递文件"这个主题涉及了Android的Intent机制、文件系统管理以及可能的存储权限问题。在这个场景下,用户需要将名...

    Activity、Fragment数据交互

    1. **Activity之间的数据传递** - **Intent**: Activity间的通信主要通过Intent对象实现。我们可以在Intent中放入额外的数据,如通过putExtra()方法添加键值对,然后通过startActivity()或startActivityForResult()...

    Fragment与Activity 之间的数据传输

    - **通过Intent传递数据**:虽然Intent主要用于Activity之间的数据传递,但在启动Fragment时,我们也可以将数据通过Intent Bundle传递给Fragment,但这需要在Activity中手动将数据传递给Fragment的实例。 - **通过...

Global site tag (gtag.js) - Google Analytics