En aquest tema, explorarem l'estructura d'un projecte Android a Android Studio. Entendre com està organitzat un projecte és fonamental per treballar de manera eficient i efectiva. A continuació, desglossarem les carpetes i fitxers clau que trobaràs en un projecte Android.
- Estructura Bàsica del Projecte
Quan crees un nou projecte Android, Android Studio genera una sèrie de carpetes i fitxers per defecte. Aquests es poden veure a la vista "Project" a Android Studio. La següent és una descripció de les carpetes i fitxers més importants:
1.1. Carpeta app
La carpeta app
és on es troba la major part del codi de la teva aplicació. Conté les següents subcarpetes i fitxers:
manifests/
: Conté el fitxerAndroidManifest.xml
, que defineix la configuració bàsica de l'aplicació, com ara les activitats, els permisos i els serveis.java/
: Conté el codi font Java o Kotlin de l'aplicació. Aquesta carpeta es divideix en subcarpetes segons el paquet del projecte.res/
: Conté els recursos de l'aplicació, com ara dissenys XML, imatges, cadenes de text, estils, etc.
1.2. Carpeta build
Aquesta carpeta conté els fitxers generats durant el procés de construcció de l'aplicació. No és necessari modificar res aquí manualment.
1.3. Fitxers de configuració
build.gradle
(Project Level): Aquest fitxer defineix la configuració de construcció a nivell de projecte, incloent-hi els repositoris i les dependències comunes.build.gradle
(Module Level): Aquest fitxer defineix la configuració de construcció específica per al mòdulapp
, incloent-hi les dependències, les versions del SDK, etc.settings.gradle
: Defineix els mòduls que formen part del projecte.
- Descripció Detallada de les Carpetes i Fitxers
2.1. manifests/AndroidManifest.xml
Aquest fitxer és essencial per a qualsevol aplicació Android. Defineix els components de l'aplicació i les seves configuracions. Un exemple bàsic podria ser:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myfirstapp"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
2.2. java/
Aquesta carpeta conté el codi font de l'aplicació. Per exemple, si el paquet de l'aplicació és com.example.myfirstapp
, la jerarquia de carpetes seria:
2.3. res/
La carpeta res
conté els recursos de l'aplicació. Les subcarpetes més comunes són:
layout/
: Conté els fitxers de disseny XML per a les activitats i fragments.drawable/
: Conté els recursos gràfics, com ara imatges i formes.values/
: Conté fitxers XML per a cadenes de text (strings.xml
), colors (colors.xml
), estils (styles.xml
), etc.
- Exemple Pràctic
3.1. Creació d'un Fitxer de Disseny XML
Suposem que volem crear un disseny senzill per a la nostra activitat principal. Crearem un fitxer activity_main.xml
a la carpeta res/layout/
:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, World!" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click Me" /> </LinearLayout>
3.2. Modificació del MainActivity.java
Ara, actualitzarem el fitxer MainActivity.java
per utilitzar aquest disseny:
package com.example.myfirstapp; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
- Exercici Pràctic
Exercici
- Crea un nou projecte Android a Android Studio.
- Explora l'estructura del projecte i identifica les carpetes i fitxers descrits anteriorment.
- Crea un nou disseny XML a la carpeta
res/layout/
amb unTextView
i unButton
. - Modifica l'activitat principal per utilitzar aquest disseny.
Solució
- Crea un nou projecte seguint les instruccions d'Android Studio.
- Explora les carpetes
app
,manifests
,java
ires
. - Crea un fitxer
activity_main.xml
ares/layout/
amb el següent contingut:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, World!" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click Me" /> </LinearLayout>
- Modifica el fitxer
MainActivity.java
per utilitzar aquest disseny:
package com.example.myfirstapp; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
Conclusió
En aquesta secció, hem après sobre l'estructura bàsica d'un projecte Android a Android Studio. Hem explorat les carpetes i fitxers clau i hem creat un exemple pràctic per reforçar els conceptes apresos. Amb aquesta base, estàs preparat per aprofundir en el desenvolupament d'aplicacions Android.
Curs d'Android Studio
Mòdul 1: Introducció a Android Studio
- Introducció a Android Studio
- Configuració d'Android Studio
- Comprensió de la Interfície d'Android Studio
- Creació del teu Primer Projecte Android
Mòdul 2: Desenvolupament Bàsic d'Android
- Comprensió de l'Estructura del Projecte Android
- Introducció als Dissenys XML
- Components Bàsics de la Interfície d'Usuari
- Introducció a les Activitats
- Executar la teva Aplicació en un Emulador
Mòdul 3: Desenvolupament Intermedi d'Android
- Introducció als Intents
- Treballar amb Fragments
- Gestió de l'Entrada de l'Usuari
- Ús de RecyclerView
- Xarxes en Android
Mòdul 4: Desenvolupament Avançat d'Android
- Persistència de Dades amb SQLite
- Ús de Room per a la Gestió de Bases de Dades
- Components Avançats de la Interfície d'Usuari
- Vistes Personalitzades i Canvas
- Treballar amb Tasques en Segon Pla
Mòdul 5: Desenvolupament Professional d'Android
- Implementació de l'Arquitectura MVVM
- Injecció de Dependències amb Dagger
- Proves Unitàries i Proves de la Interfície d'Usuari
- Publicació de la teva Aplicació a Google Play
- Optimització del Rendiment