Android开发基础知识-Intent,不同Activity之间传递资源

1.UI(用户界面设计user interface)

1.Android提供丰富多样的预置UI组件(component),包括:结构化布局对象、UI控件、对话框、通知和菜单等。利用这些组件就可为应用构建图形界面。
2.Android UI都是由布局和控件组成的。

布局(Layout)和控件(widget)

1.布局可定义应用中的界面结构。布局中的所有元素均使用View和ViewGroup对象的层次结构进行构建。
2.View用来绘制用户可查看并进行交互的内容。
3.ViewGroup是不可见容器,用于定义View和其他ViewGroup对象的布局结构。

View对象就是通常说的“控件(widget)”,可以是众多子类之一,例如Button或TextView 。
ViewGroup对象通常称为“布局(layout)”,可以是提供其他布局结构的众多类型之一,例如LinearLayout或ConstraintLayout。
在这里插入图片描述

加载XML资源

当编译应用时,系统会将每个XML布局文件编译成View资源。在Activity.onCreate()回调内,通过调用setContentView(),并以R.layout.layout_file_name 形式向应用代码传递布局资源的引用,加载应用代码中的布局资源。
在这里插入图片描述

典型布局(Layout)

典型的传统布局(学习简单的XML编辑方法)
RelativeLayout、LinearLayout、FrameLayout、TableLayout、GridLayout

当前的主流布局形式(学习视图式的设计方法,同时在XML中修改)
ConstraintLayout约束布局

四大组件

Android程序的四大组件包括:
Activity活动、
Service服务、
BroadcastReceiver广播接收器、
Content Provider内容提供者

Activity的概念和基本用法

[官方解释]Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作, 比如打电话,照相,发送邮件,或者显示一个地图!Activity可以理解成一个绘制用户界面的窗口,而这个窗口可以填满整个屏幕,也可能比屏幕小或者浮动在其他窗口的上方!
总结:
1、Activity用于显示用户界面,用户通过与Activity交互完成相关操作。
2、一个App允许有多个Activity

创建Activity

创建一个活动,实质上做了三件事:
1、创建与该活动对应的布局文件(XML),来负责UI
2、创建一个继承自Activity或AppCompatActivity类的子类: class MyActivity extends AppCompatActivity
在该类中重写onCreate()方法,并在该方法中调用setContentView(R.layout.布局资源名)设置要显示的视图。
3、在AndroidManifest.xml中注册该活动

启动Activity

一个Android工程的主Activity的启动,通过在AndroidManifest.xml中注册来实现
在这里插入图片描述
action中的android.intent.action.MAIN表明它所在的Activity是整个程序的入口。
category中的android.intent.category.LAUNCHER意思是把这个Activityg归属到加载器类,即把这个Activity标注为自动会加载和启动的Activity,这样程序启动时候就会先加载这个Activity。

启动方法

方法一:显示启动

Intent intent = new Intent(当前活动.this, 要启动的活动.class);
startActivity(intent);

方法二:隐示启动
在AndroidManifest.xml中为新的活动添加Intent过滤器:
在这里插入图片描述
在原活动的Java代码中启动新活动

startActivity(new Intent("com.example.activitystart.ACTION_START"));

一般这句话是随便写的
intent-filter的作用:
在action标签中指明了本活动可以响应com.example.activitystart.ACTION_START这个动作。
在category标签中包含了一些附加信息,更精确指明了本活动能响应的Intent中还可能带有的category。其中,android.intent.category.DEFAULT是一种默认的category,在调用startActivity()方法时会自动将该category添加到Intent中。
只有当action和category标签中的内容能够匹配上Intent中指定的action和category时,这个活动才能响应该Intent。
每个Intent中只能指定一个action,但能指定多个category

1)活动1传递数据给活动2: 少量数据

在这里插入图片描述

活动2接收时,同样创建一个Intent对象,并利用getIntent()方法接收数据。
然后利用Intent对象的“get类型Extra()”方法分别接收不同类型的数据
在这里插入图片描述

2)活动1传递数据给活动2: 大量数据

活动1传递大量数据时,采用putExtra()方法效率很低,可以利用Bundle来传递数据。

在这里插入图片描述

活动2接收时,同样创建一个Intent对象in,并利用getIntent()方法接收数据。
然后创建Bundle对象,并利用上边的in对象的getExtras()方法获取Bundle数据。
最后利用Bundle对象的“get类型(key标签)”方法读取Bundle中的内容。

在这里插入图片描述

3)多个Activity间的交互(后一个传回给前一个)

在这里插入图片描述

具体可见https://www.runoob.com/w3cnote/android-tutorial-activity-start.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,作为AI语言模型,我无法编写完整的应用程序源代码。但是我可以提供一些基本的指导和建议来帮助您开始编写Android应用程序。 首先,您需要安装Android Studio,这是一个专门用于Android应用程序开发的集成开发环境(IDE)。在安装完Android Studio之后,您可以创建一个新的Android项目并选择一个适当的应用程序名称和包名称。 接下来,您需要学习Android应用程序的基础知识,包括UI组件、Activity、Intent、事件处理等。您可以通过阅读官方文档或参考一些在线教程来学习这些知识。 在学习这些基础知识后,您可以开始编写您的应用程序。在这个过程中,您需要考虑应用程序的用户界面设计,包括颜色、布局、字体、图标等。您还需要选择适当的UI组件来实现所需的功能,例如按钮、文本框、图像视图等。 在编写应用程序时,您需要使用Java或Kotlin编程语言来处理事件和数据。您需要定义Activity类来处理应用程序的各个屏幕,并使用Intent对象在Activity之间传递数据。 最后,您需要进行测试和调试,确保您的应用程序在各种设备上都能够正常运行。您可以使用Android Studio提供的模拟器或连接实际设备进行测试。 总之,编写Android应用程序需要一定的技术知识和经验,但是通过学习基础知识并实践,您可以创建出吸引人的、功能完善的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值