Partage
  • Partager sur Facebook
  • Partager sur Twitter

Insertion données dans mysql depuis Android app

Besoin d'explication sur ce code d'insertion de données dans DBB.

    24 mars 2020 à 17:55:03

    Bonjour,

    Je suis apprenant en android studio; je suis parvenu à faire fonctionner ce code en bas mais je dois avouer que je comprends pas les differentes parties du  code.

    package com.testdemo;
    
    import android.annotation.SuppressLint;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    public class MainActivity extends AppCompatActivity {
    
        String ServerURL = "http://192.168.1.251/get_data.php";
        EditText name, email;
        Button button;
        String TempName, TempEmail;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            name = findViewById(R.id.editText2);
            email = findViewById(R.id.editText3);
            button = findViewById(R.id.button);
    
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                    GetData();
    
                    InsertData(TempName, TempEmail);
    
                }
            });
        }
    
        public void GetData(){
    
            TempName = name.getText().toString();
    
            TempEmail = email.getText().toString();
    
        }
    
        public void InsertData(final String name, final String email){
    
            @SuppressLint("StaticFieldLeak")
            class SendPostReqAsyncTask extends AsyncTask<String, Void, String> {
                @Override
                protected String doInBackground(String... params) {
    
                    List<NameValuePair> nameValuePairs = new ArrayList<>();
    
                    nameValuePairs.add(new BasicNameValuePair("name", name));
                    nameValuePairs.add(new BasicNameValuePair("email", email));
    
                    try {
                        HttpClient httpClient = new DefaultHttpClient();
    
                        HttpPost httpPost = new HttpPost(ServerURL);
    
                        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    
                        HttpResponse httpResponse = httpClient.execute(httpPost);
    
                        httpResponse.getEntity();
    
    
                    } catch (ClientProtocolException ignored) {
    
                    } catch (IOException ignored) {
    
                    }
                    return "Data Inserted Successfully";
                }
    
                @Override
                protected void onPostExecute(String result) {
    
                    super.onPostExecute(result);
    
                    Toast.makeText(MainActivity.this, "Data Submit Successfully", Toast.LENGTH_LONG).show();
    
                }
            }
    
            SendPostReqAsyncTask sendPostReqAsyncTask = new SendPostReqAsyncTask();
    
            sendPostReqAsyncTask.execute(name, email);
        }
    
    }

    Quelqu'un peut il m'expliquer en details ce que les differentes parties de ce code signifient ?

    Merci.

    -
    Edité par koulou koula 26 mars 2020 à 15:47:41

    • Partager sur Facebook
    • Partager sur Twitter
      25 mars 2020 à 9:47:02

      Tu passes probablement dans tes catch, mais le soucis c'est que tu ne logues rien donc tu masques les erreurs. Dans tes catchs, affiche la stackstrace pour avoir plus d'informations.
      • Partager sur Facebook
      • Partager sur Twitter

      Insertion données dans mysql depuis Android app

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown