Sending data to MYSQL database with PHP

Asked

Viewed 90 times

0

In my code below I send the data I need to PHP and it makes the insertion of the data in the Mysql Database. By clicking the register button, I send the data through a Hashmap, as I would send the idcliente also, which in the case is "int"... Is there any way you can help me with this? Below is the code.

public class RegistrarActivity extends AppCompatActivity {

private ImageView botaoVoltar;
private Button botaoRegistrar;
private EditText textoCPF, textoEmail;
private Spinner spinnerCliente;
private Cliente cliente;
private int idcliente;
private ArrayList<Cliente> clientes = new ArrayList<>();
private RequestQueue requestQueue, requestQueue2;
private static final String URL = "http://www.caixinhadosmotoristas.com.br/spinner-cliente.php";
private static final String URLReg = "http://www.caixinhadosmotoristas.com.br/validacao.php?acao=register";
private StringRequest request, request2;
private ArrayAdapter arrayAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_registrar);

    botaoVoltar = (ImageView) findViewById(R.id.botaoVoltarId);
    botaoRegistrar = (Button) findViewById(R.id.botaoRegistrarId);
    textoCPF = (EditText) findViewById(R.id.textoCpfId);
    textoEmail = (EditText) findViewById(R.id.textoEmailId);
    spinnerCliente = (Spinner) findViewById(R.id.spinnerClienteId);

    requestQueue = Volley.newRequestQueue(this);
    requestQueue2 = Volley.newRequestQueue(this);

    RetornaJSONClientes();

    ArrayAdapter arrayAdapter = new ArrayAdapter (this, android.R.layout.simple_spinner_dropdown_item, clientes);
    arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerCliente.setAdapter(arrayAdapter);

    spinnerCliente.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            cliente = (Cliente) parent.getItemAtPosition(position);
            idcliente = cliente.getId();
            Toast.makeText(RegistrarActivity.this, "" + idcliente, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
            cliente = null;
        }
    });

    SimpleMaskFormatter mascaraCPF = new SimpleMaskFormatter("NNN.NNN.NNN-NN");
    MaskTextWatcher maskCPF = new MaskTextWatcher(textoCPF, mascaraCPF);
    textoCPF.addTextChangedListener(maskCPF);

    botaoRegistrar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            request2 = new StringRequest(Request.Method.POST, URLReg, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    try {
                        JSONObject jsonObject = new JSONObject(response);
                        if (jsonObject.names().get(0).equals("200")){
                            Toast.makeText(getApplicationContext(), jsonObject.getString("mensagem"), Toast.LENGTH_LONG).show();
                        } else {
                            Toast.makeText(getApplicationContext(), jsonObject.getString("mensagem"), Toast.LENGTH_LONG).show();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

                }
            }){
                @Override
                protected Map<String, String> getParams() throws AuthFailureError {
                    HashMap<String, String> hashMap = new HashMap<String, String>();
                    hashMap.put("nome", cliente.getNome());
                    hashMap.put("cpf2", textoCPF.getText().toString());
                    hashMap.put("email", textoEmail.getText().toString());
                    return hashMap;
                }
            };

            requestQueue2.add(request2);
        }
    });

    botaoVoltar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent voltaLogin = new Intent(RegistrarActivity.this, LoginActivity.class);
            startActivity(voltaLogin);
        }
    });
}

private void RetornaJSONClientes(){
    request = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            String jsonString;
            int jsonInt;

            try {
                JSONArray jsonArray = new JSONArray(response);

                ArrayAdapter arrayAdapter = (ArrayAdapter) spinnerCliente.getAdapter();
                arrayAdapter.setNotifyOnChange(false);

                for(int i = 0; i < jsonArray.length(); i++){
                    jsonString = jsonArray.getJSONObject(i).getString("nome");
                    jsonInt = jsonArray.getJSONObject(i).getInt("idcliente");

                    clientes.add(new Cliente(jsonInt, jsonString));
                }

                arrayAdapter.setNotifyOnChange(true);
                arrayAdapter.notifyDataSetChanged();
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });

    requestQueue.add(request);
}

}

1 answer

0


Just pass the id as a string.

hashMap.put("id", "" + cliente.getId());

Browser other questions tagged

You are not signed in. Login or sign up in order to post.