`
come_for_dream
  • 浏览: 120768 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Android实现两个Activity界面的跳转并传值

 
阅读更多

                 Android实现Activity两个界面的跳转和传值

 

              前些天试着做了一个音乐播放器,很简单的一个程序,不过里面涉及到的知识需要我好好总结下。

              首先我们首先说下两个Activity之间的跳转,不涉及传值。这里涉及到一个异常强大的Intent类,顾名思义,它的字面意思是“意图”,他异常重要,我们知道Android有四大核心组件 Activity、Service、Broadcast Receiver和Content Provider,略去Content Provider不提,剩下的三组组件靠的就是通过Intent所以说Intent的重要性你就可以知道的,真不是盖的!!!之前的博客中已经提到过了,可以通过它来实现打电话,发短信的功能。

            实现两个Activity界面的跳转主要是用到Intent中的setclass(this,otherActivity.class)方法和Activity的startActivity()方法。

Intent intent=new Intent();
intent.setClass(MainActivity.this,MyActivity.class);
this.startActivity(intent);

          当然这样的几行代码并不能实现从MainActivity的界面到MyActivity界面的跳转,

       我们还要做的工作是要在AndroidManifest.xml中注册一个MyAcitivity以获得权限
        

        <activity 
             android:name="com.example.helloworld.MyActivity"
             android:label="@string/app_name" >            
        </activity>

 下面是我自己写的学习步骤

 

 c.通过Intent实现两个手机界面的跳转方法:
       Frist,创建一个新的Activity,继承super.onCreate()方法
       Second,在layout文件夹下创建一个新的activaty_my.xml文件实现LinearLayout,
              然后在界面添加自己想要在这个界面上出现的控件
	          setContentView(R.layout.activaty_my);
     Third,在MainActivity中的按钮监听器中加入如下代码:
	         Intent intent=new Intent();
		 	 intent.setClass(MainActivity.this,MyActivity.class);
			this.startActivity(intent);
     Fourth,要在AndroidManifest.xml中注册一个Acitivity
	        <activity 
             android:name="com.example.helloworld.MyActivity"
             android:label="@string/app_name" >            
            </activity>

 

 实现从一个Activity向另一个Activity传值,在传值的时候主要用到intent的putExtra()方法,下面是该方法的截图

从上面的方法截图中那个可以看出,该方法可以传递的值的类型有很多,下面是从MainActivity的界面到PlayerActivity界面的跳转传递一个整数值和一个字符串的代码:

MainActivity中的代码
Intent intent = new Intent();
intent.setClass(MainActivity.this, PlayerActivity.class);
//放入整数
intent.putExtra("key", 5);
//放入字符串
intent.putExtra("str", "字符串");				
startActivity(intent);


PlayerActivity中的代码
Intent intent = this.getIntent();
// 获得整数
intMusicIndex = intent.getIntExtra("key", 0);
//获得字符串
System.out.println(intent.getStringExtra("str"));

  

  我们还可以通过 Bundle来包装数据再使用putExtra()来进行数据的传递

MainActivity中的代码:

Intent intent = new Intent();
intent.setClass(MainActivity.this, PlayerActivity.class);
				
Bundle bundle1=new Bundle();
bundle1.putInt("bundle", 33);
 //两个参数
intent.putExtra("intent", bundle1);
			     
Bundle bundle2=new Bundle();
bundle2.putString("ss", "无参");
//一个参数
intent.putExtras(bundle2);

startActivity(intent);	

注意一个是
putExtra,另一个是putExtras




PlayerActivity中的代码:
Intent intent = this.getIntent();
//获得指定的Bundle
Bundle bundle0=intent.getBundleExtra("intent");
int i=bundle0.getInt("bundle");
System.out.println(i);
//默认	
Bundle bundle=intent.getExtras();
System.out.println(bundle.getString("ss"));

注意一个是getBundleExtra,一个是getExtras

 

  • 大小: 19.5 KB
分享到:
评论

相关推荐

    android两个activity相互传值

    在实际的开发过程中,常常需要在两个Activity之间传递数据,比如从一个Activity启动另一个Activity并传递一些参数,然后在新的Activity中处理这些参数,甚至在完成后将结果返回给原来的Activity。本文将详细讲解如何...

    fragment activity与fragment相互传值 fragment与fragment跳转

    本示例主要关注两个核心知识点:Fragment与Activity之间的数据传递,以及Fragment之间的跳转。 首先,我们来探讨Fragment与Activity之间的数据传递。在Android中,有多种方式实现两者间的数据交换: 1. **通过...

    安卓界面跳转传值及返回父屏

    在"MyApplication"项目中,你将实践上述步骤,创建两个Activity,一个作为父Activity,另一个作为子Activity。在子Activity中,你可以尝试传递不同类型的数据,并在父Activity中接收并显示。同时,确保正确处理返回...

    android画面跳转及传值实例代码.pdf

    在这个例子中,布局文件`main.xml`是一个垂直排列的`LinearLayout`,包含两个`Button`,分别对应"按钮1"和"按钮2"。每个`Button`都有自己的ID,通过`findViewById()`在Java代码中找到对应的视图对象,然后设置监听器...

    最简单的2个Activity跳转

    在Eclipse中,你可以创建两个Android项目,分别代表两个Activity。在第一个Activity的按钮点击事件中实现上述代码,然后在第二个Activity中接收并处理传递的数据。 通过以上步骤,你就能实现基本的Activity跳转和...

    Android课程第二次实验报告-Intent传值.docx

    实验中提到了两个Activity页面,即`LoginActivity`和另一个未明确提及的Activity。在Android中,每个Activity都代表一个用户界面,可以通过XML布局文件定义其视图元素。`LoginActivity`通常用于用户登录,包含...

    安卓中activity的三种intent跳转方式

    在上面的代码中,我们首先定义了两个 Activity:IntentOneDemoActivity 和 IntentTwoDemoActivity。然后,在 IntentOneDemoActivity 中,我们创建了一个 Intent 对象,并将其传递给 startActivity() 方法,以便启动 ...

    Android练习1

    本项目要求实现两个界面之间的传值,并在 Log 中输出测试信息。 二、网络请求 本项目要求使用 HTTP 客户端访问服务器,获取 JSON 格式的数据,并解析返回值。如果返回值中的 returnCode 大于 0,则将 returnCode ...

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

    本示例主要探讨如何在两个Activity之间传递数据,具体应用为根据身高计算标准体重,这涉及到Intent对象的使用以及Parcelable接口的实现。下面我们将深入讲解这个过程。 首先,我们了解数据传输的基础——Intent。...

    android自学2

    此外,XML布局文件main.xml也展示了如何创建包含两个TextView的LinearLayout,并分别设置了不同的文本内容。一个TextView的文字在XML中直接指定,另一个则在程序运行时动态修改。 总的来说,这个章节是Android开发...

    安卓页面相互传值

    在Android中,从一个Activity跳转到另一个Activity,通常会用到Intent对象。Intent不仅用于启动新的Activity,也是传递数据的关键工具。 1. 使用Intent传递基本类型数据: 当需要传递如字符串、整型、浮点型等基本...

    listview的item子控件删除和跳转传值,点击选中

    在这个场景中,我们主要讨论两个关键点:1) 如何处理ListView中的item子控件的删除操作;2) 如何实现在点击item时进行页面跳转并传递值;3) 以及如何实现item的点击选中效果。 首先,我们来探讨ListView的item子...

    android中Intent传值与Bundle传值的区别详解

    举个例子我现在要从A界面跳转到B界面或者C界面 这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两遍添加值的方法 那么 如果我用1个Bundle 直接把值先存里边 然后再存到Intent中 不就更...

    Androidstudio电话联系人及详情页

    这两个界面可以通过自定义的ListView或者RecyclerView来实现。列表项的点击事件会触发一个Controller方法,该方法负责获取被选中的联系人并启动详情页Activity。 在Controller部分,我们需要处理传值与回传。当从...

    fragment与activity

    Fragment是一个可以包含用户界面的模块化组件,它可以被添加到一个Activity中,或者在多个Activity之间进行切换。而Activity则是一个应用程序组件,它代表了一个独立的可视用户界面,用于与用户进行交互。 在...

    android 学习代码

    在Android应用中,经常需要从一个Activity跳转到另一个Activity。这通常通过Intent对象来实现。下面的代码展示了一个简单的Activity跳转示例: ```java public class aToa extends Activity { private Button ...

    android学习笔记

    4. **Activity之间的跳转和传值**:Activity是Android应用的基本组件,用于展示用户界面。通过Intent对象可以启动新的Activity,Intent不仅可以启动Activity,还可以传递数据。使用`putExtra()`添加数据到Intent,...

    android常见的面试题

    在两个Activity之间跳转时,源Activity会执行`onPause()`和`onStop()`方法。如果新的Activity覆盖了当前Activity,则源Activity还会执行`onDestroy()`方法。目标Activity则会依次执行`onCreate()`、`onStart()`和`...

    Android中Activity和Fragment传递数据的两种方式

    在Android应用开发中,Activity和Fragment是两个核心组件,它们之间的数据传递对于构建复杂的用户界面至关重要。本篇文章将详细介绍在Android中如何通过两种主要方法在Activity与Fragment之间传递数据。 首先,最...

    Android-1(Intent)

    Intent允许我们从一个Activity跳转到另一个Activity,无论是同一个应用内的还是不同应用间的。创建Intent时,我们需要指定目标Activity的类名或动作(ACTION)。例如,可以使用`Intent intent = new Intent(this, ...

Global site tag (gtag.js) - Google Analytics