Autore Topic: Effettuare login su un sito e ricavarne informazioni  (Letto 898 volte)

Offline Armando292

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy s2
  • Sistema operativo:
    Windows 7
Effettuare login su un sito e ricavarne informazioni
« il: 18 Marzo 2012, 01:35:52 CET »
0
Salve a tutti. Sono uno sviluppatore android alle prime armi. Sto sviluppando un progetto per l'università. Dovrei fare in modo che l'utente possa, tramite l'applicazione, effettuare il login a un sito, e ricavare poi alcune informazioni. Tali informazioni sono visibili da utente a utente, ma sono diverse per ciascuno. Per intenderci, immaginate che sul sito, fra le varie pagine a cui l'utente può accedere, ce ne sia una contentente la sua carriera universitaria. Ecco, io devo fare in modo che l'utente possa accedere e vedere gli esami che ha in carriera. Come devo fare? Grazie anticipatamente per le risposte.

Offline Armando292

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy s2
  • Sistema operativo:
    Windows 7
Re:Effettuare login su un sito e ricavarne informazioni
« Risposta #1 il: 18 Marzo 2012, 11:46:44 CET »
0
Codice (Java): [Seleziona]
public void postData() {
            // Create a new HttpClient and Post Header
            HttpClient httpclient = new DefaultHttpClient();
           
            HttpPost httppost = new HttpPost(my_url);
            AlertDialog.Builder builder=new AlertDialog.Builder(this);
            String responseBody=null;
            builder.setTitle("Info");
                builder.setCancelable(false);
                builder.setPositiveButton("Ok",new android.content.DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog, int id){
                                dialog.dismiss();
                                }
                        });
                String username="my_username";
                String password="my_password";


            try {
                // Add your data
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                nameValuePairs.add(new BasicNameValuePair("username", username));
                nameValuePairs.add(new BasicNameValuePair("password", password));
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs,HTTP.UTF_8));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity=response.getEntity();
                builder.setMessage(EntityUtils.toString(entity));
                entity.consumeContent();
                builder.show();
               
               
            } catch (ClientProtocolException e) {
                builder.setMessage(e.toString());
                builder.show();
            } catch (IOException e) {
                builder.setMessage(e.toString());
                builder.show();
            }
        }

Con questo codice, alla fine nell'alertdialog ottendo il testo della stessa pagina di login nel quale inserisco i dati. Cioè la httpresponse che ottengo è la stessa pagina di login, come se non mi fossi mosso.

Offline gio88

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
Re:Effettuare login su un sito e ricavarne informazioni
« Risposta #2 il: 02 Aprile 2012, 15:08:36 CEST »
0
Ciao Armando, senti ma poi sei riuscito a risolvere il problema perchè la stessa cosa succede a me e non so proprio come procedere!!!

Offline Ansem

  • Utente junior
  • **
  • Post: 107
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2
  • Sistema operativo:
    4.0.4
Re:Effettuare login su un sito e ricavarne informazioni
« Risposta #3 il: 02 Aprile 2012, 17:15:08 CEST »
0
anche io sono bloccato sulla stessa cosa, ovvero l'invio di un post e la ricezione :( il codice del mio programma è questo:
Codice: [Seleziona]
//oggetto per eseguire il login
                public void accesso (View v){
               
                        //stringa s dove mettere la risposta
                        String s = new String();
               
               
                        //assegnazione a delle variabili delle textview del main
                        TextView txtEmail= (TextView) findViewById(R.id.txtEmail);
                        TextView txtPassword= (TextView) findViewById(R.id.txtPassword);
                        //converto in una stringa per poterle utilizzare con il record
                        String sEmail = txtEmail.getText().toString();
                        String sPass = txtPassword.getText().toString();
           
                 
                        //oggetto per ricevere la risposta
                        public String risposta(InputStream is) throws IOException {
                                String s = "";
                                String line = "";
                       
                                // creo un buffer
                                BufferedReader rd = new BufferedReader(new InputStreamReader(is));
                       
                                // leggo la risposta fino alla fine
                                while ((line = rd.readLine()) != null) { s += line; }
                                // Return full string
                                return s;
                        }

                        //oggetto per l'invio di un post
                        public void postData() {
                                // creo un nuovo HttpClient e Post Header
                                HttpClient httpclient = new DefaultHttpClient();
                                HttpPost httppost = new HttpPost("http://www.agnese.homelinux.com/login");
                       
                                try {
                                        //creazione record da inviare
                                        List<NameValuePair> postDati = new ArrayList<NameValuePair>(3);
                                        postDati.add(new BasicNameValuePair("email",sEmail));
                                        postDati.add(new BasicNameValuePair("pass",sPass));
                                        postDati.add(new BasicNameValuePair("tipo","app"));
                                        httppost.setEntity(new UrlEncodedFormEntity(postDati));

                                        // Execute HTTP Post Request
                                        HttpResponse response = httpclient.execute(httppost);
                               
                                } catch (ClientProtocolException e) {
                               
                                } catch (IOException e) {
                           
                                }
                        }
                }

a me però da anche un problema con public String risposta, e mi da questo errore:

Description   Resource   Path   Location   Type
Illegal modifier for parameter risposta; only final is permitted   EasyParkingActivity.java


qualcuno mi sa aiutare? :(