Bases de Datos - Copiar una base de datos a una aplicacion

 
Vista:
sin imagen de perfil

Copiar una base de datos a una aplicacion

Publicado por Base de datos (1 intervención) el 02/10/2016 13:36:37
Uso Android Studio 1.5.1 ya tengo echa una aplicacion donde crea una base de datos escribe y busca datos en ella pero no consigo copiar una base de datos que ya tengo echa para que tire de ella.

tengo esto puesto que supuestamente deberia de sobreescribir una BD en Assets en la que crea la aplicacion vacia:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
protected void onCreate (Bundle savedInstanceState) {
 
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
 
	try {
		String destpath = "/data/data/" + getPackageName() + "/databases/Libros";
		File f = new File(destpath);
		if (!f.exists()) {
			CopyDB(getBaseContext().getAssets().open("Libros2"), new FileOutputStream(destpath));
		}
	}
	catch (FileNotFoundException e) {e.printStackTrace();}
	catch (IOException e) {e.printStackTrace();}

Y mas abajo el copiar:

1
2
3
4
5
6
7
8
9
10
public void CopyDB(InputStream inputStream,OutputStream outputStream)
	throws IOException {
		byte[] buffer = new byte[1024];
		int length;
		while ((length = inputStream.read(buffer))> 0){
			outputStream.write(buffer, 0, length);
		}
		inputStream.close();
		outputStream.close();
	}

Nose si esta mal colocada, mal escrita o nidea, solo se que crea la base de datos vacia con onCreate y se salta automaticamente el "try {" y claro no sobreescribe ni nada.

Si saben sobre esto se lo agradeceria mucho sino, podrian ayudarme con otro metodo de sobreescribirla y usar la que tengo llena.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder