2010-09-11 21 views
18

Fácil.Android - Crear una nueva actividad en Eclipse

He pasado por algunas guías y tutoriales, y son bastante claros sobre cómo comenzar una actividad (con intención).

Sin embargo, ¿cómo creo una nueva actividad en Eclipse? Probablemente pueda hacerlo a mano, pero luego tengo que modificar el archivo R, que se genera automáticamente, y agregar un nuevo diseño xml.

+7

Debería 'never' modificar la clase R a mano. – Macarse

+0

Posible dup: http://stackoverflow.com/questions/2337874/best-way-to-add-activity-to-an-android-project-in-eclipse –

Respuesta

56

Ok. Al ser un novato, creo que las dos respuestas anteriores están pensando demasiado. Está preguntando cómo crear una nueva actividad en Eclipse. Creo que esto es lo que quiere:

Un nuevo Activity en Eclipse es en realidad un Class.

Haciendo doble clic en "src" en el lado izquierdo en el Explorador de paquetes, luego resalte su "com". nombre, haga clic derecho, seleccione 'Nuevo' y luego seleccione 'Clase'. Ingrese el Name como NewActivity y configure Superclass en android.app.Activity, luego presione en Finalizar.

Cuando el archivo se abre NewActivity.java que debería tener este aspecto:

package com.example.yourappname; 

import android.app.Activity; 

public class NewActivity extends Activity { 

} 

Usted puede dejar en blanco la Superclass y añadir a extends Activity el propio código, si lo prefiere.

El paso final es agregar la Actividad a su Manifiesto. Haga doble clic en AndroidManifest.xml para abrirlo y luego haga clic en la pestaña 'Aplicación' en la parte inferior. Junto al cuadro "Nodos de la aplicación", haz clic en "Agregar". Resalte 'Actividad' (el recuadro cuadrado con mayúscula A) y haga clic en 'Aceptar'. Ahora busque el cuadro "Atributos para la actividad" e ingrese un nombre para la actividad y preceda por un período. En este ejemplo, debe ingresar '.NewActivity'.

Y entonces usted puede agregar su código onCreate() por lo que se ve así:

public class NewActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) {   

     super.onCreate(savedInstanceState);  
     setContentView(R.layout.main_view); 
     //rest of the code 
    } 
} 

main_view sería su principal archivo de vista XML, main_view.xml, que se crearía en el directorio de diseño.

llamar a la nueva actividad, su Intent en el código (en una actividad diferente) para iniciar una nueva Activity se ve algo como esto:

Intent startNewActivityOpen = new Intent(PresentActivity.this, NewActivity.class); 
startActivityForResult(startNewActivityOpen, 0); 

Y eso es todo, usted tiene el código para llamar a la nueva actividad y lo creaste. Espero que esto ayude a alguien.

+0

Perfecto gracias, la clase de clic derecho/nueva es lo que me faltaba. También parece que eclipse le permite crear una nueva clase automáticamente si la referencia sin que se defina primero. También utilicé la pantalla del manifiesto GUI para modificar el xml, agradable y rápido. –

+0

@ShadowGod: tu respuesta es útil, pero se trata de registrar nuevas actividades. ¿Puede decirme cómo podría crear 'layout xml' para esta nueva actividad (al igual que main.xml). –

+2

@ShadowGod Esta es una buena respuesta completa, pero si usa el asistente "Nuevo" de Eclipse, creará la clase y el diseño de la nueva Actividad para usted, e incluso agregará las entradas necesarias al archivo AndroidManifest.xml del proyecto. Definitivamente es la mejor y más fácil forma de lograr esto. – Argus9

5

Crea la actividad ampliando la clase de actividad. Una vez que haya creatd la clase de actividad, es necesario añadir la actividad en el archivo AndroidManifest especificar las propiedades de la actividad ...

Una muestra uno sería algo como esto ...

<activity android:name=".JsonActivity" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

El acción aquí indica que es el que comienza primero ..

