📜  在 Android 中处理和解析 XML

📅  最后修改于: 2022-05-13 01:58:44.472000             🧑  作者: Mango

在 Android 中处理和解析 XML

在本博客中,我们将了解 Android 最引人入胜的主题之一。甚至我们大多数人都没有意识到它,尽管它是 Android 开发中最重要的思想之一。但是,在我们进入我们的主题之前,拿出你的手机,数一数你在智能手机上拥有的应用程序的数量。平均必须有 30 多个应用程序。但是,我们每天只使用这 30 个应用程序中的 5-6 个。其他应用程序,虽然很少被使用,但也很关键。因此,在我们的主屏幕或手机的主屏幕上,我们制作了常用程序的快捷方式。这些启动器用于启动应用程序的 MainActivity 或 Launcher Activity。

那么,在本文中,我们将学习如何在主屏幕上制作应用程序快捷方式?没办法,我们都心知肚明。我们都是 Android 开发者,我们必须考虑平台的技术方面。因此,只要我们通过快捷方式打开移动应用程序,就会调用 MainActivity 或 Launcher Activity。快捷方式的工作是维护或保存您的启动器,每次打开应用程序时,它都会为您启动启动器或仅 MainActivity。

但是,当您修改应用程序的 Launcher Activity 时,问题会变得更加复杂。因此,请尝试更改应用程序的 Launcher Activity 并在您的设备上运行它。快捷方式在您的主屏幕上是否仍然可见?刚才发生了什么?捷径怎么了?不用担心,您会在本博客的最后找到所有这些问题的答案。因此,在本文中,我们将介绍 Android 上的活动别名。

在进行之前

我们注意到,如果我们更改应用程序的 Launcher Activity,应用程序在主屏幕上的快捷方式就会消失。但是为什么要更改 Launcher Activity 呢?解释很简单:每次你为你的程序制作一个新版本时,你可能由于新的特性需要修改你的 Launcher Activity,或者你可能已经更改了包名和关联的 Activity 名称。因此,在这种情况下,您的 Launcher Activity 的名称将被更改,但内容保持不变。

让我们创建一个项目以更好地了解情况

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。

XML


  
    
  


XML


  
    
    


现在,创建一个名为NewActivity的新 Activity。下面是activity_new.xml文件的代码。

XML



  
    
    

在 NewActivity.kt 文件中,我们还没有编写任何代码。现在打开 AndroidManifest.xml 文件。将出现以下代码:


    
    
    
        
            
            
        
    

因为我们在 OldActivity 标签中使用了 intent-filter>,所以我们的 OldActivity 就是 Launcher 活动。因此,每当我们运行程序时,OldActivity 也会启动。在您的智能手机上安装该应用程序并在您的主屏幕上创建一个快捷方式。创建快捷方式后,将 Launcher 活动更改为 NewActivity。因此,以下代码将添加到我们的 AndroidManifest.xml 文件中:


    
    
    
        
            
            
        
    

现在,启动应用程序并查找您在主屏幕上创建的快捷方式。主屏幕上没有快捷方式。

这背后的原因是什么?

当我们在主屏幕上创建某个应用程序的快捷方式时,该快捷方式会记住 Launcher Activity 的名称。

活动别名

因此,即使 Launcher Activity 名称发生变化,为了在主屏幕上保留快捷方式,我们使用了 Activity-Alias 的概念。 activity-alias > 标签用于启动 Activity,同时保持启动器完好无损。那么是什么阻止您使用活动别名 pal?但是这个Activity-Alias应该怎么用呢?只需将以下代码粘贴到您的 AndroidManifest.xml 文件中:




    
        
        
    

为了声明我们的 Launcher Activity,我们使用了 activity-alias> 标签。请参阅下面列出的标签以更好地理解使用 Launcher 时,术语“Purani”用于指定目标活动。在主屏幕上创建应用程序的快捷方式,然后将 Launcher Activity 更改为 NewActivity 并启动它。您可以看到,即使在更改 Launcher Activity 之后,我们的快捷方式仍保留在主屏幕上。但这背后的原因是什么?

因此,该名称将被用户记住。更改活动别名> 中的名称并再次运行程序。您将遇到相同的问题,由于名称更改,快捷方式将从屏幕中删除。

活动别名提供的其他功能>

除了维护 Launcher, 还提供以下功能:


  1. android:enabled: android:enabled 指定目标活动是否可以由系统创建。如果不是,则该值为 false;否则,这将是真的。 Activity 和别名默认为 true,但要启动 Activity,这两个值必须同时为 true。
  2. android:exported:该属性表示targetedActivity是否可以被另一个应用程序的组件启动。如果不是,则值为假;否则,这是真的。
  3. android:icon:此属性指定通过别名显示给用户的 Targeted Activity 的图标。当别名显示给用户时。
  4. android:label:用于为别名提供用户可读的文本。它用于通过编写完全分类的类名来唯一标识别名。
  5. android:permission:别名启动某个活动所需的权限名称在此处。
  6. android:targetActivity:该属性用于表示将使用别名启动的Activity的名称。

结论

我们在这篇博客中了解了 activity-alias> 的概念。 属性用于在 Android 应用程序中保留启动器。我们可以使用activity-alias>修改Launcher Activity,我们的应用程序快捷方式将保持在主屏幕上的相同位置。