Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.45 KB | None | 0 0
  1. public class MainActivity extends AppCompatActivity implements MainActivityView{
  2.  
  3. EditText nombre;
  4. Button agregar;
  5. Context c;
  6. Controlador controlador = new Controlador(this);
  7. Especialidad e;
  8.  
  9. @Override
  10. public void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. c = MainActivity.this;
  14. nombre = (EditText) findViewById(R.id.edtNombre);
  15. agregar = (Button) findViewById(R.id.btnAgregar);
  16.  
  17.  
  18. agregar.setOnClickListener(new View.OnClickListener() {
  19. @Override
  20. public void onClick(View view) {
  21.  
  22. if (nombre.getText().toString().length() > 0) {
  23. String nom = nombre.getText().toString();
  24. e = new Especialidad();
  25. e.setNombre(nom);
  26. try {
  27. controlador.validarEspecialidad(e);
  28. } catch (IOException e1) {
  29. e1.printStackTrace();
  30. }
  31. } else {
  32. Toast.makeText(c, "Campo nombre vacio", Toast.LENGTH_LONG).show();
  33. }
  34. }
  35. });
  36.  
  37. }
  38.  
  39. @Override
  40. public void existeEspecialidad(Response<Especialidad> response) {
  41. if(response.body().toString().length() ==0){
  42. Controlador c = new Controlador(null);
  43. c.crearEspecialidad(e);
  44. }
  45. }
  46.  
  47. @Override
  48. public void errorCargarEspecialidades(String error) {
  49.  
  50. }
  51. }
  52.  
  53. public class Controlador extends AppCompatActivity {
  54.  
  55. private MainActivityView mView;
  56.  
  57.  
  58. public Controlador(MainActivityView mView) {
  59. this.mView = mView;
  60. }
  61.  
  62. public void validarEspecialidad(Especialidad especialidad) throws IOException {
  63. Api c = new Api(mView);
  64. String nombre = especialidad.getNombre();
  65. c.getEspecialidad(nombre);
  66. }
  67.  
  68. public void crearEspecialidad(Especialidad especialidad){
  69. Api c = new Api(mView);
  70. c.crearEspecialidad(especialidad);
  71. }
  72.  
  73. }
  74.  
  75. public class Api {
  76.  
  77. public static final String base_url = "http://192.168.1.55:8080/";
  78. public Retrofit retrofit;
  79.  
  80. private MainActivityView mView;
  81.  
  82.  
  83. public Api(MainActivityView view) {
  84. mView = view;
  85. }
  86.  
  87. public void conectar (){
  88. retrofit = new Retrofit.Builder()
  89. .baseUrl(base_url)
  90. .addConverterFactory(GsonConverterFactory.create(new GsonBuilder().create()))
  91. .build();
  92. }
  93.  
  94. public Especialidad getEspecialidad(String nombre) throws IOException {
  95. conectar();
  96. EspecialidadService service = retrofit.create(EspecialidadService.class);
  97. Call<Especialidad> call = service.validarEspecialidad(nombre);
  98. Especialidad response = call.execute().body();
  99. return response;
  100.  
  101. }
  102. public void crearEspecialidad(final Especialidad especialidad) {
  103. conectar();
  104. EspecialidadService service = retrofit.create(EspecialidadService.class);
  105. Call<Especialidad> call = service.agregarEspecialidad(especialidad);
  106. call.enqueue(new Callback<Especialidad>() {
  107. @Override
  108. public void onResponse(Call<Especialidad> call, Response<Especialidad> response) {
  109. if (response.isSuccessful()) {
  110. Log.i(TAG, "La especialidad ha sido agregada correctamente" + response.body().toString());
  111. }
  112. }
  113. @Override
  114. public void onFailure(Call<Especialidad> call, Throwable t) {
  115. }
  116. });
  117. }
  118.  
  119. }
  120.  
  121. public interface EspecialidadService {
  122.  
  123. @POST("especialidad/agregar")
  124. Call<Especialidad> agregarEspecialidad(@Body Especialidad especialidad);
  125.  
  126. @GET("especialidad/validar/{nombre}")
  127. Call<Especialidad> validarEspecialidad(@Path("nombre") String nombre);
  128.  
  129. }
  130.  
  131. public class Especialidad {
  132. @SerializedName("idEspecialidad")
  133. @Expose
  134. private String idEspecialidad;
  135. @SerializedName("nombre")
  136. @Expose
  137. private String nombre;
  138.  
  139. public String getIdEspecialidad() {
  140. return idEspecialidad;
  141. }
  142.  
  143. public void setIdEspecialidad(String idEspecialidad) {
  144. this.idEspecialidad = idEspecialidad;
  145. }
  146.  
  147. public String getNombre() {
  148. return nombre;
  149. }
  150.  
  151. public void setNombre(String nombre) {
  152. this.nombre = nombre;
  153. }
  154.  
  155. }
  156.  
  157. compile 'com.google.code.gson:gson:2.6.1'
  158. compile 'com.squareup.retrofit2:converter-gson:2.1.0'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement