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 ...
随机推荐
- java的序列化流和打印流
对象操作流(序列化流) 每次读取和写出的都是JavaBean对象. 序列化:将对象写入到文件中的过程 反序列化:从文件中读取对象到程序的过程 transient: 标识瞬态,序列化的时候,该修饰符修饰 ...
- linux join命令
http://note.youdao.com/noteshare?id=151c4844cac74e9b08c5dc954a1a4967
- P1099 树网的核 && P2491 [SDOI2011]消防
给定一棵树, 你可以在树的直径上确定一条长度不超过 \(S\) 的链, 使得树上离此链最长的点距离最小, 输出这个距离 P2491 数据范围为 P1099 的 \(1000\) 倍 Solution ...
- 《Spring实战》 1-2
第1章 Spring之旅 Spring容器 Spring中bean的生命周期 Spring框架中的模块 Spring Portfolio 第2章 装配Bean 自动化装配bean 通过Java代码装配 ...
- 【转载】14个你可能不知道的 JavaScript 调试技巧
了解你的工具可以极大的帮助你完成任务.尽管 JavaScript 的调试非常麻烦,但在掌握了技巧 (tricks) 的情况下,你依然可以用尽量少的的时间解决这些错误 (errors) 和问题 (bug ...
- 科学计算三维可视化---TraitsUI(配置视图)
配置视图 模态窗口: from traits.api import HasTraits,Int,Strclass ModelManager(HasTraits): model_name = Str c ...
- 贪心问题:区间覆盖 POJ 1328 Rader Installation
题目:http://poj.org/problem?id=1328 题意:给定海岛个数,雷达半径,输入各个海岛坐标,求能覆盖所有海岛的最少雷达数 题解: 1. 贪心的区间覆盖问题,尽量让每个雷达覆盖更 ...
- 你需要了解 Windows Phone 8.1 的11件事
微软已经发布了其新一代手机操作系统 Windows Phone 8.1,拥有一些新的特性.从本质上来说,微软此次的大修让 Windows Phone 更接近 Android 和 iOS,对于使用体验的 ...
- iframe元素的学习(笔记)
什么是iframe:iframe元素即内联框架,iframe是内联的并且承前启后,对于外围的页面,iframe是一个普通的元素,对于iframe里面的内容,又是一个五脏俱全的页面.重下面的写法可以看出 ...
- Codeforces刷题计划
Codeforces刷题计划 已完成:-- / -- [Codeforces370E]370E - Summer Reading:构造:(给定某些数,在空白处填数,要求不下降,并且相邻差值<=1 ...