Junior
Cos'è un'attività in un'applicazione mobile?
sobes.tech AI
Risposta dell'AI
L'attività (Activity) in Android è uno schermo separato dell'applicazione che interagisce con l'utente. Ogni attività rappresenta un componente UI separato e ha il proprio ciclo di vita. L'app può contenere più attività che possono essere collegate tra loro.
Ogni attività ha un ciclo di vita gestito dal sistema Android:
| Stato | Descrizione |
|---|---|
onCreate() |
L'attività viene creata. Viene eseguita l'inizializzazione. |
onStart() |
L'attività diventa visibile all'utente. |
onResume() |
L'attività riceve il focus ed è pronta per l'interazione. |
onPause() |
L'attività perde il focus, ma è ancora visibile. Può essere parzialmente coperta. |
onStop() |
L'attività non è più visibile all'utente. |
onDestroy() |
L'attività viene distrutta. |
onRestart() |
L'attività in stato onStop(), diventa di nuovo visibile. |
Esempio di struttura di un progetto Android con attività:
// MainActivity.java
package com.example.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // Collegamento al file layout
Button nextButton = findViewById(R.id.next_button);
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Transizione ad un'altra attività
Intent intent = new Intent(MainActivity.this, SecondaryActivity.class);
startActivity(intent);
}
});
}
}
// SecondaryActivity.java
package com.example.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class SecondaryActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_secondary); // Collegamento al file layout
}
}
Il manifesto dell'app (AndroidManifest.xml) definisce tutte le attività e i punti di ingresso:
<!-- AndroidManifest.xml -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<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/Theme.MyApp">
<!-- Dichiarazione dell'attività principale -->
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Dichiarazione della seconda attività -->
<activity android:name=".SecondaryActivity"/>
</application>
</manifest>
Pertanto, le attività sono i blocchi costruttivi dell'interfaccia utente nelle applicazioni Android.