programing

활동을 등록 할 때 "점"은 무엇입니까?

coolbiz 2021. 1. 15. 08:31
반응형

활동을 등록 할 때 "점"은 무엇입니까?


저는 Android OS 프로그래밍에 익숙하지 않습니다. 내가 읽은 책에서 저자가 매니페스트에 활동을 등록 할 때 활동 이름 앞에 "점"을 표시했음을 알았습니다. Android 개발자 사이트를 둘러 봤는데 왜 "점"이 필요한지 알 수 없습니다. "점"은 실제로 목적을 제공합니까? 필요합니까? 아래에 예를 포함했습니다. "NewActivity"앞에 "점"이 있습니다.

<activity android:name=".NewActivity"></activity>

아시다시피 요점은 필요하지 않지만 기본적으로는 액티비티 클래스가 앱의 동일한 패키지에 있습니다. 따라서 앱 패키지가 com.my.package다음과 같은 경우 :

  • .YourActivity클래스가 내부에 있음을 의미합니다 com.my.package.
  • YourActivity클래스가 내부에 있음을 의미합니다 com.my.package(위와 동일).
  • .activities.YourActivity클래스가 내부에 있음을 의미합니다 com.my.package.activitites.
  • 다음과 같이 할 수도 com.my.package.activities.YourActivity있습니다. 다른 버전의 앱을 사용하고 Ant를 사용하여 패키지에 대한 참조를 자동으로 변경하려는 경우에 유용합니다.

http://developer.android.com/guide/topics/manifest/activity-element.html#nm

android : name
Activity의 하위 클래스 인 활동을 구현하는 클래스의 이름입니다. 속성 값은 정규화 된 클래스 이름 (예 : "com.example.project.ExtracurricularActivity")이어야합니다. 그러나 축약 형으로 이름의 첫 번째 문자가 마침표 (예 : ".ExtracurricularActivity") 인 경우에는에 지정된 패키지 이름에 추가됩니다<manifest> .

그래서 주어진 ApplicationManifest.xml:

<manifest 
    ...
    package="com.stackoverflow.android.geotask"
    ...>
    <application ...>
        <activity android:name=".view.TaskListListView" ...>
        ...
    </application>
</manifest> 

이후 android:name=".view.TaskListListView"에는 선행 마침표가 있으므로로 해석됩니다 android:name="com.stackoverflow.android.geotask.view.TaskListListView".


이 점은 package애플리케이션 매니페스트에 추가됩니다 .

패키지 이름이 com.app.demo.

<activity android:name=".HelloWorldActivity">

활동이 데모 패키지 안에 있음을 의미합니다.

이것을 다음으로 바꿀 수 있습니다.

<activity android:name="com.app.demo.HelloWorldActivity">

참조 URL : https://stackoverflow.com/questions/4834122/whats-the-dot-for-when-registering-an-activity

반응형