MinimalApp
WebView Android full-screen per example.com
CosβΓ¨ MinimalApp?
MinimalApp Γ¨ una semplice applicazione Android che integra una WebView full-screen per il sito example.com, con supporto per geolocalizzazione, selezione file e JavaScript.
Caratteristiche
- WebView full-screen con JavaScript e geolocalizzazione
- File chooser integrato per upload dal dispositivo
- Gestione runtime permessi (storage + posizione)
Diagrammi UML β Dettagli Implementativi
Questa sezione fornisce una visione approfondita dellβarchitettura Android e dei flussi di interazione attraverso diagrammi UML dettagliati.
π Class Diagram β Application Structure
Struttura dell'applicazione: MainActivity estende AppCompatActivity, configura WebView con CustomWebChromeClient per gestire eventi UI (file chooser, geolocation). CompanionObject contiene costanti per request codes.
π Sequence Diagram β File Upload Flow
Flusso completo upload file: utente clicca input β WebChromeClient intercetta β crea Intent ACTION_GET_CONTENT β OS mostra file picker β utente seleziona β onActivityResult β callback alla WebView con Uri del file.
Supporta: input type="file", camera capture, gallery selection
per upload else Annullato / Errore Main->>WV: filePathCallback.onReceiveValue(null) Note right of WV: Upload cancellato end Main->>Main: filePathCallback = null deactivate Main
π€ Use Case Diagram β Functional Overview
Panoramica funzionale dal punto di vista utente: navigazione web full-screen, upload file/foto, geolocalizzazione (richiesta dal sito), gestione permessi runtime Android 6.0+.
Full-Screen] UC2[π Geolocalizzazione] UC3[π Upload File/Foto] UC4[π Gestione Permessi
Runtime] end subgraph Notes["π Note Implementative"] N1[onGeolocationPermissionsShowPrompt
in WebChromeClient] N2[onShowFileChooser
in WebChromeClient] end U --> UC1 U --> UC3 UC1 -.->|include| UC2 UC1 -.->|include| UC4 UC3 -.->|include| UC4 UC2 -.- N1 UC3 -.- N2 style UC1 fill:#3ddc84,color:#000 style UC2 fill:#4285f4,color:#fff style UC3 fill:#fbbc04,color:#000 style UC4 fill:#ea4335,color:#fff
Requisiti
- Android Studio Arctic Fox o superiore
- SDK Android 5.0 (API 21)+
- AndroidX abilitato
Permessi
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Installazione
git clone https://github.com/tuo-username/minimal-app.git
cd minimal-app
- Configura percorso SDK in
local.properties:sdk.dir=/percorso/alla/tuo/Android/Sdk - Apri il progetto in Android Studio e Build.
Struttura progetto
.
βββ app
β βββ src
β βββ main
β βββ AndroidManifest.xml
β βββ java/com/example/minimalapp/MainActivity.kt
βββ ...
Come contribuire
- Fork del repository
git checkout -b feature/nome-featuregit commit -m "Aggiunta nuova feature"git push origin feature/nome-feature- Apri una Pull Request
Distribuito sotto licenza MIT