Quantcast
Channel: DELETE y PUT en AndroidStudio con HttpUrlConnection - Stack Overflow en español
Viewing all articles
Browse latest Browse all 2

DELETE y PUT en AndroidStudio con HttpUrlConnection

0
0

Cuento con una API REST de una base de datos de usuarios hecha en NodeJS, la dirección para usar el método GET es http://localhost:3000/users/ el método DELETE y PUT reciben un parámetro que va concatenado en la misma dirección, http://localhost:3000/users/2 donde lo último es el id del usuario que deseo eliminar o editar.

Estoy desarrollando la aplicación en Android usando HttpUrlConnection y Asynctask, pero se me dificulta en esa parte, no logro enviar el parámetro en la url.

UsuarioModel.java

package muse.pe.com.s13s01pedroso.model;public class UsuarioModel {private int id;private String username;private String email;private String password;private String create;private String updated;public UsuarioModel() {}public UsuarioModel(int id) {    this.id = id;}public UsuarioModel(int id, String username, String email, String password, String create, String updated) {    this.id = id;    this.username = username;    this.email = email;    this.password = password;    this.create = create;    this.updated = updated;}public int getId() {    return id;}public void setId(int id) {    this.id = id;}public String getUsername() {    return username;}public void setUsername(String username) {    this.username = username;}public String getEmail() {    return email;}public void setEmail(String email) {    this.email = email;}public String getPassword() {    return password;}public void setPassword(String password) {    this.password = password;}public String getCreate() {    return create;}public void setCreate(String create) {    this.create = create;}public String getUpdated() {    return updated;}public void setUpdated(String updated) {    this.updated = updated;}}

UsuarioController.java

package muse.pe.com.s13s01pedroso.controler;import org.json.JSONObject;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import muse.pe.com.s13s01pedroso.model.UsuarioModel;public class UsuarioController {static final String urlWS = "http://192.168.1.34:3000/users/";//POSTpublic JSONObject post(UsuarioModel nuevo){    JSONObject jsonResult= new JSONObject();    try {        URL obj = new URL(urlWS);        HttpURLConnection conn = (HttpURLConnection) obj.openConnection();        conn.setRequestMethod("POST"); //type: POST, PUT, DELETE        conn.setDoOutput(true);        conn.setRequestProperty("Accept", "application/json");        conn.setUseCaches(false);        conn.setRequestProperty("Accept-Encoding", "gzip");        conn.setRequestProperty("Content-Type", "application/json");        OutputStreamWriter osw =                new OutputStreamWriter(conn.getOutputStream(),"UTF-8");        JSONObject uu = new JSONObject();        uu.put("username", nuevo.getUsername());        uu.put("password", nuevo.getPassword());        uu.put("email", nuevo.getEmail());        osw.write(uu.toString()); // CONVERT CLASS A JSONOBJECT        osw.flush();        osw.close();        //TODO - RESULTADO        BufferedReader in =                new BufferedReader(                        new InputStreamReader(conn.getInputStream(), "UTF-8"));        String inputLine;        StringBuffer html = new StringBuffer();        while ((inputLine = in.readLine()) != null) {            html.append(inputLine);        }        in.close();        System.out.println("URL Content... \n"+ html.toString());    }catch (Exception e){        e.printStackTrace();    }    return jsonResult;}//DELETEpublic JSONObject detete(UsuarioModel id){    JSONObject jsonResult= new JSONObject();    try {        URL obj = new URL(urlWS + id);        HttpURLConnection conn = (HttpURLConnection) obj.openConnection();        conn.setRequestMethod("DELETE"); //type: POST, PUT, DELETE        conn.setDoOutput(true);        conn.setRequestProperty("Accept", "application/json");        conn.setUseCaches(false);        conn.setRequestProperty("Accept-Encoding", "gzip");        conn.setRequestProperty("Content-Type", "application/json");        System.out.println("Response code: "+ conn.getResponseCode());        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));        String line, responseText = "";        while ((line = br.readLine()) != null) {            System.out.println("LINE: "+line);            responseText += line;        }        br.close();        conn.disconnect();        }catch (Exception e){            e.printStackTrace();    }    return jsonResult;}}

EliminarActivity.java

package muse.pe.com.s13s01pedroso.view;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import org.json.JSONObject;import muse.pe.com.s13s01pedroso.R;import muse.pe.com.s13s01pedroso.controler.UsuarioController;import muse.pe.com.s13s01pedroso.model.UsuarioModel;public class EliminarActivity extends AppCompatActivity {EditText objEliminar;Button objBtnEliminar;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_eliminar);    objEliminar = findViewById(R.id.tvEliminar);    objBtnEliminar = findViewById(R.id.btnEliminar);    objBtnEliminar.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View view) {        }    });}public class myAsync extends AsyncTask<String,String,JSONObject> {    @Override    protected JSONObject doInBackground(String... strings) {        UsuarioController ctl = new UsuarioController();        UsuarioModel item = new UsuarioModel();        return ctl.detete(item);    }    @Override    protected void onPreExecute() {    }    @Override    protected void onPostExecute(JSONObject s) {        Toast.makeText(EliminarActivity.this,s.toString(),Toast.LENGTH_LONG).show();    }}}

Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles



Latest Images