Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Cuáles son los directorios de archivos relacionados con las aplicaciones de Android?

¿Cuáles son los directorios de archivos relacionados con las aplicaciones de Android?

Después de configurar el entorno de desarrollo de Android y simplemente crear un proyecto HelloWorld, este artículo presentará la estructura de directorios del proyecto de Android a través del proyecto HelloWorld. Los temas principales de este artículo son los siguientes:

1. Estructura de directorios del proyecto HelloWorld

1.1 Carpeta src

1.2. >

1.3, carpeta Android 2.1

1.4, activos

1.5, carpeta res

1.6, AndroidManifest.xml

1.7 , default.properties

Figura 1. Estructura de directorios del proyecto HelloWorld

La estructura de directorios anterior en cada nivel se presentará en las secciones siguientes.

1.1.carpeta src

Como sugiere el nombre (src, código fuente), esta carpeta contiene el código fuente del proyecto. Abra el archivo HelloWorld.java y verá el siguiente código:

package helloworld.test; import android.app.Activity; import android.os.Bundle public class HelloWorld extends Activity { /** Llamado; cuando se crea la actividad por primera vez */ @Override public void onCreate(Bundle saveInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); En un nuevo proyecto HelloWorld simple, el sistema generó un archivo HelloWorld.java para nosotros. Importó dos clases android.app.Activity y android.os.Bundle. La clase HelloWorld hereda de Activity y anula el método onCreate.

Las siguientes instrucciones son para personas que no han aprendido Java o tienen una base débil de Java

@Override

Al reescribir onCreate de la clase principal, agregue delante del método El sistema @Override puede ayudarle a comprobar la exactitud de sus métodos.

Por ejemplo, public void onCreate(Bundle saveInstanceState){…….} es correcto

Si escribe public void oncreate(Bundle saveInstanceState){…….} de esta manera. , el compilador informa el siguiente error:—

El método oncreate(Bundle) de tipo HelloWorld debe anular o implementar un método de supertipo,

para garantizar que se reescribe el método onCreate correctamente. (Porque oncreate debería ser onCreate)

Si no agrega @Override, el compilador no detectará un error, pero pensará que acaba de definir un método oncreate.

Clase android.app.Activity: debido a que casi todas las actividades son interactivas con los usuarios, la clase Actividad se enfoca en crear ventanas. Puede usar el método setContentView(View) para colocar su interfaz de usuario. Sin embargo, las actividades generalmente se presentan al usuario en pantalla completa, pero también pueden mostrarse como una ventana flotante o incrustarse en otra actividad. Hay dos métodos implementados por casi todas las subclases de Actividad:

onCreate(Bundle): inicializa tu actividad (Actividad), como completar el dibujo de algunos gráficos. Lo más importante es que en este método normalmente definirá su interfaz de usuario utilizando un recurso de diseño llamando al método setContentView(int) y usará findViewById(int) para recuperar los widgets en su interfaz de usuario con los que necesita interactuar mediante programación (widgets). setContentView especifica qué archivo especifica el diseño (main.xml). Esta interfaz se puede mostrar, y luego realizamos operaciones relacionadas. Nuestras operaciones se empaquetarán en una intención, y luego esta intención será procesada por la actividad relevante.

onPause(): Maneja qué hacer al salir de tu actividad. Lo más importante es que todos los cambios realizados por el usuario deben confirmarse aquí (normalmente ContentProvider guarda los datos).

En futuros artículos de esta serie se presentará información más detallada sobre la clase Actividad. Si desea obtener más información, consulte la documentación pertinente.

La clase android.os.Bundle: asigna varios tipos empaquetables (Parcelable) a partir de valores de cadena (la palabra Bundle significa paquete, por lo que esta clase es fácil de entender y recordar). Por ejemplo, esta clase proporciona un método público: contenido booleano público (clave de cadena), que devuelve verdadero si la clave dada está incluida en la asignación del paquete; de ​​lo contrario, devuelve falso. Esta clase implementa las interfaces Parceable y Cloneable, por lo que tiene las características de ambas.

1.2.carpeta gen

Hay un archivo R.java en esta carpeta que se genera automáticamente al crear el proyecto. Este archivo está en modo de solo lectura. ser cambiado. Una clase: R se define en el archivo R.java. La clase R contiene muchas clases estáticas y los nombres de las clases estáticas corresponden a un nombre en res. Es decir, la clase R define el índice de todos los recursos del proyecto. . Vea si este es el caso de nuestro proyecto HelloWorld, como se muestra a continuación:

Figura 2. R.java corresponde a res

A través de R.java podemos encontrar rápidamente los recursos que necesitamos. Además, el compilador también comprobará si se utilizan los recursos de la lista R.java. Los recursos no utilizados no se compilarán en el software, lo que puede reducir el espacio ocupado por la aplicación en el teléfono móvil.

Carpeta 1.3, Android 2.1

Esta carpeta contiene el archivo android.jar, que es un archivo Java que contiene todas las bibliotecas SDK de Android necesarias para crear la aplicación (como Vistas , Controles) y API. Vincular su aplicación al SDK de Android y al emulador de Android a través de android.jar le permite utilizar todas las bibliotecas y paquetes de Android y permitir que su aplicación se depure en el entorno adecuado.

Por ejemplo, en el archivo fuente HelloWorld.java anterior:

import android.app.Activity; import android.os.Bundle

Las dos líneas de código aquí importan el paquete; android.jar.

1.4.activos

Contiene archivos como mp3 y vídeo que el sistema de la aplicación necesita utilizar.

1.5.carpeta res

El directorio de recursos contiene los archivos de recursos de su proyecto y se compilará en la aplicación. Al agregar recursos a este directorio, R.java los registrará automáticamente. Cree un nuevo proyecto. Habrá tres subdirectorios en el directorio res: drawabel, diseño y valores.

drawabel-?dpi: contiene algunos archivos de íconos (*.png, *.jpg) que su aplicación puede usar

diseño: archivo de diseño de interfaz (main.xml) y HTML en aplicaciones WEB es similar. El archivo main.xml sin modificar es el siguiente (el de HelloWorld no ha sido modificado):

lt;?xml version="1.0" encoding="utf-8"? ; LinearLayout xmlns: android="/apk/res/android" android: orientación="vertical" android: diseño_width="fill_parent" android: diseño_height="fill_parent" lt; ="wrap_content" android: text="@string/hello" /gt; lt; /LinearLayoutgt;

valores: varios textos que deben mostrarse en el software. Se pueden almacenar varios archivos *.xml y también se pueden almacenar diferentes tipos de datos. Por ejemplo, arrays.xml, colores.xml, dimens.xml, estilos.xml

1.6, AndroidManifest.xml

El archivo de configuración general del proyecto registra los diversos componentes utilizados en la aplicación. Este archivo enumera las funciones proporcionadas por la aplicación. En este archivo, puede especificar los servicios utilizados por la aplicación (como servicio telefónico, servicio de Internet, servicio de SMS, servicio de GPS, etc.). Además, cuando agrega una nueva Actividad, también debe configurarla en consecuencia en este archivo. Solo después de completar la configuración, se puede llamar a esta Actividad. AndroidManifest.xml contendrá las siguientes configuraciones: permisos de aplicaciones, actividades, filtros de intención, etc.

El AndroidManifest.xml del proyecto HelloWorld es el siguiente:

lt;?xml version="1.0" encoding="utf-8"?gt;lt;manifest xmlns: android= "/apk/res/android" paquete="helloworld.test" android: versionCode="1" android: versionName="1.0"gt; aplicación android: icon="@drawable/icon" android: label= "@ string/app_name"gt; actividad android: nombre=".HelloWorld" android: label="@string/app_name"gt; intención-filtergt; .MAIN " /gt; lt; categoría android: nombre="android.intent.category.LAUNCHER" /gt; lt; /intent-filtergt; lt; /actividadgt; lt; /applicationgt; lt; /manifestgt;

Esto es todo por ahora sobre AndroidManifest.xml. Los artículos posteriores de esta serie lo presentarán en detalle por separado.

1.7, default.properties

Registre la información del entorno requerida en el proyecto, como la versión de Android, etc.

El código del archivo default.properties de HelloWorld es el siguiente. Los comentarios en el código explican claramente default.properties:

# Este archivo es generado automáticamente por las herramientas de Android

.

# No modifique este archivo: ¡SUS CAMBIOS SE BORRARÁN!

#

# Este archivo debe verificarse en Sistemas de control de versiones.

#

# Para personalizar las propiedades utilizadas por el sistema de compilación Ant, utiliza

# "build.properties" y anula los valores para adaptar el script a tu

# estructura del proyecto.

# Indica si se debe generar una apk para cada densidad.

split.density=false

# Objetivo del proyecto

destino=android-7