android - roja - el eclipse
¿Por qué Eclipse agrega automáticamente el soporte de la biblioteca appcompat v7 cuando creo un nuevo proyecto? (10)
¿Por qué mi eclipse agrega automáticamente la compatibilidad de la biblioteca appcompat v7 cada vez que creo un nuevo proyecto?
Debido a que su SDK de destino está configurado en 15, la Barra de acción está activada de forma predeterminada y su SDK admitido mínimo está configurado en 10. La Barra de acción aparece en 11, por lo que necesita una biblioteca de soporte, Eclipse lo agrega para usted. Reference.
Puede configurar las bibliotecas de proyectos en la ruta de compilación de las propiedades del proyecto.
¿Por qué Eclipse agrega automáticamente el soporte de la biblioteca appcompat v7
cada vez que creo un nuevo proyecto?
Estoy creando un proyecto simple cuya MainActivity
debe extender la Activity
, pero no lo hace. Eclipse agrega automáticamente el soporte de la barra de acción.
¿Cómo creo un proyecto simple sin la biblioteca appcompat
? Para su información, he descargado la última versión de ADT con todo actualizado recientemente. Estoy usando Windows 7 x64.
Como se indica en la Descripción general de la biblioteca de soporte de Android, se considera una buena práctica incluir la biblioteca de soporte de forma predeterminada debido a la gran diversidad de dispositivos y la fragmentación que existe entre las diferentes versiones de Android (y, por lo tanto, de las API proporcionadas).
Esta es la razón por la que las herramientas de plantillas de código de Android incluidas en Eclipse a través de Android Development Tools (ADT)
integran de forma predeterminada.
Noté que apuntas a la API 15
en tu muestra, pero el SDK mínimo requerido para tu paquete es la API 10
, para el cual las bibliotecas de compatibilidad pueden proporcionar una enorme cantidad de API compatibles con versiones anteriores. Un ejemplo sería la capacidad de utilizar la Fragment API
que aparece en API 11
(Android 3.0 Honeycomb) en un dispositivo que ejecuta una versión anterior de este sistema.
También se debe tener en cuenta que puede desactivar la inclusión automática de la biblioteca de soporte de forma predeterminada.
Cree un nuevo Android Application Project
y desmarque Create activity
en el paso dos (Configurar proyecto).
De acuerdo a http://developer.android.com/guide/topics/ui/actionbar.html
Las API de ActionBar se agregaron por primera vez en Android 3.0 (nivel de API 11), pero también están disponibles en la Biblioteca de soporte para compatibilidad con Android 2.1 (nivel de API 7) y superior.
En resumen, el proyecto generado automáticamente que está viendo modulariza el proceso de agregar el ActionBar a las API 7-10.
Consulte http://hmkcode.com/add-actionbar-to-android-2-3-x/ para obtener una explicación simplificada y un tutorial sobre el tema.
Disculpe con mi inglés. Cuando cree un nuevo proyecto de Android, debe elegir una API de alto nivel, por ejemplo: desde la API 17 a la API 21, no tendrá una aplicación compacta y es muy fácil de compartir el proyecto. Si lo hizo con una API más baja, simplemente edite en el manifiesto de Android para tener una API superior :), después de eso, puede eliminar Appcompat V7.
Eclipse creó automáticamente appcompat_v7. Debido a que Kitkat Api se lanzó, agrega automáticamente appcompat_v7
y fragment_main.xml
.
Las mejores formas de resolver estos:
En primer lugar en el proyecto,
red marked appcompat
Right click->properties->Android
.red marked appcompat
puede ver la aplicaciónred marked appcompat
encuentra enReference
. Haga clic en eso y elimínelo. Luego marque el nombre de destino correcto enProject Build Target
.Elimine el archivo fragment_main.xml y Appcompat creado en su Eclipse .
Edita y cambia tu activity_main.xml como estos:
<?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>
En res / values / styles.xml:
<resources> <style name="AppBaseTheme" parent="android:Theme.Light"> </style> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> </style> </resources>
En res / values-v11 / styles.xml tienes que cambiar así:
<resources> <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> </style> </resources>
En res / values-v14 / styles.xml tienes que cambiar así:
<resources> <style name="AppBaseTheme" parent="android:Theme.Light"> </style> <style name="AppTheme" parent="AppBaseTheme"> </style> </resources>
Cambie su menu / main.xml como estos:
<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>
Finalmente cambia tu MainActivity.java como estos:
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 tienes que hacerlo para crear un nuevo proyecto
Noté la creación de la biblioteca ''appcompat'' al crear un nuevo proyecto de Android con la versión ADT 22.6.2, incluso cuando el minSDK se configuró en 11 y el targetSDK se configuró en 19
Esto estaba sucediendo porque, en la nueva plantilla de proyecto, android está usando algunos atributos que son de la biblioteca de soporte. Por ejemplo, si se creó un nuevo proyecto con la barra de acciones, en el main.xml del menú se podría encontrar una app:showAsAction="never"
que es de la biblioteca de soporte.
- Si la aplicación está dirigida a la versión de Android 11 y superior, se puede cambiar este atributo a
android:showAsAction
enandroid:showAsAction
menú También el conjunto de temas predeterminado podría ser "Theme.AppCompat.Light.DarkActionBar" como se muestra a continuación (styles.xml)
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- API 14 theme customizations can go here. --> </style>
En este caso, el tema principal en style.xml se debe cambiar a "android: style / Theme.Holo.Light.DarkActionBar"
- Además de esto, si se hizo referencia a Fragment, Fragments Manager de la biblioteca de soporte en el código de MainActivity.java, estos deben cambiarse de manera apropiada a Fragment, FragmentManager del SDK.
Se incluye porque su versión de SDK mínima está establecida en 10. La ActionBar
se introdujo en la API 11. Eclipse lo agrega automáticamente para que su aplicación se vea más consistente en todo el espectro de todas las versiones de Android que admite.
Si no está apuntando a las versiones 2.x, puede configurar su versión sdk mínima de 4.x y luego crear el proyecto. Appcompat V7 lib no será creado.
Soy nuevo con Android y el proyecto appcompat_v7 siempre se crea cuando creo un nuevo proyecto de aplicación para Android que me hace sentir incómodo.
Esto es solo un paseo alrededor Elija Propiedades del proyecto -> Android y luego en el cuadro Biblioteca simplemente elimine appcompat_v7_x y agregue appcompat_v7. Ahora puedes eliminar appcompat_v7_x.
Desmarcar Crear actividad en el asistente de creación de proyectos no funciona, porque cuando se crea una actividad mediante el asistente, la aplicación compatir_v7_x vuelve a aparecer. La versión de mi ADT es v22.6.2-1085508 .
Lo siento si mi ingles es malo