Android中两个Activity之间简单通信

在Android中,一个界面被称为一个activity,在两个界面之间通信,采用的是使用一个中间传话者(即Intent类)的模式,而不是直接通信。

下面演示如何实现两个activity之间的通信。

信息的发起者为Test,接收者为Target,代码如下:

Test类:

 1 package com.example.testsend;
 2
 3 import android.content.Intent;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.os.Bundle;
 6 import android.view.View;
 7
 8 public class Test extends AppCompatActivity {
 9
10     @Override
11     protected void onCreate(Bundle savedInstanceState) {
12         super.onCreate(savedInstanceState);
13         setContentView(R.layout.activity_test);
14
15         findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
16             @Override
17             public void onClick(View view) {
18                 Intent intent=new Intent(Test.this,Target.class);
19                 intent.putExtra("data","hi");
20                 startActivity(intent);
21             }
22         });
23
24     }
25 }

activity_test.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context="com.example.testsend.Test">
 8
 9     <Button
10         android:id="@+id/button"
11         android:layout_width="wrap_content"
12         android:layout_height="wrap_content"
13         android:text="Send"
14         app:layout_constraintBottom_toBottomOf="parent"
15         app:layout_constraintLeft_toLeftOf="parent"
16         app:layout_constraintRight_toRightOf="parent"
17         app:layout_constraintTop_toTopOf="parent" />
18
19 </android.support.constraint.ConstraintLayout>

Target类:

 1 package com.example.testsend;
 2
 3 import android.content.Intent;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.os.Bundle;
 6 import android.widget.TextView;
 7
 8 public class Target extends AppCompatActivity {
 9     private TextView textview;
10     @Override
11     protected void onCreate(Bundle savedInstanceState) {
12         super.onCreate(savedInstanceState);
13         setContentView(R.layout.activity_target);
14
15         Intent intent =getIntent();
16         textview=(TextView)findViewById(R.id.textview);
17         textview.setText(intent.getStringExtra("data"));
18
19     }
20 }

activity_target.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context="com.example.testsend.Target">
 8
 9     <TextView
10         android:id="@+id/textview"
11         android:layout_width="wrap_content"
12         android:layout_height="wrap_content"
13         />
14
15 </android.support.constraint.ConstraintLayout>

结果如图:

时间: 2024-10-13 16:19:42

Android中两个Activity之间简单通信的相关文章

android中fragment和activity之间相互通信

在用到fragment的时候,老是会遇到一个问题,就是fragment与activity之间的通信.下面就来记录一下activity和fragment之间 通过实现接口来互相通信的方法. 1. activity 向fragment发出通信,就这么写: private OnMainListener mainListener; // 绑定接口 @Override public void onAttachFragment(Fragmentfragment) { try { mainListener =

Android中BroadCast与Activity之间的通信

在看本文之前,如果你对于Android的广播机制不是很了解,建议先行阅读我转载的一篇博文:图解 Android 广播机制. 由于本案例比较简单,故直接在此贴出代码,不做过多的阐述. 先上效果截图: MainActivity的代码如下: package com.gc.testbroadcasedemo; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Cont

android中fragment与activity之间通信原理以及例子

参考文章 http://blog.csdn.net/guozh/article/details/25327685#comments Activity和fragment通信方式一般有3种方法 1.在fragment中定义接口, Activity去实现接口--->查看上面的参考文章 2.使用广播机制 3.使用EventBus 这3种方式 推荐使用EventBus 下面介绍第2种方式广播通信机制: 首先MainActivity中引入一个fragment, activity的布局很简单,里面只有一个 f

Android中Fragment与Activity之间的交互(两种实现方式)

(未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如何创建Fragment混合布局做了详细的分析,今天就来详细说道说道Fragment与宿主Activity之间是如何实现数据交互的. 我们可以这样理解,宿主Activity中的Fragment之间要实现信息交互,就必须通过宿主Activity,Fragment之间是不可能直接实现信息交互的. Fragment与

Android中Fragment和Activity之间的互操作代码例子

摘要 本文介绍了Android中一个Activity中有多个Fragment的情况下,Fragment之间如何通过Activity进行互操作. 源代码 源代码地址为:http://download.csdn.net/detail/logicteamleader/8931199 源代码使用ADT编写,ADT版本为2014,Android版本为android-22. 技术要点 1.在Activity中的多个Fragment之间要互操作,一定要通过此Activity,不能直接通信: 2.在Activi

Android中Intent在Activity之间传递对象[Serializable或Parcelable]

使用intent启动activity /** * Serializeable传递对象的方法 */ private void SerializeMethod(){ Person mPerson = new Person(); mPerson.setName("andy"); mPerson.setAge(26); Intent mIntent = new Intent(this,SerializableDemo.class); Bundle mBundle = new Bundle();

Android中在两个Activity之间进行数据传递

首先声明,此篇文章是我原先的CSDN上面的博客,由于种种原因,不想再使用csdn博客,于是就将其文章搬至现在的cnblog. 大家好,今天我终于开通了自己的博客,很开心能和大家共同分享我的学习经验,希望我们可以共同进步哦,废话不多说了,看一下我今天学习android遇到的一些问题和解决办法吧 首先先把我使用的eclipse的版本贴出来:adt-bundle-windows-x86-20130917 这是一个集成的版本,不需要配置SDK和ADT,但是需要手动配置JDK哦! 其实,不同版本的ecli

android:两个应用之间如何传值之activity

两个应用之间如何传值,其实这个标题太水了,专业的说法是"两个进程间如何传值",什么?!还不够专业,好吧,你淫了!"进程间通信"其实更专业,这回你总满意了吧!顺带说一下,简写成IPC:Inter-Process Communication. 兄弟们,如果你们从搜索引擎或者其他途径找到这篇文章的话,说明你的Android技术已经提升到一个很高的层次了哦,嘿嘿-为什么这么说呢?因为无论哪个平台,线程跟进程都是绝对的重点跟难点. 本文说的进程间传值只是进程间通信的一个特例,

Android——Fragment和Activity之间的通信+Frangment生命周期

Android--Fragment和Activity之间的通信+Frangment生命周期 Fr'agment和Activity之间的通信 1.在Fragment中声明一个接口. 2.在Activity中实现在Fargment中声明的接口. 3.在Fragment中声明一个接口对象. 4.在Frangment的生命周期Onattach方法中判断当前Activity是否实现了此Fragment中声明的接口.如果已实现,就把当前Activity转换成接口对象. 5.调用Activity中实现的方法=