안드로이드 설정 시작 프로세스 요약

  요약 :

  첫째, 시작을 설정하면 Settings.java라는 클래스를 결정, 파일 AndroidManifest를를 열고 설정 디렉토리를 찾을 수 있습니다. 다른 서브 클래스 내에 정의 SettingsActivity의 설정 상속, 상속에 설정 활성은 주석이 내부 모드는 서브 클래스 정의는 독립적 해당 인터페이스 점프를 호출되어 이로부터 알 수있다.

 / *
    * 독립적으로 실행하기위한 설정 서브 클래스.
    * /

 

  열기 SettingsActivity.java, SettingsDrawerActivity로부터 상속 SettingsActivity는 SettingDrawerActivity 기본 설치 패키지는 초기화, 삭제, 수정 및 모니터 등록에 추가 스레드 업데이트 카테고리가 업데이트 방송을 시작한다. 또한, 서브 클래스 SettingDrawerActivity 된 setContentView 뷰 R.id.content_framet 용기에 추가 할 수있는 방법을 덮어.

  전체 패키지 경로 다시 SettingsActivity에서 onCreate 방법, 메타 데이터 필드의 활동을 얻기 위해주의를 기울 된 getMetaData 방법, 다음의 조각을 표시 할 mFragmentClass에 할당. SettingsActivity 덮어 다른 레이아웃을 호출 루트 인터페이스와 서브 클래스 인터페이스를 설정 된 setContentView 인터페이스가 결정됩니다 표시됩니다 EXTRA_SHOW_FRAGMENT에 할당 getIntent 전송 인터페이스를 채울 수있는 방법, 그 다음 다른 적재 방법의 각 호출 switchToFragment 콘텐츠입니다.

  내용 DashboardSummary.java 예를로드, 최초의 톱 onCreateView 방법은 R.layout.dashboard 자체는, 기본 인터페이스와 recyclerview 설정을 제거 rebuildUI에게 updateCategory 메소드를 호출 직접적인 방법을 참조하십시오 recyclerview 레이아웃입니다. 이름 = "com.android.settings.category"속성 값에 대응하는 COM : 장르 파싱 <메타 데이터 파일 AndroidManifest를 안드로이드 말하자면 실제로 com.android.settings.category.ia.homepage CategoryKey.CATEGORY_HOMEPAGE. 활동의 android.settings.category.ia.homepage를 얻을 수 있습니다. getTilesForCategory 아래 클래스를 구현하는 코드를 읽고 DashboardFeatureProviderImpl.java하는 방법은 반환 getTilesForCategory 실제로 CategoryManager.getTilesByCategory이 방법 안에서 발견 할 수있는 인터페이스 DashboardFeatureProvider이 방법을 참조하십시오. TileUtils.getCategories 방법이라고 getTilesByCategory 방법, 조각을 걸어

   getTilesForAction (문맥, 사용자, SETTINGS_ACTION, 캐시,  , 타일, 사실 ,
                        settingPkg);
                getTilesForAction (문맥, 사용자, OPERATOR_SETTINGS, 캐시,
                        OPERATOR_DEFAULT_CATEGORY, 타일, 거짓 , 진실 , settingPkg);
                getTilesForAction (문맥, 사용자, MANUFACTURER_SETTINGS, 캐시,
                        MANUFACTURER_DEFAULT_CATEGORY, 타일, 거짓 , 진실 , settingPkg);
            }
            경우 (설치) {
                getTilesForAction (문맥, 사용자, EXTRA_SETTINGS_ACTION, 캐시,  , 타일, 거짓 ,
                        settingPkg);
                만약 (! categoryDefinedInManifest) {
                    getTilesForAction (문맥, 사용자, IA_SETTINGS_ACTION, 캐시,  , 타일, 거짓 ,
                            settingPkg);
                    경우 (extraAction! = null이 ) {
                        getTilesForAction (문맥, 사용자, extraAction, 캐시,  , 타일, 거짓 ,
                                settingPkg);
                    }

  AndroidManifest를 결정에서 구문 분석 서브 클래스 활동 액션 해당 파일을 채울 것을 알 수있다.

추천

출처www.cnblogs.com/nextbug/p/12145276.html