Android 在不同Actitity之间数据传递_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android 在不同Actitity之间数据传递

Android 在不同Actitity之间数据传递

 2016/7/18 5:31:13  wuyudong  程序员俱乐部  我要评论(0)
  • 摘要:本文实现一个简易的人品计算器来实践在不同Actitity之间数据传递intent的数据传递从A界面打开B界面把A界面的数据传递给B界面1.intent.setData(uri)--intent.getData();可以传递简单的文本数据。2.intent.putExtra(name,value)8大基本类型的数据,数组都可以传递String对象可以传递charSequence可以序列化的对象(序列化到文件)Serializable也可以传递可以序列化的对象(序列化到内存
  • 标签:android 数据 数据传递

本文实现一个简易的人品计算器来实践在不同Actitity之间数据传递

intent的数据传递

从A界面打开B界面 把A界面的数据传递给B界面

1. intent.setData(uri) -- intent.getData();

可以传递简单的文本数据。

2. intent.putExtra(name, value)

8大基本类型的数据,数组都可以传递
String对象 可以传递 charSequence
可以序列化的对象(序列化到文件) Serializable 也可以传递
可以序列化的对象(序列化到内存) Parcelable 也可以传递 bitmap
可以传递 一个map集合 Bundle extras = new Bundle();

本文地址:http://www.cnblogs.com/wuyudong/p/5679191.html,转载请注明源地址。

新建项目,activity_main.xml中的代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="人品计算器"
        android:textColor="#ff0000"
        android:textSize="26sp" />

    <EditText
        android:id="@+id/et_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入姓名" >
    </EditText>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <Button
            android:layout_centerInParent="true"
            android:onClick="click"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="计算"
            >
        </Button>
    </RelativeLayout>

</LinearLayout>

界面如下:

输入姓名后,点击按钮跳转到另一个结果界面:activity_result.xml

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

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="测试结果:"
        android:textColor="#ff0000"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/tv_result"
        android:text="xxx:"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#99000000"
        android:textSize="17sp" />

    <ProgressBar
        android:id="@+id/progressBar1"
        android:max="100"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

界面如下:

ResultActivity.java代码如下:

package com.wuyudong.testrp;

import java.util.Random;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.widget.TextView;

public class ResultActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);
        TextView tv_result = (TextView) findViewById(R.id.tv_result);
        
        Intent intent = getIntent();
        
        String name = intent.getStringExtra("name");
        Random rm = new Random();
        int rp = rm.nextInt(101);
        tv_result.setText(name + ":您的人品值为:" + rp);
        
        ProgressBar pb = (ProgressBar)findViewById(R.id.progressBar1);
        pb.setProgress(rp);

    }
}

 

发表评论
用户名: 匿名