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 ...
随机推荐
- (转)log4j(六)——log4j.properties试过过程详解
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 参考:https://www.cnblogs.com/ywlaker/p/6124067.html log4j基本用法 首 ...
- qq接入
「花与剑: https://blog.csdn.net/wbbott/article/details/53107009」—————————
- python的reduce函数的使用方法详解以及使用案例,相加,相乘(处理一个序列,然后把序列进程合并操作)
1.求列表的数字相加之和,还是之前的习惯,写for循环来实现 num_1=[1,2,3,4,5,6,7,8,9] a=0 for n in num_1: #a=a+n a+=n print (a) C ...
- ShareRepository
文件共享下载链接: 1:关于模拟器的配置附件http://pan.baidu.com/s/1jGFqfh8 原文地址:http://www.cnblogs.com/killerlegend/p/382 ...
- WebStorm 使用webpack打包(build) Vue 静态资源无法访问(路径不对)问题
在WebStorm中使用webpack打包 (命令npm run build) 后生成在项目的dist目录下,在浏览器打开,静态资源js.css等无法加载.因为打包时,资源使用了绝对路径. 解决: 打 ...
- newcoder Wannafly挑战赛4 树的距离
https://www.nowcoder.com/acm/contest/35/D 假设要查询x的子树中,与x的距离>=y的距离和 那么如果有这么一个 由x的子树中的点到x的距离构成的序列,且按 ...
- 51nod 1181 质数中的质数
1181 质数中的质数(质数筛法) 题目来源: Sgu 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 如果一个质数,在质数列表中的编号也是质数,那么就称 ...
- [转载]8 种提升 ASP.NET Web API 性能的方法
http://www.oschina.net/translate/8-ways-improve-asp-net-web-api-performance 英文原文:8 ways to improve A ...
- WPF让人哭笑不得的BUG
前几天遇到了一个让我哭笑不得的bug,我写的Wpf程序在Win7里可以运行,到XP.WindowsServer里运行点击某个控件之后闪退,不报任何错,在后台代码里trycatch也捕捉不到任何异常.很 ...
- 【leetcode 简单】 第五十七题 删除链表中的节点
删除链表中等于给定值 val 的所有节点. 示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4 ...