Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - victor96

#1
Estoy intentando que springboot me cree una tabla en mi base de datos postgresql, spring se conecta con exito a la base de datos pero no crea ninguna tabla.

Cuando me meto a innodb para ver las tablas me sale vacia

Configuracion hibernate

application.yaml

spring:

datasource:
   url: jdbc:postgresql://localhost:5432/postgres
   username: postgres
   password: 1234
   driver-class-name: org.postgresql.Driver

 jpa:
   hibernate:
     ddl-auto: create-drop
   generate-ddl: true
   show-sql: true  

Esta es la entidad que quiero meter a la base de datos

User.java

@Data
@Entity
@Table(name= "users")
public class User {
   //iduser
   @Id
   @GeneratedValue(generator="system-uuid")
   @GenericGenerator(name="system-uuid", strategy="uuid2")
   private String idUser;

   private String firstName;
   private String lastName;
   private String email;
   private String password;
   private String rol;
   private String language;

   public User(){

   }
}
#2
Se  que es eso jajaja, pero yo me refiero a que como puede ser que me pida actualizar a una versión a la que no puedo actualizar(al menos desde windows defender).
#3
Saludos, estoy siguiendo un curso de Udemy de Xamarin, y a la hora de crear un proyecto en Visual Studio de Windows UI tengo el siguiente problema:

Al crear el proyecto y querer ver el archivo MainPage.xaml de una forma gráfica me aparece el siguiente mensaje de error:

"Visual Studio requires a newer version of Windows to display this content.
Please update to Windows 10, version 1809 (10.0.17763.0) or later."

El caso es que yo tengo actualizando mediante windows update a la ultima versión y mirando en la información del Sistema pone que mi versión de Windows es la 10.0.17134.

!!¿Alguien me puede explicar que pasa aquí?!!
#4
Ya he conseguido que me guarde el fichero, muchas gracias, pero si quisiera cargar cada dato del   array y cargarlo en mi tablerow como podría hacerlo?
#5
Pues lo único que se me ocurre es pasarte el código completo, haber si puedes ver el fallo :S

Editar contacto.java

Código (java) [Seleccionar]
package com.example.victor.miscompaneros;

import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.telephony.PhoneNumberUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStreamWriter;
import java.io.Serializable;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.PosixFilePermissions;
import java.time.LocalDate;
import java.time.Period;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;


public class editarcontacto  extends AppCompatActivity implements Serializable{



    TextView campo1, campo2, campo3, campo4, campo5, campo6, campo7, campo8, advertencia1;

    Integer telefono;
    String nombre, papellido, sapellido, direccion, poblacion;
    private static final int PICK_IMAGE = 100;
    Uri imageUri;
    ImageView foto_gallery;
    Button boton1;
    LocalDate fechanacimiento;
    TableLayout lista;
    static int contGlobal=0;



    TableRow tabla2, tabla3, tabla4, tabla5, tabla6, tabla7, tabla8, tabla9;

    int filas = 0, columnas = 0;

    //static ArrayList<Contacto> contactos = new ArrayList<Contacto>();
    final List<Contacto> contactos = new ArrayList<>();

    int i = 0;

    /*String ruta ="/home/miscompaneros/contactos.txt";
    File archivo = new File(this.getExternalFilesDir("hola"));*/
    //File archivo = new File(this.getExternalFilesDir(null),"hola");




