Oppure

Loading
05/05 14:45
Thejuster
Salve ragazzi.
Ho un problema durante lo sviluppo di un'applicazione su android.

Al click di un pulsante, dove recuperare il contenuto di una pagina web.
nel mio caso, mi serve per sapere se è andata a buon fine un'operazione

al click del pulsante


Button bt = findViewById(R.id.button);

        bt.setOnClickListener(v ->
        {
            String webContent = null;
            try {
                URL url = new URL("http://*************/complete.php?ord=" + ordine);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestMethod("GET");
                BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                StringBuilder sb = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    sb.append(line).append("\n");
                }
                reader.close();
                webContent = sb.toString();
            } catch (Exception e) {
                e.printStackTrace();
            }



            //----
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("Risultato");
            builder.setMessage("Ordine segnato come completo. Puoi chiudere L'applicazione ( " + webContent + ")");
            builder.show();



il risultato è "null"
come se l'oggetto non è stato creato o non saprei cosa...
Avete qualche idea?

Più che altro penso che il problema magari sia l'url non saprei

URL url = new URL("*************/…; + ordine);

c'è semplicemente l'ip del server e la pagina web.
la variabile ordine, la passo come extra dall'activity precedente



Intent classe = new Intent(this,Conferma.class);
classe.putExtra("ordine",result.getContents());


Il contenuto lo legge perché all'override del void Create posiziono il contenuto su una TextView
Ultima modifica effettuata da Thejuster 05/05 14:52
mire.forumfree.it/ - Mire Engine
C# UI Designer
05/05 17:12
Thejuster
Piccolo aggiornamento.

Per cercare di scoprire cosa cavolo succede dietro le quinte,
Ho creato una nuova activity e aggiunto un WebView per vedere un output.

ecco cosa accade

mire.forumfree.it/ - Mire Engine
C# UI Designer
06/05 6:53
Thejuster
Risolto.

Come sempre dimentico che android diversamente dal C# o qualsiasi altro linguaggio
necessita di un permesso anche solo per aprirsi.
Questa cosa è una gran rottura.

Per chi in futuro riscontra lo stello problema:

Bisogna andare nel file AndroidManifest

sotto le prime dichiarazioni xml

esempio

<application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"



aggiungere sotto


android:usesCleartextTraffic="true"



Questo penso, perché non è consentito di default alle app di android di navigare su indirizzi IP non mascherati.

tipo se si va su google.it non ci sarebbero problemi, nel mio caso che vado su un indirizzo chiaramente in IP
può esserci qualche problema di sicurezza.
In pratica la mia app scannerizza un codice a barre, ne ricava il codice dell'ordine e lo va ad inserire in un database
in modo che i clienti possono visualizzare lo stato delle consegne o se è in fase di lavorazione.
Mistero risolto.
Ultima modifica effettuata da Thejuster 06/05 7:46
mire.forumfree.it/ - Mire Engine
C# UI Designer