Android-Activity的基本介绍和页面之间数据传递

【好文推荐】Activity之间的数据传递方法汇总 在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据的传递方法。 1、通过 Intent 传递 我们在进行 Activity 跳转时,是要有 Intent,此时 Intent 是可以携带数据的,我们可以利用它将数据传递给其它Activity。Intent 应该是系统提供的支持类型最广,功能最全面的传递方式了。基本数据类型、复杂数据类型(如数组、集合)、自定义数据类型等等都能支持,而且使用起来也不复杂。下面将通过几个小栗子分别介绍. 阅读详情

Activities 是一个程序的组件之一。它的主要功能是提供界面。


1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:
再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。

2.实现页面的传递数据

2.1写两个xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.zking.administrator.g160628_android12_activity.MainActivity">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入用户名:"
        android:id="@+id/et_main_uname"
        />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="确认"
        android:onClick="writeThink"
        />
</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.zking.administrator.g160628_android12_activity.ThinkActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_think_showName"
        />
</LinearLayout>


package com.zking.administrator.g160628_android12_activity;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import com.zking.entity.Person;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private EditText et_main_uname;
    private TextView tv_main_showThink;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_main_uname = (EditText) findViewById(R.id.et_main_uname);
        tv_main_showThink = (TextView) findViewById(R.id.tv_main_showThink);
    }

    public void writeThink(View view){
         String uname=et_main_uname.getText().toString();
         Intent intent=new Intent(this,ThinkActivity.class);
        //传递基本数据类型,把值加入到intent中
         intent.putExtra("uname",uname);
        intent.putExtra("uage",19);
         startActivity(intent);
  
    }

}
2.2在另为一个界面获取他存进去的值。
package com.zking.administrator.g160628_android12_activity;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import com.zking.entity.Person;

import java.util.List;

public class ThinkActivity extends AppCompatActivity {

    private TextView tv_think_showName;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_think);

        tv_think_showName = (TextView) findViewById(R.id.tv_think_showName);

        //获取第一个页面传递过来的数据
        String uname=getIntent().getStringExtra("uname");
        int uage=getIntent().getIntExtra("uage",0);
	//设置到TextVIew文本中
	tv_think_showName .setText("姓名:"+uname+"年龄:"+uage);
    }
}



Activity之间的数据传递方法汇总 其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。 阅读详情

相关推荐

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

大家好,今天我终于开通了自己的博客,很开心能和大家共同分享我的学习经验,希望我们可以共同进步哦,废话不多说了,看一下我今天学习android遇到的一些问题和解决办法吧       首先先把我使用的eclipse的版本贴出来:adt-bundle-windows-x86-20130917 这是一个集成的版本,不需要配置SDK和ADT,但是需要手动配置JDK哦!       其实,不同版本的ecl

寻水的小鱼儿的专栏 6673

Activity之间传值的六种方式

1、使用Intent的putExtra传递 第一个Activity中 //创建Intent对象 Intent intent = new Intent(OneActivity.this,TwoActivity.class); //设置传递键值对 intent.putExtra("data",str);

luoro的博客 4653

在不同Activity之间传递数据的四种常用方法

