当前位置: 首页 > article >正文

Android学习小记2

目录

Android Manifest文件分析

1. XML声明

2. 元素

3. 元素

4. 元素

5. 元素

6. 关闭标签

7. 结束标签

res文件夹再探

drawable

mipmap

value

color.xml

strings.xml

style.xml

xml文件

backup_rules.xml

data_extraction_rules.xml


Android Manifest文件分析

笔者打算进一步详细的分析一下这个Manifest文件,请看下文:

AndroidManifest.xml文件,包含了应用的基本配置信息和声明。下面是逐行的详细分析:

XML 的格式就是要求一个属性的内容要被包含在一堆标签内部

1. XML声明
<?xml version="1.0" encoding="utf-8"?>

这是XML声明,表示该文件使用UTF-8编码格式,符合XML 1.0规范。

2. <manifest>元素
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools">
  • xmlns:android 定义了Android命名空间的URI,用于在文件中引用Android的属性。

  • xmlns:tools 定义了tools命名空间的URI,常用于开发工具属性(如tools:targetApi)来影响构建工具和IDE行为,但不会影响应用的运行时行为。

3. <application>元素
<application
    android:allowBackup="true"
    android:dataExtractionRules="@xml/data_extraction_rules"
    android:fullBackupContent="@xml/backup_rules"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.DemoOfMyFirstApplication"
    tools:targetApi="31">

下面的内容就分别对应了res文件夹下的内容了。

  • android:allowBackup="true": 允许应用备份数据。这意味着用户卸载并重新安装应用时,可以恢复数据。

  • android:dataExtractionRules="@xml/data_extraction_rules": 指定一个XML文件,定义数据提取规则,通常与备份和恢复数据相关。

  • android:fullBackupContent="@xml/backup_rules": 指定一个XML文件,定义全量备份的内容。

  • android:icon="@mipmap/ic_launcher": 定义应用的图标,引用了一个位于mipmap目录下的资源。

  • android:label="@string/app_name": 应用的名称,引用了一个字符串资源。

  • android:roundIcon="@mipmap/ic_launcher_round": 为支持圆形图标的设备指定圆形图标资源。

  • android:supportsRtl="true": 表示应用支持从右到左(RTL)的语言方向,通常用于阿拉伯语或希伯来语。

  • android:theme="@style/Theme.DemoOfMyFirstApplication": 定义应用的主题,引用了一个主题资源。

  • tools:targetApi="31": 指定开发工具应针对Android 12(API 31)进行构建。这个属性只会影响开发工具和编译器,运行时不会起作用。

4. <activity>元素
<activity
    android:name=".MainActivity"
    android:exported="true"
    android:label="@string/app_name"
    android:theme="@style/Theme.DemoOfMyFirstApplication">
  • android:name=".MainActivity": 指定启动的活动(Activity)的名称,这里是MainActivity类。"."表示该活动是当前应用的直接子类。

  • android:exported="true": 表示此活动可以被外部应用启动。在Android 12及以后版本中,所有具有intent-filter的Activity必须声明android:exported属性,确保应用明确指示哪些活动是可以被外部访问的。

  • android:label="@string/app_name": 应用的标签,通常用于显示在UI中。它引用了字符串资源app_name

  • android:theme="@style/Theme.DemoOfMyFirstApplication": 为该Activity指定了应用的主题。

5. <intent-filter>元素
<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
  • <action android:name="android.intent.action.MAIN" />: 表示这是应用的主入口点,即启动Activity。

  • <category android:name="android.intent.category.LAUNCHER" />: 指定这个Activity作为应用启动时的启动项。它告诉系统这是主界面(即启动器)。

6. 关闭标签
</activity>
</application>

这些标签分别关闭了<activity><application>元素。

7. 结束标签
</manifest>

最后,关闭了<manifest>元素,表示XML文档结束。

res文件夹再探

我们之前就是简单的看了眼res底下有什么,下面我们仔细瞧瞧我们的res文件夹。

drawable

可画的!其实就是放置一些常见的绘画资源。drawable 文件夹用于存储所有与绘制和显示相关的图像资源。这些资源通常用于各种UI元素,比如按钮、背景图、图标等。图像文件可以是位图(如 .png.jpg)或矢量图形(如 .xml 形式的矢量文件)。此外,drawable 文件夹还可以存放不同密度版本的图像(如hdpi、mdpi等),以适应不同屏幕分辨率的设备。

mipmap

mipmap 文件夹用于存储应用的启动图标(Launcher icon),这是Android应用的标志性图像,用于显示在设备的主屏幕和应用抽屉中。与drawable不同,mipmap中的图标文件有特定的用途和要求,尤其是在支持高分辨率屏幕和不同设备的情况下。

