一:在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"
    android:background="@drawable/background7" >

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/user" />

<EditText
        android:id="@+id/user"
        android:layout_width="207dp"
        android:layout_height="wrap_content"
        android:hint="" />

<TextView
       
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/password" />

<EditText
        android:id="@+id/pwd"
        android:layout_width="203dp"
        android:layout_height="wrap_content"
        android:inputType="textPassword" />

<TextView
       
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/repass" />

<EditText
        android:id="@+id/repwd"
        android:layout_width="203dp"
        android:layout_height="wrap_content"
        android:inputType="textPassword" />

<TextView
       
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/email" />

<EditText
        android:id="@+id/email"
        android:layout_width="202dp"
        android:layout_height="wrap_content"
        android:hint="" />

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button1"
        android:text="@string/title"
    />
</LinearLayout>

二:在主活动的Activity中进行信息的处理

package com.org.bundle_ac;

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

public class MainActivity extends Activity {

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  
  Button button=(Button)findViewById(R.id.button1);//获取提交按钮
  button.setOnClickListener(new OnClickListener(){

@Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    String user=((EditText)findViewById(R.id.user)).getText().toString();//获取输入的用户名
    String pwd=((EditText)findViewById(R.id.pwd)).getText().toString();//获取输入的密码
    String repwd=((EditText)findViewById(R.id.repwd)).getText().toString();//获取输入的确认密码
    String email=((EditText)findViewById(R.id.email)).getText().toString();//获取输入的email地址
    
    if(!"".equals(user)&&!"".equals(pwd)&&!"".equals(email)){//进行判断
     if(!pwd.equals(repwd)){
      //如果两次输入的密码不一次给以提示消息并获得焦点
      Toast.makeText(MainActivity.this, "两次输入的密码不一致,请重新输入!", Toast.LENGTH_SHORT).show();
      ((EditText)findViewById(R.id.pwd)).setText("");//清空密码编辑框
      ((EditText)findViewById(R.id.repwd)).setText("");//清空确认密码编辑框
      ((EditText)findViewById(R.id.pwd)).requestFocus();//让密码编辑框获得焦点
     }else{
      //将输入的信息保存的到Bundle中,并开启一个新的Activity显示输入的用户注册信息
      Intent intent=new Intent(MainActivity.this,RegisterActivity.class);//
      Bundle bundle=new Bundle();//创建并实例化一个Bundle对象
      bundle.putCharSequence("user", user);//保存用户名
      bundle.putCharSequence("pwd", pwd);//保存密码
      bundle.putCharSequence("email", email);//保存email地址
      intent.putExtras(bundle);//将Bundle对象添加到Intent对象中
      startActivity(intent);//启新的Activity
     }
    }else{
     Toast.makeText(MainActivity.this, "请将注册信息输入完整!", Toast.LENGTH_SHORT).show();
    }
   }//
   
  });
 }

@Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }

}

三:在layout目录下创建名为register.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"
    android:background="@drawable/background7">

<TextView
        android:id="@+id/textView1"
        android:layout_width="210dp"
        android:layout_height="30dp"
        android:text="@string/user" />

<TextView
        android:id="@+id/textView2"
        android:layout_width="210dp"
        android:layout_height="30dp"
        android:text="@string/password" />

<TextView
        android:id="@+id/textView3"
        android:layout_width="210dp"
        android:layout_height="30dp"
        android:text="@string/email" />

</LinearLayout>

四:创建一个RegisterActivity类,并进行信息的接收工作

package com.org.bundle_ac;

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

public class RegisterActivity extends Activity {

@Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.register);//设置该Activity要显示的内容视图
  
  Intent intent=getIntent();//获取Intent对象
  Bundle bundle=intent.getExtras();//获取传递的数据包
  TextView user=(TextView)findViewById(R.id.textView1);//获取到显示用户名的TextView组件
  user.setText("用户名:"+bundle.getString("user"));//获取输入的用户名并显示到TextView组件中
  TextView pwd=(TextView)findViewById(R.id.textView2);//获取到显示密码的TextView组件
  pwd.setText("密码:"+bundle.getString("pwd"));//获取输入的密码并显示到TextView组件中
  TextView email=(TextView)findViewById(R.id.textView3);//获取到显示email的TextView组件
  email.setText("E-mail:"+bundle.getString("email"));//获取输入的email并显示到TextView组件中
 }

}

五:在AndroidManifest.xml文件中加入配置Activity的信息

<activity
            android:name=".RegisterActivity"
            android:label="@string/title"
            android:icon="@drawable/p1"
            ></activity>

六:string的文件下的

字符串的配置

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">Bundle_Ac</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="user">用户名:</string>
    <string name="password">密码:</string>
    <string name="repass">确认密码:</string>
    <string name="email">Email地址:</string>
    <string name="button1">提交</string>
    <string name="title">提交</string>