在Android中传递数据的方法非常多,本次介绍4中比较常用的数据传递方法: 1.通过Intent传递数据 2.通过静态变量(static)传递数据 3.通过剪贴板(Clipboard)传递数据 4.通过全局对象传递数据 在TransmitDataActivity.java中 package mobile.android.transmit.data; public class TransmitDataActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) {

Activity三种数据的传递方式

新建APP实现在Activity之间传递数据的方法,从第一个界面使用putExtra方法传递数据(跳转)至第二个界面;从第一个界面使用Bundle方法传递数据(跳转)至第三个界面;从第四个界面使用传递数据至第一个界面,使用startActivityForResult方法。

qq_57179318的博客 1434

手把手教你用ECharts打造炫酷3D饼图(附完整源码)

本文详细介绍了如何使用ECharts创建炫酷的3D饼图,从环境配置到完整源码实现,涵盖参数解析、视觉优化和交互增强技巧。通过实战案例,帮助开发者快速掌握3D数据可视化技术,提升数据展示效果。

weixin_29031057的博客 280

GD32F103入门实践(一)配置环境,搭建工程模板,烧写程序

写在前面 本系列博客是我初学GD32F103的操作实录,我个人是个小白,在学习过程中真的也遇到了不少坑,因此我希望能记录下来,帮助到同样踩坑的你。 我的芯片是GD32F103ZE,软件是Keil,烧写用的是JLink。 材料准备 首先我在兆易创新官网(兆易创新),下载相关的文件。点击资料下载,在搜索框里输入“GD32F10”可以得到相关的资料,其他芯片类似。比较重要的是GD32F10x AddOn和GD32F10x Firmware Library(固件库),这两个必须下载。 下载Keil MDK5,这

qq_41208487的博客 3万+

activity之间的数据传递方法

1  基于消息的通信机制 Intent--------boudle,extra 用这种简单的形式,一般而言传递一些简单的类型是比较容易的,如int、string等 详细介绍下Intent机制 Intent包含两部分: 1 目的【action】-------要去到哪里去 2 内容【category、data】----------路上带些什么,区分性数据和内容性数据 简单数据传递: In

zyq0335的专栏 5万+

【25届数字IC秋招总结】面试经验7——联发科

25届数字ic面试记录——联发科

lalala0635的博客 981

Activity之间跳转与传值

一、Activity跳转与传值,主要是通过Intent类来连接多个Activity,通过Bundle类来传递数据。 最常见最一般的页面跳转代码,很简单,如下:   Intent intent = new Intent(FirstActivity.this, SecondActivity.class);   startActivity(intent); 或者:    Intent inte

小虫 678

rtpengine 项目

rtpengine 项目

原来45的博客 1789

Python 爬虫实战:深入同花顺,抓取股票行情数据,助力投资决策

通过本次 Python 爬虫实战,我们成功地从同花顺抓取了股票行情数据,并进行了存储、处理、分析和可视化展示。在这个过程中,我们不仅掌握了爬虫技术的基本应用,还学会了如何对动态加载的数据进行处理和分析。然而,本次爬虫任务也存在一些局限性,例如仅爬取了部分股票的数据,且未对股票的历史行情进行深入分析。在未来的工作中,我们可以进一步优化爬虫程序,爬取更多股票的数据,并深入分析股票的历史行情走势、技术指标等,为投资者提供更有价值的数据支持。

u014481728的博客 5334

Android语言基础教程(87)Android多个Activity的使用之使用Bundle在Activity之间交换数据:Android开发必看!Bundle数据传递秘籍:让你的Activity像老

还在为Android页面间传值头秃?Bundle就是你的救星!本文用最接地气的方式揭秘Bundle如何让Activity像微信聊天一样传递数据。从基础原理到防坑指南,附赠一个“相亲APP”实战示例——点击头像直接跳转详情页,连兴趣爱好都能打包带走!代码注释比亲妈讲解还详细,保证你笑着学会,再也不用担心页面间“失联”。快来解锁Android开发最丝滑的数据交换姿势吧!

jxf_jxfcsdn的博客 405

基于知识图谱的时空事件关联推理能力培养

随着信息技术的飞速发展,大量的时空事件数据被产生和收集,如交通流量数据、气象观测数据、社交媒体上的地理定位信息等。这些数据蕴含着丰富的知识和规律,但要从中提取有价值的信息并非易事。基于知识图谱的时空事件关联推理旨在通过构建知识图谱,将时空事件数据进行整合和关联,从而实现对事件之间潜在关系的挖掘和推理。本文的目的是系统地介绍基于知识图谱的时空事件关联推理能力的培养方法,包括核心概念、算法原理、数学模型、实际应用等方面。

操作系统内核探秘的博客 750

话说android Activity之间数据传递

本人原创作品,谢绝转载!             Activity之间传数据时,为了避免麻烦,往往会将一些值封装成对象,然后将整个对象传递过去。传对象的时候有两种情况,一种是实现Parcelable接口,一种是实现Serializable接口。下面说说这些情况。     一、传递Parcelable对象:         代码:Programmer.java import androi

jacpy的专栏 4万+

SAP 系统里生成 PDF 的几条主干路径:从 Spool 转换到 Adobe 原生渲染,再到 BTP 云服务

本文系统梳理了SAP生态中PDF生成的多种技术方案,包括Spool转换、OTF转换、Smart Forms/Adobe Forms原生生成以及云端服务等不同路径。文章通过实际案例和代码示例,详细分析了各方案的适用场景、技术要点和工程实践建议,特别强调了多语言支持、字体处理、性能优化等关键因素。针对不同业务需求,提供了从简单导出到复杂交互式PDF的完整解决方案框架,为SAP环境下的PDF处理提供了实用指南。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 285

【工具篇】万字长文拆解 Otter.ai:语音转文字领域的「瑞士军刀」是如何炼成的?(附保姆级教程)

但需要注意,2024年欧盟已出台《AI转录伦理指南》,要求所有录音需获得参与者明确授权。举个真实案例:某硅谷创业团队用Otter.ai记录产品评审会,系统自动标红争议点并生成待办事项,会议效率提升40%。AIGC技术原理、 实时转录解析、 定价策略分析、 语音算法拆解、 多平台兼容测试、 深度学习框架、 空间计算专利。——无论是跨国会议、课堂讲座还是深夜灵感,它都能实时生成带时间戳的文本记录,准确率高达95%。(此处建议插入Otter.ai会议转录动图,展示实时字幕生成效果)(数据来源:综合参考文献整理)

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 1259

安卓开发-Activity之间的数据传递

安卓开发-Activity之间的数据传递 开发环境:MacbookPro Catalina + Android Studio 3.5.3 1. 明确实现思路 创建两个Activity,名称分别为MainActivity和MainActivity2, 在MainActivity中添加一个输入框、一个按钮、以及一个显示返回值用的TextView,EditText输入一个传递的参数值,点击按钮后跳转到M...

xuanwenchao的专栏 1308

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android activity之间传递对象,Android Activity之间的数据传递

一、通过startActivity来进行Activity的传值在Android中,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent intent)方法来传入一个Intent对象,这个Intent对象我们可以精确的指定我们需要跳转的Activity上,或者通过Intent对象来指定我们要完成的一个action操作,同时我们可以通过in...

