Android基础-Activity基本使用

1. Activity概念

Activity,即活动,是一种可以包含用户界面的组件,主要用于和用户进行交互

活动提供应用程序绘制其UI的窗口。此窗口通常填充屏幕,但可能小于屏幕并浮动在其他窗口的顶部。通常,一个活动在应用程序中实现一个屏幕

多数应用包含多个屏幕,即多个活动,一般会指定一个活动为主要活动,即用户启动程序显示的第一个屏幕

2. Activity基本用法

2.1 注册声明

所有的活动都要在AndroidManifest.xml中进行注册才能生效活动的注册声明要放在<application>标签内,在<activity>标签中是用了android:name来指定具体注册哪一个活动。

**配置主活动的方法**就是在<application>标签内加入<intent-filter>标签。这个标签内包含和两个可选标签、。这些标签元素组合在一起以指定您的活动可以响应的意图类型。

示例:

<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon">
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/plain" />
    </intent-filter>
</activity>

如果时配置成主活动的话,为:

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

2.2 权限声明

除非两个活动在其清单中具有相同的权限,否则父活动无法启动子活动。如果为父活动声明uses-permission元素,则每个子活动必须具有匹配的uses-permission元素。

示例:

<manifest>
<activity android:name="...."
   android:permission=”com.google.socialapp.permission.SHARE_POST”

/>

如果父活动声明了该权限,则子活动也必须声明该权限,否则父活动无法启动子活动。

2.3 销毁一个活动

销毁一个活动只需要按back键即可。Activity类提供了一个finish()方法,活动调用这个方法就可销毁当前活动。

2.4 Intent使用

Intent是Android程序中各组件之间进行交互的一种重要方式,不仅可以指明当前组件想要执行的动作,还可以在不同组件之间进行传递数据。被用于启动活动,启动服务以及发送广播等场景

2.4.1 使用显式Intent

Activity类中提供一个startActivity()方法,专门用于启动活动。

显示启动的三种方法:

  • 基本用法

    Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
                    startActivity(intent);
    
  • 通过Intent的ComponentName启动

    ComponentName cn = new ComponentName("com.baiheng.activitytest","com.baiheng.activitytest.ThirdActivity");
    Intent intent = new Intent();
    intent.setComponent(cn);
    startActivity(intent);
    
  • 通过初始化Intent时指定包名

    Intent intent = new Intent("android.intent.action.MAIN");
    intent.setClassName("com.baiheng.activitytest", "com.baiheng.activitytest.ThirdActivity");
    startActivity(intent);
    

2.4.2 使用隐式Intent

不明确指出我们想要启动哪一个活动,指定一系列抽象的action和category等信息,交由系统分析这个Intent,这个通过Intent的Intent-filter是实现。

<activity android:name=".SecondActivity"
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值