</resources>

最后加入背景图片:

使用Bundle在Activity之间交换数据的更多相关文章

  1. 使用 Bundle 在 Activity 之间交换数据

    [toc] 使用 Bundle 在 Activity 之间交换数据 场景 当一个 Activity 启动另一个 Activity 时,常常会有一些数据需要传过去.因为两个 Activity 之间本来就 ...

  2. 建立、配置和使用Activity——使用Bundle在Activity之间交换数据

    当一个Activity启动另一个Activity时,常常会有一些数据需要传过去——这就像Web应用从一个Servlet跳到另一个Serlvet时,Web应用习惯把需要交换的数据放入requestSco ...

  3. 使用Bundle在Activity中交换数据

    大概过程 编写demo activity_main.xml <?xml version="1.0" encoding="utf-8"?> <R ...

  4. Intent、Bundle——实现Activity之间的通信

    http://blog.sina.com.cn/s/blog_62dea93001015847.html 一个应用程序会有多个Activity,但是只有一个Activity作为程序的入口,应用中的其他 ...

  5. Activity之间的数据传递-android学习之旅(四十七)

    activity之间的数据传递主要有两种,一种是直接发送数据,另一种接受新启动的activity返回的数据,本质是一样的 使用Bundle传递数据 Intent使用Bundle在activity之间传 ...

  6. activity之间的数据传递方法

    1  基于消息的通信机制 Intent--------boudle,extra 用这种简单的形式,一般而言传递一些简单的类型是比较容易的,如int.string等 详细介绍下Intent机制 Inte ...

  7. Android Fragment与Activity之间的数据交换(Fragment从Activity获取数据)

    Fragment与Activity之间的数据交换,通常含有3: 一.Fragment从Activity获取数据(仅本文介绍了一个第一): 两.Activity从Fragment获取数据: 三.Frag ...

  8. Activity之间传递数据或数据包Bundle,传递对象,对象序列化,对象实现Parcelable接口

    package com.gaojinhua.android.activitymsg; import android.content.Intent; import android.os.Bundle; ...

  9. Activity之间传递数据的方式及常见问题总结

    Activity之间传递数据一般通过以下几种方式实现: 1. 通过intent传递数据 2. 通过Application 3. 使用单例 4. 静态成员变量.(可以考虑 WeakReferences) ...

随机推荐

  1. Quartz.NET 的任务调度管理工具

    [更新] 基于Quartz.NET 的任务调度管理工具   更新列表: 任务参数可视化. 立即中断正在执行的任务. 每个任务独立的应用程序域 上一版参见: 基于Quqrtz.NET 做的任务调度管理工 ...

  2. Codeforces 113A-Grammar Lessons(实现)

    A. Grammar Lessons time limit per test 5 seconds memory limit per test 256 megabytes input standard ...

  3. 发现新大陆:一个最简单的破解SSL加密网络数据包的方法

    1. 简介 相信能访问到这篇文章的同行基本上都会用过流行的网络抓包工具WireShark,用它来抓取相应的网络数据包来进行问题分析或者其他你懂的之类的事情. 一般来说,我们用WireShark来抓取包 ...

  4. 一张地图,告诉你NodeJS命令行调试器语句

    NodeJS提供脚本调试. 进入node debug xx.js您可以进入调试模式. 版权声明:本文博客原创文章,博客,未经同意,不得转载.

  5. 让Windows 8 / 8.1 以及 Windows Server 2012 / 2012 R2的任务管理器的性能面板,显示磁盘数据

    运行[diskperf -y],关闭任务管理器,重新打开即可.

  6. hdu5024(dp)

    意甲冠军: 薛期呵和王熙凤不想很接近生活(因为假定他们一起,柴可能取代王熙凤) 现在'.'事情是这样的.'#'一堵墙.薛期呵对宝让生活远: 因此,选择一个最长的公路,让他们住在两端: 路达一个转折点. ...

  7. jquery+ligerform三级联动下拉框

    如下为ligerform里的三级联动下拉框: var formData=[ {display:,width:,space:,type:"select",group:"区域 ...

  8. android App Widgets

    http://developer.android.com/guide/practices/ui_guidelines/widget_design.html#design http://develope ...

  9. ROWNUMBER()、RANK()、DENSE_RANK()、NTILE1

    SQLServer针对排名函数ROWNUMBER().RANK().DENSE_RANK().NTILE的研究!~ 相信大家在软件工程中经常会遇到对某些数据进行排名的问题,尤其是对于电子商务的HR来说 ...

  10. fastcgi重启

    重启nginx和php-cgi 的命令 nginx: sudo /etc/init.d/nginx restart 同样也可以有start,stop等参数php-cgi: 先杀死进程sudo kill ...