android studio实现Intent通信-------牛刀小试
概述:
本博文实现一种小程序,两个Activity单向通信,主从关系,MainActivty 页面布局一个EditText+Button,实现逻辑是单击按钮将信息发送给另外一个DisplayMessageActivity,DisplayMessageActivty页面布局有一个TextView内容为EditText传过来的。整个就是这么简单
实现:
1创建空Activty项目,命名为IntentDemo,页面布局
1.1为了实现单击按钮响应事件,可以有两种方法,第一种是这样的
public static final String tag="TEST";
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view)
{
EditText edittext=(EditText)findViewById(R.id.editText);
Intent intent=new Intent(this,DisplayMessageActivtiy.class);
String message=edittext.getText().toString();
intent.putExtra(tag,message);
startActivty(intent);
}
});
}
也就是说直接在onCreate函数里面实现了监听按钮的方法
第二种方法是自己实现一个函数,然后与按钮单击事件关联起来
 
 
这个函数在MainActivtiy.java里面实现如下:
public void sendMessage(View view)
{
Intent intent=new Intent(this,DisplayMessageActivity.class);
EditText edittext=(EditText)findViewById(R.id.editText);
String message=edittext.getText().toString();
intent.putExtra(EXTRA_MESSAGE,message);
startActivity(intent);
}
可以对比一下,要让系统将此函数视为与 android:onClick 属性兼容,需要这些详细信息。具体来说,函数必须声明以下内容:
- 公共访问
- 空返回值
- 以 View作为唯一参数(它是之前点击的 View对象)
2 创建一个空Activity的Activtiy


我们选择empty activity ,然后系统自动做三件事:
① 创建DisplayMessageActivity.java
② 创建activity_display_message.xml文件
③在AndroidManifest.xml文件的<application>元素下自动添加<activity>子元素,内容如下

手动添加的内容是为了添加向上导航
DisplayMessageActivity应用不是主入口的每个屏幕(所有不是主屏幕的屏幕)都应提供导航,以便用户在应用栏中点按“向上”按钮后可以返回应用层次结构中的逻辑父屏幕。
需要做的全部工作是在 AndroidManifest.xml文件中声明哪个 Activity 是逻辑父项。因此,打开 app > manifests > AndroidManifest.xml 处的文文件,找到 DisplayMessageActivity 的 <activity> 标记。
3编写逻辑代码
在DisplayMessageActivity的onCreate函数中提取处intent的Extra信息,并写入到TextView中
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
Intent intent=getIntent();
String message=intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
TextView textview=(TextView)findViewById(R.id.textView);
textview.setText(message);
Log.i(tag,"DisplayMessageActivity:(1)onCreate()");
}
最终效果截图


android studio实现Intent通信-------牛刀小试的更多相关文章
- Android Studio  使用Intent
		1.显式Intent Intent intent=new Intent(yzj.this,MainActivity.class);//当前活动的实例,要去的实例 startActivity(inten ... 
- Android Studio 使用Intent实现页面的跳转(带参数)
		不管是在APP,还是在网站中,页面之间的跳转都是很常见的,本文主要讲一下在APP中,如何通过Intent实现页面的跳转. 不带参数: 写在MainActivity页面的代码: Intent inten ... 
- Android Studio 学习 - Intent学习
		今天开始仔细的学习Intent. 看的比较多,还在消化中,后续继续完善本篇笔记…… 
- Android Studio Activity Intent 闪退崩溃 Toolbar
		今天写登录注册页面,点击登录页面的“注册”按钮后软件突然崩溃,直接闪退,因为是新手,只能去网上搜.虽然网上解决方法众多,但也没找到可行的.想起来可以看Logcat,马上重新运行应用,查看崩溃时的日志, ... 
- Android Studio 一个完整的APP实例(附源码和数据库)
		前言: 这是我独立做的第一个APP,是一个记账本APP. This is the first APP, I've ever done on my own. It's a accountbook APP ... 
- Android Studio 的蓝牙串口通信(附Demo源码下载)
		根据相关代码制作了一个开源依赖包,将以下所有的代码进行打包,直接调用即可完成所有的操作.详细说明地址如下,如果觉得有用可以GIthub点个Star支持一下: 项目官网 Kotlin版本说明文档 Jav ... 
- Android Studio 学习 - 基本控件的使用;Intent初学
		Android Studio学习第三天. 今天主要学习 1. RadioButton.CheckBox.RatingBar.SeekBar等基础控件的使用. 结合Delphi中相类似的控件,在这些基本 ... 
- 大仙说道之Android studio实现Service AIDL
		今天要开发过程中要用到AIDL的调用,之前用的eclipse有大量教程,用起来很方便,现在刚换了Android studio,不可否认studio真的很强大,只是很多功能还需要摸索. AIDL(And ... 
- Android Studio实现Service AIDL
		Android Studio实现Service AIDL [日期:2015-01-02] 来源:Linux社区 作者:teenyboy [字体:大 中 小] 今天要开发过程中要用到AID ... 
随机推荐
- 用C语言获取任意文件的长度(可能大于2GB)#define _FILE_OFFSET_BITS 64
			打开文件后用 fseek() 函数把文件位置指针移动到文件的末尾,用 ftell() 获得这时位置指针距文件头的字节数,这个字节数就是文件的长度.但是这样做也会受到下面的限制:ftell() 函数的返 ... 
- WEB入门一  网页设计基础
			本章简介 在当今社会,网页是网络信息共享和发布的主要形式.而HTML (Hyper Text Mark-up Language),即超文本标记语言,是创建网页基础.本章将学习HTML文档的基本结构.组 ... 
- 【纪中集训2019.3.23】Deadline
			题意 描述 一个二分图\((A,B)\),每个点额外有一个颜色0或者1: 匹配时,只能相同颜色的点匹配: 给出\(A\)中的颜色,问如何分配\(B\)种的颜色使得\((A,B)\)的最大匹配最小: 范 ... 
- Qt ------ Q_UNUSED
			Q_UNUSED(name) Indicates to the compiler that the parameter with the specified name is not used in t ... 
- 【Asp.net入门02】搭建Asp.net开发环境
			本节主要讲解: 什么是asp.net asp.net开发和运行环境介绍 1.什么是ASP.NET Asp.net不是一种编程语言,而是一种开发技术.我们可以利用这种技术所提供的类库,使用C#或者VB编 ... 
- 面向对象SOLID原则的自我理解
			S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则(Programming Priciple)的首字母缩写.面向对象设计的原则SRP The Single Res ... 
- python的dict()字典数据类型的方法详解以及案例使用
			一.之前的回顾 # int 数字 # str 字符串 # list 列表 # tuple 元组 # dict 字典 字典中最重要的方法 keys() values() items() get upd ... 
- Hadoop生态圈-hive优化手段-作业和查询优化
			Hadoop生态圈-hive优化手段-作业和查询优化 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 
- day11 细节记忆
			单一职责:一个方法只做一件事. 值传递——java只有值传递. gender(性别) male(男)female(女) 自动生成的set.get方法中,布尔类型的get方法需要手工改为get(默认是i ... 
- html5页面头部
			<base href="/bulid/"/> <meta charset="UTF-8"/> <meta http-equiv=& ... 