    @Override
    @TargetApi(Build.VERSION_CODES.P)
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.editarcontacto);




        //se asigna el campo de texto a la id que deseamos
        campo1 = (TextView) findViewById(R.id.campo1);
        campo2 = (TextView) findViewById(R.id.campo2);
        campo3 = (TextView) findViewById(R.id.campo3);
        campo4 = (TextView) findViewById(R.id.campo4);
        campo5 = (TextView) findViewById(R.id.campo5);
        campo6 = (TextView) findViewById(R.id.campo6);
        campo7 = (TextView) findViewById(R.id.campo7);
        campo8 = (TextView) findViewById(R.id.textView2);
        foto_gallery = (ImageView) findViewById(R.id.imageView);
        boton1 = (Button) findViewById(R.id.button7);
        lista = (TableLayout) findViewById(R.id.lista);


        //definimos las tablas

        tabla2 = (TableRow) findViewById(R.id.tabla2);
        /*tabla3= (TableRow) findViewById(R.id.tabla3);
        tabla4= (TableRow) findViewById(R.id.tabla4);
        tabla5= (TableRow) findViewById(R.id.tabla5);
        tabla6= (TableRow) findViewById(R.id.tabla6);
        tabla7= (TableRow) findViewById(R.id.tabla7);
        tabla8= (TableRow) findViewById(R.id.tabla8);
        tabla9= (TableRow) findViewById(R.id.tabla9);
        */




        advertencia1 = (TextView) findViewById(R.id.textView3);

        //if (contactos.size()>=1) {

            //cargardatosentabla();
        //}


        foto_gallery.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openGallery();
            }
        });


        Intent intent = getIntent();
        //Le llega la accion que debe tomar
        Bundle extras = intent.getExtras();

        int dato = extras.getInt("DATO");

        if (dato == 1) {
            campo8.setText("AÑADIR CONTACTO");
            boton1.setText("Añadir");

        }

    }

    /*private void cargardatosentabla() {

        TextView textview1 = (TextView) findViewById(R.id.textView10);
        TextView textview2 = (TextView) findViewById(R.id.textView11);
        TextView textview3 = (TextView) findViewById(R.id.textView12);
        TextView textview4 = (TextView) findViewById(R.id.textView13);

        for (int cont=0;cont<contactos.size();cont++)
        {
            String n = contactos.get(i).getNombre();
            String apellido1 = contactos.get(i).getPapellido();
            String apellido2 = contactos.get(i).getSapellido();
            String apellidos = apellido1 + " " + apellido2;
            Integer telefono = contactos.get(i).getTelefono();
            String poblacion = contactos.get(i).getPoblacion();
            //LocalDate f = contactos.get(i).getFechanacimiento();


            //añadimos los atributos a sus respectivo texto

            textview1.setText(n);
            textview2.setText(apellidos);
            textview3.setText(String.valueOf(telefono));
            textview4.setText(poblacion);
        }
    }*/

    public void metodo_iniciar(View view) {

        Intent intent = new Intent(getApplicationContext(), menucontactos.class);
        intent.putExtra("DATO", 1);
        startActivity(intent);
        finish();
    }

    @TargetApi(Build.VERSION_CODES.P)
    public void metodo_editar2(View view) throws IOException, ClassNotFoundException {

        setContentView(R.layout.menucontactos);

        //fila1
        TextView textview1 = (TextView) findViewById(R.id.textView10);
        TextView textview2 = (TextView) findViewById(R.id.textView11);
        TextView textview3 = (TextView) findViewById(R.id.textView12);
        TextView textview4 = (TextView) findViewById(R.id.textView13);
        Button button1 = (Button) findViewById(R.id.button1);

        //fila2
        TextView textview20 = (TextView) findViewById(R.id.textView20);
        TextView textview21 = (TextView) findViewById(R.id.textView21);
        TextView textview22 = (TextView) findViewById(R.id.textView22);
        TextView textview23 = (TextView) findViewById(R.id.textView23);
        Button button2 = (Button) findViewById(R.id.button2);

        //se añade el contacto

        nombre = campo1.getText().toString();
        papellido = campo2.getText().toString();
        sapellido = campo3.getText().toString();
        direccion = campo4.getText().toString();
        poblacion = campo6.getText().toString();
        try {
            telefono = Integer.parseInt(campo5.getText().toString());
        } catch (Exception e) {

            advertencia1.setText("INTRODUZCA UN TELEFONO CORRECTO");
            advertencia1.setVisibility(View.VISIBLE);
        }
        try {
            fechanacimiento = LocalDate.parse(campo7.getText().toString());


            //convertimos la fecha tipo date en local date
            //fechanacimiento = fechanacimiento.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

            LocalDate fechaactual = LocalDate.now();
            LocalDate birthday = LocalDate.of(fechaactual.getYear(), fechanacimiento.getMonthValue(), fechanacimiento.getDayOfMonth());
            if (fechaactual.isAfter(birthday))
                birthday = birthday.plusYears(1);
            Period diff = Period.between(fechaactual, birthday);
            Contacto contacto = new Contacto(nombre, papellido, sapellido, direccion, poblacion, R.drawable.agenda, telefono, fechanacimiento);

            contactos.add(contacto);


            // se añade el array a la tabla del menu superior


            do {


                String n = contactos.get(i).getNombre();
                String apellido1 = contactos.get(i).getPapellido();
                String apellido2 = contactos.get(i).getSapellido();
                String apellidos = apellido1 + " " + apellido2;
                Integer telefono = contactos.get(i).getTelefono();
                String poblacion = contactos.get(i).getPoblacion();
                //LocalDate f = contactos.get(i).getFechanacimiento();


                //añadimos los atributos a sus respectivo texto
                switch(i) {
                    case 0: textview1.setText(n);
                    textview2.setText(apellidos);
                    textview3.setText(String.valueOf(telefono));
                    textview4.setText(poblacion);
                    button1.setVisibility(View.VISIBLE);
                    break;

                    case 1:
                        textview20.setText(n);
                        textview21.setText(apellidos);
                        textview22.setText(String.valueOf(telefono));
                        textview23.setText(poblacion);
                        button2.setVisibility(View.VISIBLE);
                        break;
                }

                //convertimos fecha en string para poder añadirla al texto
                //String fechatexto = contactos.get(i).convertirfecha(contactos.get(i).getFechanacimiento());

                //textofecha.setText(fechatexto);

                //escribirDatosContactos();

                i++;

            } while (i < (contactos.size() - 1));

            //Guarda estado de actividad antes de cerrarla
            escribirDatosContactos(contactos);


        } catch (Exception e) {

            Logger.getLogger(editarcontacto.class.getName()).log(Level.SEVERE, null, e);
            //e.printStackTrace();
            advertencia1.setText("INTRODUZCA UNA FECHA CORRECTA");
            advertencia1.setVisibility(View.VISIBLE);
        }

        //cerramos esta actividad
        finish();

        //iniciamos la actividad desde menucontactos
        Intent intent = new Intent(getApplicationContext(), menucontactos.class);
        intent.putExtra("DATO",1);
        startActivity(intent);

            leerFichContactos(contactos);


    }


    private void openGallery() {
        Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
        startActivityForResult(gallery, PICK_IMAGE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK && requestCode == PICK_IMAGE) {
            imageUri = data.getData();
            foto_gallery.setImageURI(imageUri);
        }
    }


    /*@RequiresApi(api = Build.VERSION_CODES.KITKAT)
    static void leerFichContactos(File archivo) throws IOException, ClassNotFoundException {

        if(archivo.exists()) {
            FileInputStream fileIn = new FileInputStream(archivo);
            ObjectInputStream objectIn = new ObjectInputStream(fileIn);
            contactos = (ArrayList<Contacto>) objectIn.readObject();
            objectIn.close();

            ObjectInputStream leyendoFichero = new ObjectInputStream(new FileInputStream("ruta"));
            contactos = (ArrayList<Contacto>) leyendoFichero.readObject();
            leyendoFichero.close();
        }

    }*/
    @RequiresApi(api = Build.VERSION_CODES.N)
    private String leerFichContactos(List contactos) {
        final StringBuilder sb = new StringBuilder();
        try(final BufferedReader bR = new BufferedReader(new InputStreamReader(openFileInput("contactos.txt")))) {

            bR.lines().forEach(texto -> sb.append(texto+"\n"));

        } catch (IOException ex) { ex.printStackTrace(); }
        return sb.toString();
    }


    /*@RequiresApi(api = Build.VERSION_CODES.KITKAT)
    static void escribirDatosContactos(File archivo) throws IOException {



        if(!archivo.exists()) {
            archivo.getParentFile().mkdirs();
            archivo.createNewFile();
        }
        else{
            FileOutputStream fout=new FileOutputStream("/home/miscompaneros/contactos.txt");
            ObjectOutputStream out= new ObjectOutputStream(fout);
            out.writeObject(contactos);
            out.close();
        }


    }*/

    @RequiresApi(api = Build.VERSION_CODES.O)
    private void escribirDatosContactos(List contactos) {


        new Thread(() -> {
            final Path dir = Paths.get(Environment.getExternalStoragePublicDirectory("/Contactos").toString());
            if (!Files.exists(dir)) {
                try {

                    Files.createDirectory(dir);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            final Path dir2 = Paths.get(Environment.getExternalStoragePublicDirectory("/Contactos/contactos.txt").toString());
            try (final BufferedOutputStream b = new BufferedOutputStream(Files.newOutputStream(dir2))) {
                contactos.forEach(contacto -> {
                    try {
                        b.write((contacto.toString() + "\n").getBytes());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                });
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }).start();
    }

    }


#6
Gracias de nuevo por tu ayuda, te contesto a todas:

1. Creo que mi version es la 4.03(15), pero como puedes ver en el código, puse para que pueda permitir hasta la versión oreo(26)

Código (java) [Seleccionar]
@RequiresApi(api = Build.VERSION_CODES.O)

2. Los permisos los tengo metidos fuera de la aplicacion te pongo el androidmanifest para que lo puedas ver completo:

Código (xml) [Seleccionar]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.victor.miscompaneros">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity" android:screenOrientation="fullSensor">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".menucontactos" android:screenOrientation="fullSensor"></activity>
        <activity android:name=".editarcontacto" android:screenOrientation="fullSensor"></activity>
    </application>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />



</manifest>


3. No me importa realmente si es en uno publico o en uno privado, el que de menos problemas para escribir.

4. Si que uso el parámetro, lo que pasa es que lo tengo declarado en otra parte del programa de esta forma:

Código (java) [Seleccionar]
final List<Contacto> contactos = new ArrayList<>();

Y luego entra en un metodo como parametro

Código (java) [Seleccionar]
escribirDatosContactos(contactos);

No quiero poner el código completo del programa porque es muy largo, disculpas si te ha podido confundir, si necesitas mas lineas de código dímelo.
#7
He probado el código que me has proporcionado, pero sigo teniendo un error que no se como solucionar:

He probado a debuggear el programa para ver que es lo que falla y me aparece que el fallo se encuentra en la linea 10, justo la linea que crea el archivo.

Este es el codigo que probe:

@RequiresApi(api = Build.VERSION_CODES.O)
   private void escribirDatosContactos(List contactos) {


       new Thread(() -> {
           final Path dir = Paths.get(Environment.getExternalStoragePublicDirectory("/Contactos").toString());
           if (!Files.exists(dir)) {
               try {
                   
                   Files.createDirectory(dir);
               } catch (IOException e) {
                   e.printStackTrace();
               }
           }
           final Path dir2 = Paths.get(Environment.getExternalStoragePublicDirectory("/Contactos/contactos.txt").toString());
           try (final BufferedOutputStream b = new BufferedOutputStream(Files.newOutputStream(dir2))) {
               contactos.forEach(contacto -> {
                   try {
                       b.write((contacto.toString() + "\n").getBytes());
                   } catch (IOException e) {
                       e.printStackTrace();
                   }
               });
           } catch (IOException ex) {
               ex.printStackTrace();
           }
       }).start();
   } @RequiresApi(api = Build.VERSION_CODES.O)
   private void escribirDatosContactos(List contactos) {


       new Thread(() -> {
           final Path dir = Paths.get(Environment.getExternalStoragePublicDirectory("/Contactos").toString());
           if (!Files.exists(dir)) {
               try {
                   
                   Files.createDirectory(dir);
               } catch (IOException e) {
                   e.printStackTrace();
               }
           }
           final Path dir2 = Paths.get(Environment.getExternalStoragePublicDirectory("/Contactos/contactos.txt").toString());
           try (final BufferedOutputStream b = new BufferedOutputStream(Files.newOutputStream(dir2))) {
               contactos.forEach(contacto -> {
                   try {
                       b.write((contacto.toString() + "\n").getBytes());
                   } catch (IOException e) {
                       e.printStackTrace();
                   }
               });
           } catch (IOException ex) {
               ex.printStackTrace();
           }
       }).start();
   }


Y esta es la excepción que me aparece en el debugger:

e: "java.nio.file.AccessDeniedException: /storage/emulated/0/Contactos"

Al ser AccessDeniedException he pensado que podria ser por falta de permisos en la ruta, entonces he añadido estas dos lineas de codigo:

Código (java) [Seleccionar]
Path dirabsoluta= Environment.getExternalStorageDirectory().toPath();

Files.setPosixFilePermissions(dirabsoluta, PosixFilePermissions.fromString("rwxrwxrwx"));


Antes de crear el directorio, pero me sigue apareciendo el mismo error a pesar de que le concedo todos los permisos para crear la carpeta allí

No se que puede ser la verdad
#8
Estoy buscando como guardar mediante código un archivo de texto que contenga un arraylist, he intentado con este código, pero da error cuando intenta guardar dicho arraylist en el archivo

try
            {
                OutputStreamWriter fout=
                        new OutputStreamWriter(
                                openFileOutput("contactos.txt", Context.MODE_PRIVATE));

                fout.write(contactos);
                fout.close();
            }
            catch (Exception ex)
            {
                Log.e("Ficheros", "Error al escribir fichero a memoria interna");
            }

En este caso contactos es el arraylist que deseo guardar dentro del archivo contactos.txt
#9
Ya encontre la solucion  :-X

No sabia que el firewall de ubuntu server te bloqueaba el acceso a apache, disculpas  :-\
#10
Redes / No me puedo conectar con el servidor Apache
3 Noviembre 2017, 21:01 PM
Buenas, soy nuevo en el foro y tenia una sencilla duda, pero que me esta dando muchos quebraderos de cabeza.

Mi problema es que tengo un servidor Apache instalado en una maquina virtual Linux Ubuntu y intento acceder a ella a traves de la maquina real Windows 10 y no hay manera...

-Las dos redes las tengo estaticas.

-Ping si que me hacen las dos maquinas.

-El firewall lo tengo deshabilitado en Windows.