Eclipse가 새 프로젝트를 만들 때마다 appcompat v7 라이브러리 지원을 자동으로 추가하는 이유는 무엇입니까?
appcompat v7
새 프로젝트를 작성할 때마다 Eclipse가 자동으로 라이브러리 지원을 추가하는 이유는 무엇 입니까?
MainActivity
확장 해야하는 간단한 프로젝트를 만들고 Activity
있지만 그렇지 않습니다. Eclipse는 자동으로 작업 표시 줄 지원을 추가합니다.
appcompat
라이브러리 없이 간단한 프로젝트를 어떻게 만듭니 까? 참고로, 최근에 업데이트 된 모든 내용으로 최신 버전의 ADT를 다운로드했습니다. Window 7 x64를 사용하고 있습니다.
Android의 지원 라이브러리 개요에 명시된 바와 같이 , 다양한 버전의 장치와 다양한 버전의 Android (및 제공된 API)간에 존재하는 조각화로 인해 기본적으로 지원 라이브러리를 포함하는 것이 좋습니다.
이것이 Eclipse에 포함 된 Android 코드 템플릿 도구Android Development Tools (ADT)
가 기본적으로 통합을 통해 제공 되는 이유 입니다.
API 15
샘플에서 대상 을 지정했지만 패키지에 필요한 최소 SDK는 API 10
입니다. 호환성 라이브러리는 엄청난 양의 이전 버전과 호환되는 API를 제공 할 수 있습니다. 예 Fragment API
를 들어이 시스템의 이전 버전을 실행하는 기기 에서 API 11
(Android 3.0 Honeycomb) 에 표시된 것을 사용할 수 있습니다.
또한 기본적으로 지원 라이브러리 의 자동 포함을 비활성화 할 수 있습니다 .
2 단계에서 새 프로젝트를 작성 Android Application Project
하고 선택 취소 하십시오 Create activity
(프로젝트 구성).
새 프로젝트를 만들 때마다 Eclipse가 appcompat v7 라이브러리 지원을 자동으로 추가하는 이유
대상 SDK가 15로 설정되어 있으며 기본적으로 조치 표시 줄이 켜져 있고 최소 지원 SDK가 10으로 설정되어 있습니다. 조치 표시 줄이 11에 나오므로 지원 라이브러리가 필요하므로 Eclipse가이를 추가합니다. 참고.
프로젝트 속성의 빌드 경로에서 프로젝트 라이브러리를 구성 할 수 있습니다.
Eclipse는 자동으로 Kitkat으로 API의 appcompat_v7.Because가 자동으로 추가 자체를 시작 만들어 appcompat_v7
와 fragment_main.xml
.
이를 해결하는 가장 좋은 방법 :
첫째 프로젝트,
Right click->properties->Android
.There 당신이 볼 수red marked appcompat
있는 위치Reference
. 그것을 클릭하고 제거하십시오. 그런 다음에서 올바른 대상 이름을 선택하십시오Project Build Target
.Eclipse 에서 작성된 fragment_main.xml 및 Appcompat 파일을 삭제 하십시오 .
다음과 같이 activity_main.xml을 편집하고 변경하십시오 .
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>
에서 고해상도 / 값 / styles.xml :
<resources> <style name="AppBaseTheme" parent="android:Theme.Light"> </style> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> </style> </resources>
에서 고해상도 / 값-V11 / styles.xml은 당신은이 같은 변화에 있습니다 :
<resources> <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> </style> </resources>
에서 고해상도 / 값-V14 / styles.xml은 당신은이 같은 변화에 있습니다 :
<resources> <style name="AppBaseTheme" parent="android:Theme.Light"> </style> <style name="AppTheme" parent="AppBaseTheme"> </style> </resources>
다음과 같이 menu / main.xml을 변경하십시오 .
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/> </menu>
마지막으로 MainActivity.java를 다음 과 같이 변경하십시오 .
import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
LikeWise는 새로운 프로젝트를 만들기 위해해야한다
최소 SDK 버전이 10으로 설정되어 포함되어 있습니다. ActionBar
API 11에 도입되었습니다. Eclipse는 자동으로 추가하므로 지원하는 모든 Android 버전의 스펙트럼에서 앱이보다 일관되게 보일 수 있습니다.
2.x 버전을 타겟팅하지 않는 경우 최소 SDK 버전 4.x를 설정 한 다음 프로젝트를 만들 수 있습니다. Appcompat V7 lib가 작성되지 않습니다.
저는 Android를 처음 사용하고 새로운 Android 응용 프로그램 프로젝트를 만들 때 appcompat_v7 프로젝트가 항상 만들어져 불편합니다.
이것은 단지 산책입니다. 프로젝트 속성-> Android를 선택한 다음 라이브러리 상자에서 appcompat_v7_x를 제거하고 appcompat_v7을 추가하십시오. 이제 appcompat_v7_x를 삭제할 수 있습니다.
마법사로 활동을 작성할 때 appcompat_v7_x 가 다시 나타나 므로 프로젝트 작성 마법사에서 활동 작성을 선택 취소하십시오 . 내 ADT 버전은 v22.6.2-1085508 입니다.
영어 실력이 나쁘면 죄송합니다.
내 영어로 죄송합니다. 새 Android 프로젝트를 만들 때 api 17에서 api 21까지 높은 수준의 api를 선택해야합니다.이 앱에는 appcompat가없고 공유하기가 매우 쉽습니다. 더 낮은 API로 수행 한 경우 Android Manifest에서 상위 API를 갖도록 편집하면됩니다.) 이후 Appcompat V7을 삭제할 수 있습니다.
http://developer.android.com/guide/topics/ui/actionbar.html 에 따르면
ActionBar API는 Android 3.0 (API 레벨 11)에서 처음 추가 되었지만 Android 2.1 (API 레벨 7) 이상과 호환되도록 지원 라이브러리에서도 사용할 수 있습니다.
요컨대, 자동 생성 된 프로젝트는 API 7-10에 ActionBar를 추가하는 프로세스를 모듈화 합니다.
주제에 대한 간단한 설명과 자습서는 http://hmkcode.com/add-actionbar-to-android-2-3-x/ 를 참조 하십시오 .
minSDK가 11로 설정되고 targetSDK가 19로 설정된 경우에도 ADT 22.6.2 버전으로 새 안드로이드 프로젝트를 만드는 동안 'appcompat'라이브러리가 생성되는 것을 알았습니다.
이것은 새로운 프로젝트 템플릿에서 안드로이드가 지원 라이브러리의 일부 속성을 사용하기 때문에 발생했습니다. 예를 들어 actionbar로 새 프로젝트를 만든 경우 메뉴의 main.xml app:showAsAction="never"
에서 지원 라이브러리에서 찾을 수 있습니다.
- 앱이 Android 버전 11 이상을 대상으로하는 경우
android:showAsAction
메뉴의 main.xml 에서이 속성을 변경할 수 있습니다. 또한 기본 테마 세트는 아래와 같이 "Theme.AppCompat.Light.DarkActionBar"일 수 있습니다 (styles.xml).
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- API 14 theme customizations can go here. --> </style>
이 경우 style.xml의 상위 테마를 "android : style / Theme.Holo.Light.DarkActionBar"로 변경해야합니다.
- 또한 지원 라이브러리의 Fragment, Fragments Manager에 대한 참조가 MainActivity.java의 코드로 작성된 경우 SDK의 FragmentManager 인 FragmentManager로 적절히 변경해야합니다.
'Programing' 카테고리의 다른 글
console.log은 (는) 무엇 이죠? (0) | 2020.04.27 |
---|---|
Visual Studio는 중단 점을 잊지 않습니까? (0) | 2020.04.27 |
CSS 플로트를 한 줄로 유지하려면 어떻게합니까? (0) | 2020.04.26 |
.keyCode와 .which (0) | 2020.04.26 |
Chrome 개발 도구 네트워크 탭에 표시된 '요청 페이로드'와 '양식 데이터'의 차이점 (0) | 2020.04.26 |