weixin_40003780的博客 1654

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【安卓开发】Activity之间的数据传递

实现效果 新建Android项目,实现页面的简单布局 activity_main.xml页面的布局 activity_main.xml页面的代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"

qq_44723773的博客 2787

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

android activity之间传递对象,两个Activity之间传递数据(传递对象、传递集合)

1. 概述在我们开发项目的过程中,一定会有两个 Activity之间需要进行数据传递的,这个想都不用想,是一定会有的。如果数据比较少,我们可以单个传递字段,如果数据比较多我们可以直接传递一个对象,当然也可以直接传递集合,这些都是可以的,那么接下来我们就来看下它们到底是如何进行传递的。2. 具体实现2.1 传递单个对象MainActivity的代码://ThinkActivity....

weixin_31852627的博客 1770

Android-Activity页面之间的数据传递

Activity之间传递数据 1.传递基本的数据类型   基本数据类型: 整形:byte short int long 浮点:float double 布尔:boolean 字符:char 引用:String 2.传递数据包Bundle(集装箱) 3.传递对象(对象集合) 4..返回数据 例子:返回对象集合,效果图如下(两个界面之间的数据传递): 图1         

qq_35852939的博客 893

Activity之间数据相互传递

不同的Activity之间可以相互传递数据,针对以下两种情况可以有两种方法传递数据,相同的地方都是通过Intent进行数据的传递。 1、前后Activity的数据传递 前一个Activity(A)启动后一个Activity(B)可以在intent中通过putXXX方法添加相应的数据,B则可以通过getIntent方法来得到这个intent,从而取得数据。而当B要向A传递数据的时候就需要通过Ac

宿罪的博客 4061

Activity和Activity、Fragment之间传递数据的方式

因为项目的需求,自己总结了Activity和Activity、Fragment之间传递数据的几种方式,和大家分享一下(仅供参考) 一.Intent 相信做过android的都使用过Intent,页面之间传递数据最基础的一种方式 Intent intent = new Intent(A.this,B.class);

wanghangyang的博客 2305

Android Activity之间的数据传递

1、向目标Activity传递数据: 1 Intent intent=new Intent(this,Main2Activity.class); 2 //可传递多种类型的数据 3 intent.putExtra("name","张三"); 4 intent.putExtra("age",12); 5 startActivity(intent); 2、在目标Activity中取出数据 1 Intent intent=ge...

marcushbs的博客 941

安卓activity之间传递数据

在学习android时候发现Activity之间传递数据是比较复杂的,在Activity中调用另一个Activity时,需要调用startActivity(Intent i), 若需要在调用另外一个Activity的同时传递数据,那么就需要利用android.os.Bundle对象封装数据的能力,将欲传递的数据或参数,通过Bundle来传递不同Intent之间的数据。Bundle对象针对了不同的数...

qq_39400251的博客 1141

Activity页面之间的数据传递

一. 1.在Activity之间传递数据     传递基本数据类型         基本数据类型:         整:byte short int long         浮点:float double         布尔:boolean         字符:char         引用:         String     传递数据包Bundle  (集

GD_Tiny的博客 377
上一篇: Frament+ViewPager
下一篇: Activity的退出应用程序
殇丶
博客等级 码龄10年 35粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值