Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Problemi con invio form con unico dato

    Ciao.

    Sono alle prese con un semplice form il cui unico dato (matricola) dovrei inviare ad un webservice per la successiva elaborazione.

    Questo codice non segnala errori, ma il form non parte ... dove sbaglio?
    Grazie
    codice:
    public class MainActivity extends Activity {
    
        private static final String SOAP_ACTION = "...";
        private static final String OPERATION_NAME = "...";
        private static final String WSDL_TARGET_NAMESPACE = "...";
        private static final String SOAP_ADDRESS = "...";
    
    
        Button btnSend;
        EditText rt2;
    
    
        @SuppressLint("NewApi")
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    
            rt2 = (EditText) findViewById(R.id.rt2);
            Button saveme = (Button) findViewById(R.id.btnSend);
    
    
            saveme.setOnClickListener(new Button.OnClickListener() {
    
    
                public void onClick(View v) {
    
    
                    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                            .permitAll().build();
                    StrictMode.setThreadPolicy(policy);
    
    
                    try {
    
    
                        SoapObject Request = new SoapObject(WSDL_TARGET_NAMESPACE,
                                OPERATION_NAME);
    
    
                        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                                SoapEnvelope.VER11);
    
    
                        envelope.dotNet = true;
                        envelope.setOutputSoapObject(Request);
    
    
                        Request.addProperty("Username", rt2);
    
    
                        HttpTransportSE androidHttpTransport = new HttpTransportSE(
                                SOAP_ADDRESS);
                        androidHttpTransport.debug = true;
                        androidHttpTransport.call(SOAP_ACTION, envelope);
    
    
                        SoapPrimitive resultString = (SoapPrimitive) envelope
                                .getResponse();
                        Log.d("MainActivity.class", "Valore restituito: "
                                + resultString);
    
    
                    } catch (Exception e) {
                        e.printStackTrace();
                        Log.e("MainActivity.class", "Errore ...", e);
                    }
                }
            });
        }
    
    
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    }
    
    
    
    
    
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
    
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="70dp"
            android:textSize="20sp"
            android:text="@string/matricola" />
        
            <EditText
                android:id="@+id/rt2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/btnSend"
                android:layout_alignRight="@+id/btnSend"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="140dp"
                android:inputType=""
                android:textColor="#000"
                android:textSize="20sp" >
    
    
        </EditText>
    
    
        <Button
            android:id="@+id/btnSend"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="210dp"
            android:background="#EAEAAE"
            android:text="@string/Accedi"
            android:textColor="#5C3317"
            android:textSize="20sp"
            android:textStyle="bold"
            android:width="150sp" />
    
    
    </RelativeLayout>

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Se non parte, molto probabilmente vengono sollevate delle eccezioni.
    Controlla il LogCat e cerca di capire cosa succede di sbagliato.
    Eventualmente, postalo qui.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Se non parte, molto probabilmente vengono sollevate delle eccezioni.
    Controlla il LogCat e cerca di capire cosa succede di sbagliato.
    Eventualmente, postalo qui.


    Ciao.
    Grazie per aver risposto, in effetti nel LogCat rilanciando il debug appare questo messaggio:
    codice:
    03-06 13:42:42.922: E/SensorManager(15652): thread start
    Cosa vorrà dire?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Quella è solo la prima riga del LogCat... e non è un errore. Significa solo che il thread è stato avviato (e mi pare doveroso).
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Quella è solo la prima riga del LogCat... e non è un errore. Significa solo che il thread è stato avviato (e mi pare doveroso).
    Scusa non lo sapevo ... allora non c'è altro nel LogCat ...

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Una cosa che sicuramente non va bene in quel codice è sta riga qua:


    codice:
    Request.addProperty("Username", rt2)

    rt2 è un oggetto di tipo EditText... forse volevi inviare il testo contenuto nell'EditText, non l'intera EditText (mi auguro!)
    Da modificare così:


    codice:
    Request.addProperty("Username", rt2.getText().toString());

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Grazie per avermi segnalato la svista, ho corretto... però non parte lo stesso ... clicco su btnSend del file xml ma niente da fare ...

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ma cosa vuol dire "niente da fare"?
    Come fai a sapere che non è andato a buon fine?
    Hai testato il WebService in altro modo? Può essere che sia il WebService a non funzionare correttamente?


    Senza i dettagli è impossibile darti una mano.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Ok.
    Nel webservice non faccio altro che processare il valore della stringa passata tramite l'oggetto EditText, cioè rt2.

    Se il valore processato con la query è presente nella tabella del database come return ho previsto "ok" altrimenti "ko" ... ma questo non avviene... mi sono perso qualcosa?

    Ho testato il webservice senza passare tramite il form, cioè così:
    codice:
    Request.addProperty("Username", "123456");
    E la classe mi restituisce correttamente "ok" ....

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non ho capito cosa hai provato, ma, come tentativo, proverei a invertire le righe di codice in cui imposti il valore per la Request e quella in cui imposti la Request nell'envelope. Inoltre aggiungerei una righetta di debug per vedere cosa viene effettivamente messo dentro la request:


    codice:
    String testo = rt2.getText().toString();
    Log.d("MainActivity.class", "Valore nella EditText: " + testo);
    
    Request.addProperty("Username", testo);
    
    envelope.dotNet = true;
    envelope.setOutputSoapObject(Request);

    Se tutto funziona bene dovresti vedere nel LogCat la scritta "Valore nella EditText: " e il valore che c'è nella EditText.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.