No creo que necesite modificar el archivo R.java ... Una vez que lo agrega al archivo de manifiesto de Android y lo guarda, se actualiza automáticamente. También las cosas que u adicionales como los diseños, los menús, cadenas, ETCC de Identificación .... en los diversos archivos XML también se actualizan de forma automática ...

me corrija si estoy equivocado ...

+0

Gracias, vamos a probarlo. ¿Cómo puedo vincular el archivo xml de diseño con la actividad específica? –

+0

¡Gracias, no apareció la primera vez porque la primera letra era una capital! Tengo que amar a java;) –

0

Hay es también el método probado de comenzar con una de las muestras y partir de allí.

El tutorial de Hello es un punto de partida tan bueno como cualquier otro, simplemente seleccione la opción crear desde la muestra existente.

La última actualización del plugin eclipse incluso incluye una herramienta para cambiar el nombre de tu paquete si cambias de opinión aunque todavía no lo haya usado, por lo que no puedo decir si funciona. (Haga clic derecho en el paquete y luego seleccione Herramientas de Android, Cambiar nombre de paquete de aplicaciones).

+0

He hecho el mundo hello, también el mundo beyond hello. En ninguna de las guías mencionan qué era lo "correcto" para crear una nueva actividad. –

+0

Lo siento, debería haber dejado en claro que quise decir que puedes usar helloworld (o cualquier otra muestra si tiene la funcionalidad que necesitas) como plantilla. De esta manera, los recursos básicos como el diseño, etc. ya están creados y vinculados para usted. Simplemente guarda un poco de tipeo. (... y reduce las posibilidades de equivocarse!) – FixerMark

+0

Bien entendido, pero prefiero hacerlo manualmente esta vez, solo para entender. –

22

Sé que esto es una cuestión de edad, pero sé que todavía hay gente con esta misma pregunta (lo hice hasta hoy)

Si se agrega una nueva actividad a su archivo de manifiesto, no hay un vínculo especial con haga clic en para crear automáticamente la nueva actividad, complete con el método onCreate() listo para rellenar.

Abra el archivo AndroidManifest.xml y vaya a la pestaña 'Aplicación'. En "Nodos de aplicaciones", busque y haga clic en el botón "Agregar". Es probable que cree un nuevo elemento en el nivel superior, seleccione esa opción, resalte 'Actividad' y presione OK.

Una vez que haya creado la actividad, vaya a 'Atributos para la actividad' y complete el nombre. Una vez que haya rellenado el nombre que desea, haga clic en el enlace azul 'Nombre *' al lado del campo. Aparecerá el nuevo asistente de archivos, y todo lo que tiene que hacer es presionar OK.

Voila! Nueva actividad, registrada en el manifiesto y como una clase de Java lista para usar.

+0

Excelente. Si va a usar un IDE, también puede usarlo al máximo. – superluminary

0

Es importante decir que si escribe el nombre deseado para la nueva Actividad en el cuadro Nombre, se debe poner un punto antes del nuevo nombre. De lo contrario, la ventana para completar la creación del código Java no se abrirá cuando haga clic en el enlace de nombres.

4

He intentado buscar esta pregunta en Google y todavía no he visto esta solución, así que pensé en publicarla aquí.

En Eclipse, puede hacer clic en el botón "Nuevo" en la barra de herramientas. En Android, seleccione Android Activity y ejecute el asistente. Esta es, con mucho, la mejor solución, ya que le permite configurar un diseño y una Actividad, todo en uno, al mismo tiempo que actualiza el Manifiesto por usted.

1

Cómo agregar Nueva actividad Eclipse paso a paso:

  1. Stpe1: Doble clic en la AndroidManifest
  2. Paso 2: En la barra de menús, haga clic en Aplicación
  3. Paso 3: Vaya a nodo de la aplicación y haga clic botón de añadir
  4. paso 4: haga clic en Seleccionar Ok Actividad y
  5. paso 5: clik en el la texte (Nombre * Nota: hacer sur u clik en el texte no en el cuadro de texto)
  6. paso6: hay un nuevo diálogo de la clase Java
    ## Título ## escriba el nombre de la classe ## Título ## marque el constructo de la casilla de verificación del super classe yy ok ...
Cuestiones relacionadas