@@dannyharo7693, eso precisamente me pasaba hasta que puse el db.close() después de comprobar que se hubiera creado el objeto db, al parecer crea el archivo pero si no se cierra no se guardan los cambios de la estructura: DbHelper dbHelper = new DbHelper(MainActivity.this); SQLiteDatabase db = dbHelper.getWritableDatabase(); if (db != null){ db.close();}
Hola , en el minuto 10:23, en la linea 26 es cuando se ejecuta el método "onCreate" del dbHelper no??, al invocal al método "getWritableDatabase". Gracias.
Excelente vídeo, me gustaría saber cómo puedo realizar una validación, para que, al momento de que, me crea la BD y vuelva a dar clic al Botón para volver a crear la BD ya no me permita hacer dicha acción, y no hablo de solo deshabilitar el botón una vez creada la BD, sino que, me valide si ya se creó una BD llamada agenda y ya no me pueda crear de nuevo la misma BD.
El metodo on create se ejecuta una única vez, al igual que el on upgrade. Por lo general, en una aplicación no vas a tener el metodo "crear bd" disponible para el usuario sino que en su lugar, vas a llamar a un método insertar en una tabla que a su vez si la bd no existe, se ejecutara por única vez para crearla.
Tal vez te refieres a la base de datos, pero ninguna de las 2 se crea cada que se ejecuta la app, por eso se agrega una número de versión de la base de datos para que solo cuando cambie la versión se actualice la estructura con las nuevas instrucciones
Muchas gracias por el video amigo. Una pregunta, si ya tengo la base de datos creada y la quiero insertar en el proyecto en donde debo poner el archivo .db ? Saludos!
Hola, estas sería para el teléfono si se requiere tener bases externas online puedes usar cualquier motor de base de datos y conectarlo con un webservice, eso lo haremos más adelante
Existe alguna manera de visualizar y seleccionar las bases de datos?, mi idea es poder separar las bases de datos en Cursos, y probablemente a futuro, en Escuelas, para poder diagramar la gestión, no se si será posible hacer esto con SQLite.
excelente video, muchisimas gracias. Solo tengo una pregunta: En la parte de case me sale error al colocar R.id.menuNuevo, estaba viendo algunas recomendaciones y dice que debo de cambiar switch por if. Que debo hacer ?? saludos y muchas gracias nuevamente.
Hola cómo estás, tengo un error en la línea 22 de la clase DbHelper, en CREATE TABLE me marca la palabra TABLE y me dice: INDEX, TABLE, TEMP, TEMPORARY, TRIGGER, UNIQUE, VIEW or VIRTUAL expected, got 'TABLEt_contactos
Excelente video!. Solo tengo una duda, al terminar, no puedo encontrar la carpeta "com.cdp.agenda". Y he actualizado la carpeta algunas veces, pero no pasa nada. Puedo hacer algo mas?
Muy buenas!. ¿Alguien me puede decir que tengo que hacer para que cada usuario tenga su propia lista de tareas pero que no pueda ver las listas de tareas de los otros usuarios, que solo pueda ver la suya propia. Muchas gracias de antemano y un saludo!! Muy bien video!!
@@codigosdeprogramacion Me pude ubicar, es que no encontraba en que momento se creó el paquete com.cdp.agenda, entonces lo creé desde el proyecto, y cambié example por cdp.
No me gusta eso de tener que presionar un boton para que se cree la base de datos no hay una manera de crear una base de datos en un SGBD de SQLite y exportar esa base y añadirla al proyecto?
Una duda. Sería posible crear (o tener) una base de datos. Y después crear una aplicación que extrajera y mostrara los datos necesarios de esa base de datos. Y si es así, como sería? Disculpa si esto es algo obvio, soy nueva en la programación de móviles.
A mi me marcaba error porque lo tenía así SQLiteDatabase db = new dbhelper.getWritableDatabase(); Pero no me di cuenta que en este caso el "new" no va y por eso me marcaba error en lo mismo. total que qedó así SQLiteDatabase db = dbhelper.getWritableDatabase(); y ya no marco error
Yo tengo una duda. Al hacer este método, ¿no se sobreescribiría la base de datos ya creada? Es decir, esto crea una base de datos y se introducen datos, pero si yo vuelvo a ejecutar la app, ¿no se sobreescribe el contenido de la base de datos ya que la vuelve a crear? Gracias.
Parcero, desearía saber como se crea la base de datos automáticamente y justo después de instalar la app, para no usar el botón y que el usuario pueda iniciar de una vez a trabajar
Para generar la base de datos no se necesita un evento como del botón solo hacer una instancia de la clase donde la crear y está la puedes hacer al iniciar la aplicación, está se creará una sola vez.
@@guillermoquiroga4717 Hola men, no se si ya lo pudiste hacer, yo tuve la misma inquietud y lo hice así: 1. en el activity que quieras, en el metodo onCreate(), pon el siguiente codigo: SharedPreferences prefs = getSharedPreferences("myPrefs", MODE_PRIVATE); boolean isDatabaseCreated = prefs.getBoolean("isDatabaseCreated", false); if (!isDatabaseCreated) { DBHelper dbHelper = new DBHelper(GestionEstudiante.this); SQLiteDatabase db = dbHelper.getWritableDatabase(); if(db != null){ Toast.makeText(GestionEstudiante.this, "Base de Datos Creada", Toast.LENGTH_LONG).show(); } else { Toast.makeText(GestionEstudiante.this, "Base de Datos no Creada", Toast.LENGTH_SHORT).show(); } prefs.edit().putBoolean("isDatabaseCreated", true).apply(); } NOTA: ten en cuenta que debes haber hecho previamente todo lo que se muestra en el video en el archivo DBHelper. Y obviamente adecualo a tu caso, porque ahi esta aplicado a mi proyecto. Saludos 🙂
TENGO UN ERROR:( @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL("CREATE TABLE"+TABLE_EJERCICIOS+"("+ "id INTEGER PRIMARY KEY AUTOINCREMENT,"+ "nombre TEXT NOT NULL,"+ " telefono TEXT NOT NULL,"+ "correo_electronico TEXT)"); } SE SUBRAYA EN ROJO la palabra TABLE En donde dice CREATE TABLE alguien sabe:( pq ??
Excelente vídeo, me gustaría saber cómo puedo realizar una validación, para que, al momento de que, me crea la BD y vuelva a dar clic al Botón para volver a crear la BD ya no me permita hacer dicha acción, y no hablo de solo deshabilitar el botón una vez creada la BD, sino que, me valide si ya se creó una BD llamada agenda y ya no me pueda crear de nuevo la misma BD.
Hola, no se si ya lo pudiste hacer, yo tuve la misma inquietud y lo hice así: 1. en el activity que quieras, en el metodo onCreate(), pon el siguiente codigo: SharedPreferences prefs = getSharedPreferences("myPrefs", MODE_PRIVATE); boolean isDatabaseCreated = prefs.getBoolean("isDatabaseCreated", false); if (!isDatabaseCreated) { DBHelper dbHelper = new DBHelper(GestionEstudiante.this); SQLiteDatabase db = dbHelper.getWritableDatabase(); if(db != null){ Toast.makeText(GestionEstudiante.this, "Base de Datos Creada", Toast.LENGTH_LONG).show(); } else { Toast.makeText(GestionEstudiante.this, "Base de Datos no Creada", Toast.LENGTH_SHORT).show(); } prefs.edit().putBoolean("isDatabaseCreated", true).apply(); } NOTA: ten en cuenta que debes haber hecho previamente todo lo que se muestra en el video en el archivo DBHelper. Y obviamente adecualo a tu caso, porque ahi esta aplicado a mi proyecto. Saludos 🙂
Excelente vídeo, me gustaría saber cómo puedo realizar una validación, para que, al momento de que, me crea la BD y vuelva a dar clic al Botón para volver a crear la BD ya no me permita hacer dicha acción, y no hablo de solo deshabilitar el botón una vez creada la BD, sino que, me valide si ya se creó una BD llamada agenda y ya no me pueda crear de nuevo la misma BD.
Excelente vídeo, me gustaría saber cómo puedo realizar una validación, para que, al momento de que, me crea la BD y vuelva a dar clic al Botón para volver a crear la BD ya no me permita hacer dicha acción, y no hablo de solo deshabilitar el botón una vez creada la BD, sino que, me valide si ya se creó una BD llamada agenda y ya no me pueda crear de nuevo la misma BD.
@@codigosdeprogramacion @coralmarialigonzalezhuayra5436 hola disculpen tengo una duda si es que al apretar el boton tengo la base de datos creada, esto significa que podria eliminar el boton
Gracias de verdad JAJAJ no sabes lo que necesitaba una base de datos funcional ahora mismo jajjaj
Gracias por enseñarnos donde se guardan las bases de datos en la aplicación. MUy buen vídeo. Gracias.
Con gusto, saludos
Excelente video para comprender mejor como se crean las DB en SQlite. Además de la herramienta BD Browser, agradecido por tu video. ;)
Gracias, saludos
Con gusto 😊
@@codigosdeprogramacionpuedo recuperar archivo de WhatsApp’s borrado ?
excelente video, me suscribo y te recomiendo con mis compañeros.
muchas gracias!!!
Gracias, saludos
Muchas gracias por el curso, este primer video me ayudó muchisimo. Saludos desde Chile
Gracias, saludos
Gracias colega muy bien explicado.
Con gusto
Noté que me creó el archivo agenda.db pero no creó la tabla, agregué un db.close(); y ya me funcionó.
el DB browser me abre la BD vacia
@@dannyharo7693, eso precisamente me pasaba hasta que puse el db.close() después de comprobar que se hubiera creado el objeto db, al parecer crea el archivo pero si no se cierra no se guardan los cambios de la estructura:
DbHelper dbHelper = new DbHelper(MainActivity.this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
if (db != null){
db.close();}
@@darklaker hola
Creo que me pasó lo mismo, puse lo que dijiste y aún así solo aparece la tabla de Android metadata
Muchas gracias amigo llevava algunos dias investigando el porque y como solucinar :) y no habia podido encontrar el porque.
gracias! tenia el mismo problema y esa era la solución !
Hola , en el minuto 10:23, en la linea 26 es cuando se ejecuta el método "onCreate" del dbHelper no??, al invocal al método "getWritableDatabase". Gracias.
tremendo tuto, parcero. Mil gracias.
Muchas gracias
Buena Explicación , me ayudaste bastante!
Excelente!
Gracias a probarlo, ya me suscribí
Gracias, saludos
Excelente vídeo, me gustaría saber cómo puedo realizar una validación, para que, al momento de que, me crea la BD y vuelva a dar clic al Botón para volver a crear la BD ya no me permita hacer dicha acción, y no hablo de solo deshabilitar el botón una vez creada la BD, sino que, me valide si ya se creó una BD llamada agenda y ya no me pueda crear de nuevo la misma BD.
El metodo on create se ejecuta una única vez, al igual que el on upgrade. Por lo general, en una aplicación no vas a tener el metodo "crear bd" disponible para el usuario sino que en su lugar, vas a llamar a un método insertar en una tabla que a su vez si la bd no existe, se ejecutara por única vez para crearla.
¿sirve para que calcule datos y de resultados que sume por si solo?
Averígualo
excelente video una duda y si quisiera mostrar en una ListView los datos que ingreo a la base de datos?
Aquí lo hacemos ruclips.net/video/UfZJWqm2A5w/видео.html
Consulta, si quisiera trabajar con dos tablas y una de ellas tiene la fk de la otra. La agregaria en la misma clase de la base de datos DBHelper no ?
Hola, puedes crear otra clase pero que pueda heredar de DBHelper
Hay alguna forma de encriptar la base?
hasta que versión de Android estudio es compatible la creación de base de datos del video??
Hasta la última versión
Gracias buen hombre, sigue así.
Gracias
Oye bro, osea cada que ejecutes tu app, creas una tabla nueva?
Tal vez te refieres a la base de datos, pero ninguna de las 2 se crea cada que se ejecuta la app, por eso se agrega una número de versión de la base de datos para que solo cuando cambie la versión se actualice la estructura con las nuevas instrucciones
@codigosdeprogramacion gracias bo por el dato
Gran video
Buen tutorial
Gracias
Muchas gracias por el video amigo. Una pregunta, si ya tengo la base de datos creada y la quiero insertar en el proyecto en donde debo poner el archivo .db ? Saludos!
una pregunta cómo puedo hacer esto pero añadiéndolo a un proyecto distinto? no se mucho del tema gracias
Sería de la mismo forma
Cual es tu cuenta secundaria para ver la versión el kotlin ?
Gracias amigo!
A la orden
Excelente video, hay alguna forma de guardar la base de datos creada en escritorio, que la guarde directamente sin el comando Ctrl + Mayus + S
Mediante el proceso que se muestra
Excelentes videos! Gracias
A la orden
Esas bases de datos son exclusivas para el teléfono o pueden ser hosteadas online???
Hola, estas sería para el teléfono si se requiere tener bases externas online puedes usar cualquier motor de base de datos y conectarlo con un webservice, eso lo haremos más adelante
@@codigosdeprogramacion perfecto bro, muchas gracias!!!
Maravilloso.
Gracias
Existe alguna manera de visualizar y seleccionar las bases de datos?, mi idea es poder separar las bases de datos en Cursos, y probablemente a futuro, en Escuelas, para poder diagramar la gestión, no se si será posible hacer esto con SQLite.
Creo que no se puede pero no es recomendable hacerlo de esa forma
@@codigosdeprogramacion Vos decís que conviene hacer la separación de Escuelas y cursos por tablas directamente?
No estoy diciendo eso, es tedioso explicarlo en comentarios
veamos que tal me va con el crud!
Será excelente 👍
Excelente Video
Gracias, saludos
Excelente tutorial, muy útil, like :D
Gracias! 😊
cual es la diferencia en utilizar SQLite A un servidor Apache + PHP + Mysql ?????????? cual es mejor y por que
Es una respuesta bastante amplia para responderla aquí. Es cuestión de si quieres base de datos local o remota
excelente video, muchisimas gracias. Solo tengo una pregunta: En la parte de case me sale error al colocar R.id.menuNuevo, estaba viendo algunas recomendaciones y dice que debo de cambiar switch por if. Que debo hacer ?? saludos y muchas gracias nuevamente.
Hola cómo estás, tengo un error en la línea 22 de la clase DbHelper, en CREATE TABLE me marca la palabra TABLE y me dice: INDEX, TABLE, TEMP, TEMPORARY, TRIGGER, UNIQUE, VIEW or VIRTUAL expected, got 'TABLEt_contactos
Escribelo asi "CREATE TABLE "
Las comillas dobles despues de table van con un espacio no asi "CREATE TABLE"
¿cual es el canal secundario para suscribirse?
Es este
ruclips.net/channel/UC__81NGoklvbHXK8AsomltQ
Se cierra la app al darle en el boton
Solucionaste?
Excelente video!. Solo tengo una duda, al terminar, no puedo encontrar la carpeta "com.cdp.agenda". Y he actualizado la carpeta algunas veces, pero no pasa nada. Puedo hacer algo mas?
Hola amigo este buscalo como com.example.mas el nombe que tu le distes
tal vez asi lo encuentres
@@gabrielalegria9586 GRACIAS POR LE DATO, TAMPOCO LO ENCONTRABA
Amigos yo quiero crear una apk offline que cargue un archivo excel.
8:37 / 15:57
Muy buenas!. ¿Alguien me puede decir que tengo que hacer para que cada usuario tenga su propia lista de tareas pero que no pueda ver las listas de tareas de los otros usuarios, que solo pueda ver la suya propia.
Muchas gracias de antemano y un saludo!! Muy bien video!!
Algún campo que identifique al usuario y al mostrar la información filtrar por ese campo dependiendo el usuario
@@codigosdeprogramacion Muchas gracias!
Oye como activo la opción de mandarla a mi escritorio? , por que no me deja mandarla
No entendí
hola disculpa, pero al crear la base de datos con el boton ,despues podria eliminar el boton ya que la base de datos ya estaria creada
Así es
En qué video comienza este proyecto?
Este es el primer vídeo del proyecto
@@codigosdeprogramacion Me pude ubicar, es que no encontraba en que momento se creó el paquete com.cdp.agenda, entonces lo creé desde el proyecto, y cambié example por cdp.
No me gusta eso de tener que presionar un boton para que se cree la base de datos no hay una manera de crear una base de datos en un SGBD de SQLite y exportar esa base y añadirla al proyecto?
Esa función es para comprender como se realiza, ya en la aplicación se agrega en el onCreate al inicio
genio
Una duda. Sería posible crear (o tener) una base de datos. Y después crear una aplicación que extrajera y mostrara los datos necesarios de esa base de datos. Y si es así, como sería?
Disculpa si esto es algo obvio, soy nueva en la programación de móviles.
Es posible, aunque no sé como sería.
Porque me lanza un error al poner el .getWriteDatabase();? (Si tengo bien puesto el nombre de mi base de datos)
Que error envía?
A mi me marcaba error porque lo tenía así SQLiteDatabase db = new dbhelper.getWritableDatabase();
Pero no me di cuenta que en este caso el "new" no va y por eso me marcaba error en lo mismo. total que qedó así SQLiteDatabase db = dbhelper.getWritableDatabase();
y ya no marco error
Yo tengo una duda. Al hacer este método, ¿no se sobreescribiría la base de datos ya creada? Es decir, esto crea una base de datos y se introducen datos, pero si yo vuelvo a ejecutar la app, ¿no se sobreescribe el contenido de la base de datos ya que la vuelve a crear? Gracias.
No sé sobrescribe a menos que cambies la versión de la base de datos
genio!!
Gracias
Las aplicaciones hechas en Android sobre tiendas virtuales en que están hecho. Agradecido por la respuesta
No sé yo no las hice
Excelente
Gracias! 😊
Parcero, desearía saber como se crea la base de datos automáticamente y justo después de instalar la app, para no usar el botón y que el usuario pueda iniciar de una vez a trabajar
Para generar la base de datos no se necesita un evento como del botón solo hacer una instancia de la clase donde la crear y está la puedes hacer al iniciar la aplicación, está se creará una sola vez.
@@codigosdeprogramacion Siguiendo esta consulta. Dónde debería instanciar la clase para que la DB se cree automáticamente?
@@guillermoquiroga4717 Hola men, no se si ya lo pudiste hacer, yo tuve la misma inquietud y lo hice así:
1. en el activity que quieras, en el metodo onCreate(), pon el siguiente codigo:
SharedPreferences prefs = getSharedPreferences("myPrefs", MODE_PRIVATE);
boolean isDatabaseCreated = prefs.getBoolean("isDatabaseCreated", false);
if (!isDatabaseCreated) {
DBHelper dbHelper = new DBHelper(GestionEstudiante.this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
if(db != null){
Toast.makeText(GestionEstudiante.this, "Base de Datos Creada", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(GestionEstudiante.this, "Base de Datos no Creada", Toast.LENGTH_SHORT).show();
}
prefs.edit().putBoolean("isDatabaseCreated", true).apply();
}
NOTA: ten en cuenta que debes haber hecho previamente todo lo que se muestra en el video en el archivo DBHelper.
Y obviamente adecualo a tu caso, porque ahi esta aplicado a mi proyecto.
Saludos 🙂
ayuda no me sale la carpeta com.cdp.agenda
que hago
Tal vez tú proyecto no se llama así
@@codigosdeprogramacion exacto ese era mi problema es que yo lo guarde con diferente nombre gracias amigo
Excelente!!
Gracias!
TENGO UN ERROR:(
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("CREATE TABLE"+TABLE_EJERCICIOS+"("+
"id INTEGER PRIMARY KEY AUTOINCREMENT,"+
"nombre TEXT NOT NULL,"+
" telefono TEXT NOT NULL,"+
"correo_electronico TEXT)");
}
SE SUBRAYA EN ROJO la palabra TABLE
En donde dice CREATE TABLE alguien sabe:( pq
??
Después de TABLE debe haber un espacio para separar el nombre de la tabla: "CREATE TABLE "+TABLE_EJERCICIOS
Excelente vídeo, me gustaría saber cómo puedo realizar una validación, para que, al momento de que, me crea la BD y vuelva a dar clic al Botón para volver a crear la BD ya no me permita hacer dicha acción, y no hablo de solo deshabilitar el botón una vez creada la BD, sino que, me valide si ya se creó una BD llamada agenda y ya no me pueda crear de nuevo la misma BD.
Hola, no se si ya lo pudiste hacer, yo tuve la misma inquietud y lo hice así:
1. en el activity que quieras, en el metodo onCreate(), pon el siguiente codigo:
SharedPreferences prefs = getSharedPreferences("myPrefs", MODE_PRIVATE);
boolean isDatabaseCreated = prefs.getBoolean("isDatabaseCreated", false);
if (!isDatabaseCreated) {
DBHelper dbHelper = new DBHelper(GestionEstudiante.this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
if(db != null){
Toast.makeText(GestionEstudiante.this, "Base de Datos Creada", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(GestionEstudiante.this, "Base de Datos no Creada", Toast.LENGTH_SHORT).show();
}
prefs.edit().putBoolean("isDatabaseCreated", true).apply();
}
NOTA: ten en cuenta que debes haber hecho previamente todo lo que se muestra en el video en el archivo DBHelper.
Y obviamente adecualo a tu caso, porque ahi esta aplicado a mi proyecto.
Saludos 🙂
Obviamente ahi no uso un boton y con eso ya solo la crearía una vez nada mas.
Excelente vídeo, me gustaría saber cómo puedo realizar una validación, para que, al momento de que, me crea la BD y vuelva a dar clic al Botón para volver a crear la BD ya no me permita hacer dicha acción, y no hablo de solo deshabilitar el botón una vez creada la BD, sino que, me valide si ya se creó una BD llamada agenda y ya no me pueda crear de nuevo la misma BD.
Excelente vídeo, me gustaría saber cómo puedo realizar una validación, para que, al momento de que, me crea la BD y vuelva a dar clic al Botón para volver a crear la BD ya no me permita hacer dicha acción, y no hablo de solo deshabilitar el botón una vez creada la BD, sino que, me valide si ya se creó una BD llamada agenda y ya no me pueda crear de nuevo la misma BD.
Hola, la base de datos se crea una sola vez cuando presionas de nuevo el botón y ya existe no la vuelve a crear.
@@codigosdeprogramacion @coralmarialigonzalezhuayra5436 hola disculpen tengo una duda si es que al apretar el boton tengo la base de datos creada, esto significa que podria eliminar el boton