Guest User

Untitled

a guest
Oct 23rd, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.22 KB | None | 0 0
  1. public class AgregarMultiplesImagenes extends AppCompatActivity implements
  2. View.OnClickListener {
  3.  
  4. private Button btnSelImagenes,btnSubirImagenes;
  5. private ArrayList<String> listaDeImagenes;
  6. private ArrayList<String> ListaDeNombres;
  7. private ArrayList<String> listaDeRutas;
  8. private ProgressDialog progressDialog;
  9.  
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_agregar_multiples_imagenes);
  14. InicializarObjetosForm();
  15. inicializarOtrosObjetos();
  16. }
  17.  
  18. private void inicializarOtrosObjetos() {
  19.  
  20. this.listaDeImagenes = new ArrayList<>();
  21. this.listaDeRutas = new ArrayList<>();
  22. this.ListaDeNombres = new ArrayList<>();
  23. this.progressDialog = new ProgressDialog(this);
  24. }
  25.  
  26. private void InicializarObjetosForm() {
  27.  
  28. //enlazando al layout
  29. this.btnSelImagenes = (Button) findViewById(R.id.btnSeleccionarImagenes);
  30. this.btnSubirImagenes = (Button) findViewById(R.id.btnSubirImagenes);
  31.  
  32. //Poniendo eventoss
  33.  
  34. this.btnSelImagenes.setOnClickListener(this);
  35. this.btnSubirImagenes.setOnClickListener(this);
  36. }
  37.  
  38. @Override
  39. public void onClick(View v) {
  40.  
  41. switch (v.getId()) {
  42. case R.id.btnSeleccionarImagenes:
  43.  
  44. //llamando con un intent al seleccionador de imagenes
  45. Intent abrirElChooserImagenes = new Intent(this, PickImageActivity.class);
  46. abrirElChooserImagenes.putExtra(PickImageActivity.KEY_LIMIT_MAX_IMAGE, 3);
  47. abrirElChooserImagenes.putExtra(PickImageActivity.KEY_LIMIT_MIN_IMAGE, 3);
  48. startActivityForResult(abrirElChooserImagenes, PickImageActivity.PICKER_REQUEST_CODE);
  49.  
  50. break;
  51. case R.id.btnSubirImagenes:
  52. this.progressDialog.setMessage("Subiendo imagenes....");
  53. this.progressDialog.show();
  54.  
  55. subirImagenes();
  56.  
  57.  
  58.  
  59. break;
  60. }
  61. }
  62.  
  63. private void subirImagenes(){
  64.  
  65. if(this.listaDeImagenes.isEmpty()){
  66. Toast.makeText(this,"Debe seleccionar 3 imagenes",Toast.LENGTH_LONG).show();
  67. return;
  68.  
  69. }
  70.  
  71. JsonArray jsonArray = new JsonArray();// el array donde iran todas las imagenes codificadas en Base64
  72. for(String imagenEncode: this.listaDeImagenes){
  73. jsonArray.add(imagenEncode);
  74. }
  75.  
  76. JSONObject jsonObject = new JSONObject();//Aqui van a ir los parametros que se le van a mandar como POST
  77.  
  78. try {
  79. jsonObject.put("listaImagen",jsonArray);
  80. } catch (JSONException e) {
  81. e.printStackTrace();
  82. }
  83. String url = "http://"+MainActivity.IP+"/Olx/WSProys1/SubirMuchasImagenes.php";
  84. JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(url, jsonObject, new Response.Listener<JSONObject>() {
  85. @Override
  86. public void onResponse(JSONObject response) {
  87. try {
  88. Toast.makeText(getApplicationContext(),response.get("ok").toString(),Toast.LENGTH_LONG).show();
  89. } catch (JSONException e) {
  90. e.printStackTrace();
  91.  
  92. }
  93. }
  94. }, new Response.ErrorListener() {
  95. @Override
  96. public void onErrorResponse(VolleyError error) {
  97. Toast.makeText(getApplicationContext(),error.getMessage(),Toast.LENGTH_LONG).show();
  98. }
  99. }) ;
  100.  
  101. Volley.newRequestQueue(this).add(jsonObjectRequest);
  102.  
  103. this.progressDialog.dismiss();
  104.  
  105. }
  106.  
  107. @Override
  108. protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
  109. super.onActivityResult(requestCode, resultCode, data);
  110.  
  111.  
  112.  
  113.  
  114.  
  115. if(requestCode == PickImageActivity.PICKER_REQUEST_CODE){
  116.  
  117. if(resultCode != PickImageActivity.RESULT_OK){
  118. return;
  119. } this.listaDeRutas = data.getStringArrayListExtra(PickImageActivity.KEY_DATA_RESULT);
  120. if(this.listaDeRutas != null && !this.listaDeRutas.isEmpty()){
  121. this.listaDeImagenes.clear();
  122. for(int i = 0; i<this.listaDeRutas.size(); i++){
  123. try {
  124. Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),Uri.fromFile(new File(this.listaDeRutas.get(i))));
  125. ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  126. bitmap.compress(Bitmap.CompressFormat.JPEG,100,byteArrayOutputStream);
  127. String bitMapCodificado = Base64.encodeToString(byteArrayOutputStream.toByteArray(),Base64.DEFAULT);
  128. this.listaDeImagenes.add(bitMapCodificado);
  129. File laImagen = new File(this.listaDeRutas.get(i));
  130. this.ListaDeNombres.add(laImagen.getName());
  131.  
  132.  
  133.  
  134. } catch (IOException e) {
  135. e.printStackTrace();
  136. }
  137. }
  138. }
  139.  
  140.  
  141.  
  142.  
  143.  
  144. }
  145.  
  146.  
  147.  
  148.  
  149. }
  150. }
  151.  
  152. <?php
  153.  
  154.  
  155. $host_name = "localhost";
  156. $database = "base_olx";
  157. $user = "root";
  158. $password = "";
  159.  
  160. $con = mysqli_connect($host_name,$user,$password,$database);
  161.  
  162. $json = json_decode(file_get_contents("php://input"),true);
  163.  
  164.  
  165. //$nombre = $json["nombre"];
  166. $nombre = "nombreestatico";
  167. $listaImagen = $json["listaImagen"];
  168.  
  169.  
  170.  
  171.  
  172. $respuesta = array();
  173.  
  174.  
  175. if(isset($listaImagen)){
  176.  
  177. if(is_array($listaImagen)){
  178. foreach($listaImagen as $imagen){
  179. $decodedImagen = base64_decode($imagen);
  180. $return =
  181. file_put_contents("../fotos/".$nombre."_".$i.".JPG",$decodedImagen);
  182. $i++;
  183.  
  184. $respuesta["ok"] = 1;
  185. }
  186. }
  187.  
  188. echo json_encode( $respuesta);
  189. }else{
  190. $respuesta["ok"] = 0;
  191.  
  192. echo json_encode( $respuesta);
  193. }
  194.  
  195.  
  196.  
  197. ?>
Add Comment
Please, Sign In to add comment