zoukankan      html  css  js  c++  java
  • AndroidManifest.xml 注册服务

    下面以一问一答的形式来解决这个问题:

    一般新建一个Android项目后,AndroidManifest.xml的内容都是这样的:
    <?xml
    version="1.0" encoding="utf-8"?>
    <manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
         
    package="com.myactivities"
          android:versionCode="1"
         
    android:versionName="1.0">
        <application
    android:icon="@drawable/icon" android:label="@string/app_name">
           
    <activity android:name=".ActivityMain"
                     
    android:label="@string/app_name">
               
    <intent-filter>
                    <action
    android:name="android.intent.action.MAIN" />
                    <category
    android:name="android.intent.category.LAUNCHER" />
               
    </intent-filter>
            </activity>
       
    </application>
    </manifest>
    可以看到manifest的一个属性package="com.myactivities",以后自己新建的多个activity都必须放在com.myactivities这个包里面。问题是现在我如果另外新建一个包,在里面新建几个activity类文件,这几个activity如何在AndroidManifest.xml里注册呢?我最后想达到的目的是com.myactivities里面的activity通过intent跳转到新建的包里面的某个activity,这个怎么实现呢?
    ---------------------------------------------------------------------
    每一个Activity、Service等应用程序组件都会对应AndroidManifest.xml文件中的一个<activity>、<service>标签。在这些标签中有一个必选的属性:android:name,该属性需要指定一个类名,例如,net.blogjava.mobile.Main类。指定android:name属性值有如下3种方式:
    1. 
    指定完全的类名(packagename+classname),例如,net.blogjava.mobile.Main。
    2. 
    只指定类名,例如,.Main,其中Main前面的“.”是可选的。该类所在的包名需要在<manifest>标签的package属性中指定。
    3. 
    指定相对类名,这种方式类似于第2种方式,只是在<activity>标签的android:name属性中不光指定类名,还有部分包名。例如,如果Main类在net.blogjava.mobile.abcd包中,就可以在<manifest>标签的package属性中指定net.blogjava.mobile,然后在<activity>标签的android:name属性中指定.abcd.Main。
           
    由此可见,package的目的是为了更方便地指定android:name以及其他相关属性的值,就是一个默认的包。如果不在android:name中指定包名,会自动将package属性值加在前面。

  • 相关阅读:
    [设计模式] 10 外观模式 facade
    [设计模式] 11 享元模式 Flyweight
    [设计模式] 9 装饰者模式 Decorator
    [设计模式] 8 组合模式 Composite
    float2int
    《ASP.NET》数据绑定——GridView
    Android Studio左边栏Project不见了?
    Linux下的五种I/O模型
    Shell编程入门(第二版)(下)
    Android訪问网络,使用HttpURLConnection还是HttpClient?
  • 原文地址:https://www.cnblogs.com/minlio/p/3642854.html
Copyright © 2011-2022 走看看