value

这个文件夹存储的就是我们的常量,res/values 文件夹用于存储许多 Android 项目中使用的资源的值,包括颜色、样式、尺寸等特性。我们新建的项目下面有三个重要的xml文件。

color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="purple_200">#FFBB86FC</color>
    <color name="purple_500">#FF6200EE</color>
    <color name="purple_700">#FF3700B3</color>
    <color name="teal_200">#FF03DAC5</color>
    <color name="teal_700">#FF018786</color>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>
</resources>

这个封装了我们对颜色的抽象,毕竟没有人喜欢咔咔写一串颜色代码来指定颜色,对于特殊的颜色我们选择封装一个字符串来进行使用。我们稍后就可以在布局文件夹中写上:

android:background="@color/purple_500"
strings.xml

strings.xml 是最重要的、使用最广泛的值文件之一,因为它适用于 Android 项目。strings.xml 的基本功能是在一个文件中定义字符串,以便于在 Android 项目的不同位置使用相同的字符串,而且它使项目看起来不那么混乱。我们也可以在此文件中定义一个数组。

<resources>
    <string name="app_name">DemoOfMyFirstApplication</string>
</resources>
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.DemoOfMyFirstApplication" parent="android:Theme.Material.Light.NoActionBar" />
</resources>

样式资源用于定义UI元素的外观和行为,比如颜色、字体、布局等。该样式名为Theme.DemoOfMyFirstApplication,它继承自Android内置的android:Theme.Material.Light.NoActionBar样式。

  • name="Theme.DemoOfMyFirstApplication":这是定义的样式的名称。这个名称可以在应用的其他地方引用,比如在AndroidManifest.xml文件中设置应用的主题。

  • parent="android:Theme.Material.Light.NoActionBar":这个属性指定了该样式的父样式为android:Theme.Material.Light.NoActionBarandroid:Theme.Material.Light.NoActionBar是Android系统自带的一个主题,它使用了Material Design样式和浅色调(Light),并且没有ActionBar(即没有顶部的应用栏)。

xml文件

backup_rules.xml

backup_rules.xml 是一个用于配置 Android 应用数据备份规则的 XML 文件。它告诉 Android 系统哪些文件或目录需要被备份,哪些文件或目录应该被排除在备份之外。

在 Android 中,备份和恢复功能由系统通过 Auto BackupBackupManager 提供支持,开发者可以通过自定义规则来指定哪些数据应该被备份,哪些数据应该被排除。

通过自动备份功能备份用户数据 | Identity | Android Developers

在使用 backup_rules.xml 时,通常会将文件存放在 res/xml/ 目录下,然后通过 BackupManager 来应用这些规则。

data_extraction_rules.xml

data_extraction_rules.xml 是一个用于定义数据提取规则的配置文件,通常在应用需要提取数据时使用。例如,它可能会用于备份数据、数据恢复、或者将特定数据发送到云端等操作。


http://www.kler.cn/a/461414.html

相关文章:

  • React 数据是怎样传递的
  • 【数据结构】树链刨分
  • 小程序发版后,强制更新为最新版本
  • 如何使用Python自动化发送消息:用pynput库批量输入并发送文本
  • 超高分辨率 图像 分割处理
  • 2024/12/29 黄冈师范学院计算机学院网络工程《路由期末复习作业一》
  • leetcode 23.合并K个升序链表
  • Zabbix企业级分布式监控系统
  • STM32单片机芯片与内部53 AT24C02读写原理 模拟IIC 标准库 HAL库
  • el-input输入框需要支持多输入,最后传输给后台的字段值以逗号分割
  • 智慧社区养老服务平台(源码+文档+部署+讲解)
  • C语言自定义类型
  • 字节跳动Java开发面试题及参考答案(数据结构算法-手撕面试题)
  • 【网络云SRE运维开发】2024第52周-每日【2024/12/31】小测-计算机网络参考模型和通信协议的理论和实操考题-简要解析
  • AI替换:FaceFusion4.1.0 更新内容和软件
  • STM32 IAP技术 bootloader设计
  • 好用的随机生成图片的网站
  • Ae:项目设置 - 音频
  • π₀:基于VLM的多任务具身操作基础模型
  • View Shadcn UI 正式版本 v2024.5.4 发布
  • C++【内存管理】
  • golang中的错误处理机制
  • Fetch处理大模型流式数据请求与解析
  • OpenLinkSaas使用手册-项目外部资源管理
  • HarmonyOS:@Require装饰器:校验构造传参
  • 深入解析 Android MediaHTTPConnection JNI 实现