logo
Bienvenido visitante. Para activar todas las funcionalidades, por favor Iniciar sesión o Registrarse.

Aviso

Icon
Error

5 Páginas<1234>»
Opciones
Ir a la última publicación
admin  
#21 Publicado : sábado, 24 de noviembre de 2012 22:11:54(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
Buenas Oscar,

En este mismo POST esta mi proyecto que lo comparti para analizarlo ;P

Un saludo!
Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
ftg81  
#22 Publicado : jueves, 6 de diciembre de 2012 0:58:34(UTC)
ftg81

Posición: Newbie

Grupos: Registered
Registrado: 29/10/2012(UTC)
Mensajes: 8

Hola, tengo una duda, en el código pusiste cuando muevo el mapa al levantar el click de la pantalla me salta siempre si para crear un lugar, en cambio me he bajado la aplicación que tienes subida en la store y no pasa eso, no consigo encontrar cuál es el problema a ver si pudieses ayudarme.
admin  
#23 Publicado : sábado, 8 de diciembre de 2012 23:06:40(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
Hola ftg81!

El tema esta en la clase MapaLugaresActivity, hay un metodo que se llama OnTouchEvent... alli hay un fragmento:

Código:

case MotionEvent.ACTION_MOVE:

	// Si nos movemos menos de 1.0 pixeles iniciaremos la actividad
	if (!mapMoved) {
		    if (event.getHistorySize() > 0) {
		        if ((Math.abs(event.getX() - event.getHistoricalX(0)) > 1.0)
			    || (Math.abs(event.getY()- event.getHistoricalY(0)) > 1.0)) {
			     mapMoved = true;
				}
			    }
			}
	break;



Basicamente lo que hacen las lineas de arriba, es que si movemos el mapa mas de 1.0 pixeles de forma absoluta en el eje X o Y tomara el movimiento como que movemos el mapa, y si nos movemos menos tomara el movimiento como un tick y creara un nuevo punto.

Puedes hacer pruebas, pero en la version del GooglePlay esta a 1.0 pixel tambien!

Saludos!!
Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
miguel290681  
#24 Publicado : miércoles, 12 de diciembre de 2012 23:00:37(UTC)
miguel290681

Posición: Member

Grupos: Registered
Registrado: 12/12/2012(UTC)
Mensajes: 11
Ubicación: granada

Agradecimientos: 1 veces
Hola a todos, soy nuevo en el foro,me gustaria preguntar como se hace el ejercicio final.
He hecho todo lo demas pero con este no se ni como empezar. Salguien me puede ayudar se lo agradeceria.
Gracias de antemano
admin  
#25 Publicado : jueves, 13 de diciembre de 2012 21:36:37(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
Hola Miguel!

He colgado mi proyecto final en este hilo para que puedas tener una referencia de como esta hecho... pero ¡no te copies! xDDD

Un saludo!
Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
miguel290681  
#26 Publicado : jueves, 13 de diciembre de 2012 21:50:00(UTC)
miguel290681

Posición: Member

Grupos: Registered
Registrado: 12/12/2012(UTC)
Mensajes: 11
Ubicación: granada

Agradecimientos: 1 veces
Muxas gracias de verdad te lo agradezco
le exare un vistazo para tenerlo de referencia, jiji!!! no me copio..... gracias
Athelorn  
#27 Publicado : viernes, 14 de diciembre de 2012 1:19:59(UTC)
Athelorn

Posición: Newbie

Grupos: Registered
Registrado: 14/12/2012(UTC)
Mensajes: 6
Ubicación: Granada

Agradecimientos: 1 veces
Hola.

Me uno a la legión de los que llevamos la vida entera haciendo el master y no hay narices de terminarlo.

Estoy ya llegando al proyecto final, aun me quedan algunos temillas pero creo que pronto llegaré. El caso es que no creo que me de tiempo ni de coña a terminar, pero me parece interesante este tema y tratare de estar atento a ver si puedo enterarme de como hacerlo.

Un saludo y ánimo a todos.

Sandro
Joserron  
#28 Publicado : miércoles, 16 de enero de 2013 23:45:53(UTC)
Joserron

Posición: Member

Grupos: Moderador, Registered
Registrado: 04/01/2013(UTC)
Mensajes: 21
Hombre
Ubicación: España

Fue agradecido: 4 vez/veces in 4 publicación(es).
Buenas, uno más que se une.
Estoy con el Proyecto Final y antes de nada, gracias por colgar tu proyecto porque es la luz que me guía en estos días...
A ver, no paraba de fallarme el onActivityForResult y he cambiado la manera de hacer el Resize de las imágenes.

No hay problema al crear y editar lugares con una imagen desde la galería. Pero cuando digo de usar la cámara... ahí viene el problema. No consigo guardar la imagen capturada.
No sé qué variable es la que tengo que llamar para que me de la ruta de la imágen:

En este método veo que se crea la la ruta y se pasa al onActivityForResult. Imagino que el String foto_path es el que guarda la ruta.
¿Cómo la obtengo desde el onActivityForResult?

private synchronized void fotoCamara() {

Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyyMMdd_kkmmss");
String newPicFile = "CafeBar_" + df.format(date) + ".png";

// Creo el directoio para guardar las fotos
File dir = new File(Environment.getExternalStorageDirectory()
+ "/.Reforest/");

// si el direcctorio no existe, lo creo
if (!dir.exists()) {
System.out.println("creando directorio: " + "CafeBar");
dir.mkdir();
}

File file = new File(dir, newPicFile);
foto_path = file.getPath();
outputFileUri = Uri.fromFile(file);

Log.e("FOTOS_CAMARA", "" + foto_path);

// Inicio un Intent del sistema para iniciar la CAMARA
Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri );
startActivityForResult(intent, CAMARA);
}
admin  
#29 Publicado : jueves, 17 de enero de 2013 0:16:38(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
Buenasssss

Toda esta parte del proyecto es la "mas complicada" voy a intentar explicarlo!

A ver, todo comienza con:

Código:

// Inicio un Intent del sistema para iniciar la CAMARA
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, CAMARA);


Con las 3 lineas de arriba configuramos el intent para iniciar la CAMARA, este intent es un intent preconfigurado por Android, es decir, usamos el inferface ya creado (asi nos ahorramos codigo) si te fijas en la segunda linea le decimos donde queremos guardar la imagen que nos devuelva la camara. Por ultimo la tercera linea iniciamos el activityForResult indicando como parametro la variable CAMARA que no es mas que una variable Int que usaremos para identificar luego en el propio OnActivityResut de donde nos viene este intent, ya que este metodo lo llamaremos desde 2 sitios distintos (camara o galeria) y necesitamos diferenciarlos.

si ahora vamos al metodo OnActivityResult:

Código:

public synchronized void onActivityResult(int requestCode, int resultCode,
			Intent data) {
		if (resultCode == Activity.RESULT_OK) {

			// Tamaño que queremos que tenga la imagen guardada
			int scaleWidth = 400, scaleHeigth = 300;

			// Nombre de archivo donde guardaremos la imagen que indexaremos en
			// la BB.DD.
			String image_name = android.text.format.DateFormat.format(
					"yyyyMMdd_kkmmss", new java.util.Date()).toString();

			// Creo el directoio para guardar las fotos
			File dir = new File(Environment.getExternalStorageDirectory()
					+ "/.ReForest/");

			// si el direcctorio no existe, lo creo
			if (!dir.exists()) {
				System.out.println("creando directorio: " + "ReForest");
				dir.mkdir();
			}

			// Ruta completa a la imagen
			File file = new File(dir, "ReForest_" + image_name + ".png");

			OutputStream outStream = null;

			try {
				// Abrimos el flujo de datos a la ruta de la imagen
				outStream = new FileOutputStream(file);
			} catch (FileNotFoundException e1) {
				e1.printStackTrace();
			}

			switch (requestCode) {

			case CAMARA:

				Bitmap thumbnail = null;

				try {
					thumbnail = MediaStore.Images.Media.getBitmap(
							getContentResolver(), outputFileUri);
				} catch (Exception ex) {
					ex.printStackTrace();
				}

				// Redimensionamos la imagen
				Bitmap resized = Bitmap.createScaledBitmap(thumbnail,
						scaleWidth, scaleHeigth, true);

				// Guardamos la imagen en formato PNG
				resized.compress(Bitmap.CompressFormat.PNG, 100, outStream);

				try {
					outStream.flush();
					outStream.close();
				} catch (Exception ex) {

				}

				// Borramos la foto de gran tamaño
				if (outputFileUri != null) {
					File image = new File(outputFileUri.getPath());
					image.delete();
				}

				// Mostramos la imagen en el ImageView del Layout
				foto_path = file.getPath();
				foto.setImageBitmap(resized);
				break;

			case GALERIA:

				Uri selectedImageUri = data.getData();

				Bitmap bitmap = null;

				// Localizamos la imagen seleccionada
				try {
					bitmap = MediaStore.Images.Media.getBitmap(
							this.getContentResolver(), selectedImageUri);
				} catch (Exception e) {
					e.printStackTrace();
				}

				// Redimensionamos la imagen
				Bitmap resized_galeria = Bitmap.createScaledBitmap(bitmap,
						scaleWidth, scaleHeigth, true);

				// Guardamos la imagen en PNG
				resized_galeria.compress(Bitmap.CompressFormat.PNG, 100,
						outStream);

				try {
					outStream.flush();
					outStream.close();
				} catch (Exception ex) {

				}

				// Asignamos la imagen al ImageView
				foto_path = file.getPath();
				foto.setImageBitmap(resized_galeria);
				break;
			}
		}
	}


Si analizamos esta parte, ves un parametro que es RequestCode que no es mas que el parametro que pasamos en cada caso (camara o galeria) para filtrar las acciones que vamos a hacer en cada caso, fijate que acontiniacion hay un switch que filtra esto.

Por lo demas, se usan variables globales para facilitar el acceso a estas, y en cada metodo uso la opcion synchronized para que todos los metodos se esperen a que se actualicen las variables, ya que como estas se dan valores desde varios metodos, necesitamos sincronizarlas entre ellas.

Bueno, espero haberte serbido de ayuda!

Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
miguel290681  
#30 Publicado : viernes, 18 de enero de 2013 11:53:30(UTC)
miguel290681

Posición: Member

Grupos: Registered
Registrado: 12/12/2012(UTC)
Mensajes: 11
Ubicación: granada

Agradecimientos: 1 veces
Estoy en el ejercicio final y el paquete base no corresponde con la configuracion de las clases y da error, y ahora no se como arreglarlo, y el codigo de los mapas no se como ponerlo para que use los de google, por favor alguien me puede ayudar.

Gracias
admin  
#31 Publicado : viernes, 18 de enero de 2013 23:16:40(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
Buenas Miguel!

Precisamente ahora estoy subiendo la leccion de como pedir un API Key para google Maps v2 (la v1 a quedado obsoleta desde diciembre de 2012...)

http://www.aprendeandroid.com/l6/keyMaps.htm

http://www.aprendeandroid.com/l6/addMaps1.htm

Explico como hacerlo en los links de arriba!

En unos dias subire la ultima parte!

¿que quieres decir con lo de que el paquete no corresponde?

Un saludo y animo!
Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
thanks 1 usuario agradecido admin por esta útil publicación.
miguel290681 en 19/01/2013(UTC)
miguel290681  
#32 Publicado : sábado, 19 de enero de 2013 15:58:10(UTC)
miguel290681

Posición: Member

Grupos: Registered
Registrado: 12/12/2012(UTC)
Mensajes: 11
Ubicación: granada

Agradecimientos: 1 veces
muchisimas gracias por tu aporte y ayuda, ya estamos en eyo, lo del paquete de la base de datos, mal explicao x mi parte, me refiere que me falla la base de datos y ahora no se como arreglarla.

saludos y gracias de nuevo
admin  
#33 Publicado : domingo, 20 de enero de 2013 1:00:08(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
Ok no problem!

Sobre bases de datos, no se si le has echado un ojo a estas lecciones, quizas te ayuden!! ;P

http://www.aprendeandroid.com/l5/sql1.htm

http://www.aprendeandroid.com/l5/sql2.htm

http://www.aprendeandroid.com/l5/sql3.htm

Hechales un ojo y nos cuentas!! animo!!
Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
Xamako  
#34 Publicado : domingo, 20 de enero de 2013 19:56:20(UTC)
Xamako

Posición: Newbie

Grupos: Registered
Registrado: 20/01/2013(UTC)
Mensajes: 3
Ubicación: xamako

ftg81 escribió:
Hola, tengo una duda, en el código pusiste cuando muevo el mapa al levantar el click de la pantalla me salta siempre si para crear un lugar, en cambio me he bajado la aplicación que tienes subida en la store y no pasa eso, no consigo encontrar cuál es el problema a ver si pudieses ayudarme.


Hola, me pasa lo mismo que a ftg81. He reciclado esta parte de código y llevo rato intentando arreglar esto que comenta, pero no encuentro la forma. Hay alguna solución sabida para este asunto.

Muchas gracias!
admin  
#35 Publicado : lunes, 21 de enero de 2013 1:29:52(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
Buenas, te respondo lo que le respondi en su momento a ftg81

El tema esta en la clase MapaLugaresActivity, hay un metodo que se llama OnTouchEvent... alli hay un fragmento:


Código:

case MotionEvent.ACTION_MOVE:

    // Si nos movemos menos de 1.0 pixeles iniciaremos la actividad
    if (!mapMoved) {
            if (event.getHistorySize() > 0) {
                if ((Math.abs(event.getX() - event.getHistoricalX(0)) > 1.0)
                || (Math.abs(event.getY()- event.getHistoricalY(0)) > 1.0)) {
                 mapMoved = true;
                }
                }
            }
    break;





Basicamente lo que hacen las lineas de arriba, es que si movemos el mapa mas de 1.0 pixeles de forma absoluta en el eje X o Y tomara el movimiento como que movemos el mapa, y si nos movemos menos tomara el movimiento como un tick y creara un nuevo punto.

Puedes hacer pruebas, pero en la version del GooglePlay esta a 1.0 pixel tambien!

Saludos!!

Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
Xamako  
#36 Publicado : lunes, 21 de enero de 2013 9:54:52(UTC)
Xamako

Posición: Newbie

Grupos: Registered
Registrado: 20/01/2013(UTC)
Mensajes: 3
Ubicación: xamako

admin escribió:
Buenas, te respondo lo que le respondi en su momento a ftg81

El tema esta en la clase MapaLugaresActivity, hay un metodo que se llama OnTouchEvent... alli hay un fragmento:


Código:

case MotionEvent.ACTION_MOVE:

    // Si nos movemos menos de 1.0 pixeles iniciaremos la actividad
    if (!mapMoved) {
            if (event.getHistorySize() > 0) {
                if ((Math.abs(event.getX() - event.getHistoricalX(0)) > 1.0)
                || (Math.abs(event.getY()- event.getHistoricalY(0)) > 1.0)) {
                 mapMoved = true;
                }
                }
            }
    break;





Basicamente lo que hacen las lineas de arriba, es que si movemos el mapa mas de 1.0 pixeles de forma absoluta en el eje X o Y tomara el movimiento como que movemos el mapa, y si nos movemos menos tomara el movimiento como un tick y creara un nuevo punto.

Puedes hacer pruebas, pero en la version del GooglePlay esta a 1.0 pixel tambien!

Saludos!!



Gracias, ya vi esa respuesta pero el caso es que pasa eso. En modo depuración lo que veo es que accede 4 veces al evento (dos veces corresponden al ACTION_DOWN y otras dos al ACTION_UP), cuando sólo hago una pulsación con el dedo. Si lo que hago es un desplazamiento, entra hasta 10 veces en el evento. Creo que el problema tiene que ver con las variables mapMoved y tappedItem, que al entrar tantas veces en el evento pierden su cometido.
Bueno, buscaré otra alternativa para solucionar esta incidencia y si encuentro algo interesante ya os cuento.

Muchas gracias de nuevo
miguel290681  
#37 Publicado : martes, 22 de enero de 2013 10:54:00(UTC)
miguel290681

Posición: Member

Grupos: Registered
Registrado: 12/12/2012(UTC)
Mensajes: 11
Ubicación: granada

Agradecimientos: 1 veces
hola buenas te sigo dando las gracias por toda tu ayuda, no esta viniendo a todos muy bien. tengo otro poblemilla en este texto
me falla R.id............... y no se que pasa aki ni como arreglarlo.

Muchas gracias de nuevo,saludos.




// Asignacion de elementos del Layout
nombre = (TextView) findViewById(R.id.nombre);
descripcion = (TextView) findViewById(R.id.descripcion);
foto = (ImageView) findViewById(R.id.foto);
TextView lat = (TextView) findViewById(R.id.lat);
TextView lon = (TextView) findViewById(R.id.lon);
TextView tFecha = (TextView) findViewById(R.id.fecha);
admin  
#38 Publicado : martes, 22 de enero de 2013 14:23:59(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
Hola Miguel,

No se exactamente a lo que te refieres, pero el código que pones aqui es donde se localizan los controles dentro del Layout. Si tienes un rpoblema aqui, revisa que tengas el elemento que intentas localizar en el Layout 8fichero.xml dentro de res/layout)

Tambien revisa los imports si tienes alguna referencia a R y borrala (a veces cuando copias elementos de otros proyectos se añade aqui automaticamente una linea que hace referencia al otro proyecto.

Tambien puedes cerrar y abrir el eclipse, a veces se le va la pinza y despues de reiniciar donde habian fallos se solucionan.

Espero haberte ayudado!

Un saludo!
Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
miguel290681  
#39 Publicado : miércoles, 23 de enero de 2013 11:51:14(UTC)
miguel290681

Posición: Member

Grupos: Registered
Registrado: 12/12/2012(UTC)
Mensajes: 11
Ubicación: granada

Agradecimientos: 1 veces
tengo errores aqui, en mapalugaresactivity, y no consigo arreglar la situacion, ayudarme si es posible.
referente a tu respuesta anterior lo pude solucionar, hgracias




package es.epinanab.repoblar;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MostrarLugarActivity extends Activity {

private static final TextView lat = null;
private static final TextView lon = null;
// private Context context;
private String datos;
String nombre_db, descripcion_db, foto_db, lat_db, lon_db, id, fecha;
ImageView foto;
TextView nombre;
TextView descripcion;
boolean cambios_si;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); // para quitar el titulo
Object R;
setContentView(R.layout.mostrar);

cambios_si = false;



// Coger Variables del intent
datos = getIntent().getStringExtra("datos");
String[] datalist = datos.split(";");
nombre_db = datalist[0];
descripcion_db = datalist[1];
foto_db = datalist[2];
lat_db = datalist[3];
lon_db = datalist[4];
id = datalist[5];
fecha = datalist[6];

// ASIGNACION DE TEXTOS EN EL FORMULARIO
nombre.setText(nombre_db);
descripcion.setText(descripcion_db);
lat.setText(lat_db);
lon.setText(lon_db);
fecha.setText(fecha);
// Asignamos una foto por defecto si no la hay en la BD
if (foto_db.equals("")) {
foto.setImageResource(R.drawable.no_photo3);
} else {
poner_foto(foto_db);
}

// inicializo los botones
Button editar = (Button) findViewById(R.id.edit);
Button cerrar = (Button) findViewById(R.id.cerrar);

cerrar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// dialog.dismiss();
vuelve_mapa();
}
});

editar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setAction("editar");
i.putExtra("lat", lat_db);
i.putExtra("lon", lon_db);
i.putExtra("nombre", nombre_db);
i.putExtra("descripcion", descripcion_db);
i.putExtra("foto", foto_db);
i.putExtra("id", id);
i.putExtra("fecha", fecha);
i.setClass(MostrarLugarActivity.this, EditarLugarActivity.class);

startActivityForResult(i, 1);
// finish();
}
});
}

// Metodo para poner la foto en el ImageView desde la BD
public void poner_foto(String foto_path) {
// Genero el fichero de la foto
File file = new File(foto_path);
Uri fotoUri = Uri.fromFile(file);

Bitmap bm;
try {

bm = MediaStore.Images.Media.getBitmap(getContentResolver(),
fotoUri);
foto.setImageBitmap(bm);

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

protected void vuelve_mapa() {
Intent data = new Intent();
data.putExtra("resultado", "texto devuelto");
if (cambios_si) {
setResult(RESULT_OK, data);
} else {
setResult(RESULT_CANCELED, data);
}
finish();
}

// Proceso que se lanza al volver de la ventana de edicion
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if ((requestCode == 1) && (resultCode == RESULT_OK)) {
Bundle extras = data.getExtras();

String type = extras.getString("accion");

if (type.equalsIgnoreCase("borrar")) {

// Si hemos eliminado el lugar hay que finalizar el mostrar y
// recargar la DB
cambios_si = true;
vuelve_mapa();

} else if (type.equalsIgnoreCase("editar")) {

// Si hemos actualizado el punto es necesario recargar los datos
// en el Layout
String ruta_foto = extras.getString("foto");
cambios_si = true;

nombre.setText(extras.getString("nombre"));
descripcion.setText(extras.getString("descripcion"));

// Asignamos una foto por defecto si no la hay en la BD
if (ruta_foto.equals("")) {
foto.setImageResource(R.drawable.no_photo3);
} else {
poner_foto(ruta_foto);
}
}
}
};

public String lee_db(BaseDeDatos db1, int id) {

String dfoto = "";
SQLiteDatabase db = db1.getWritableDatabase();

Cursor c = db
.rawQuery(
" SELECT lat, lon, nombre, descripcion, foto, _ID FROM lugares",
null);
try {

if (c.moveToFirst()) {

do {

double vlat = c.getDouble(0);
double vlon = c.getDouble(1);
String dnombre = c.getString(2);
String ddescripcion = c.getString(3);
dfoto = c.getString(4);
int did = c.getInt(5);

} while (c.moveToNext());
}
} catch (Exception ex) {
Log.e("Base de Batos", "Error al leer la base de datos");
}

db.close();

return dfoto;
}


//Metodo que llama el OnClick de la Imagen
public void abre_foto(View view) {

//Llamamos al metodo para abrir la foto.
ver_foto(foto_db);

}

public void ver_foto(String ruta) {

if (ruta.equals("")) {
Toast.makeText(MostrarLugarActivity.this, "No hay foto",
Toast.LENGTH_SHORT).show();
} else {
File file = new File(ruta);
//Uri fotoUri = Uri.fromFile(file);
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(file), "image/*");
this.startActivity(i);
}
}

public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.

return true;
}
return super.onKeyDown(keyCode, event);
}

}
admin  
#40 Publicado : miércoles, 23 de enero de 2013 12:27:15(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
Buenas Miguel,

Asi es bastante dificil ver el fallo... te recomiendo que le heches un ojo a esta leccion especialmente:

http://www.aprendeandroid.com/l1/uso3.htm

En los video tutoriales creo que en el ultimo tambien explico algo (4 de 4)

http://www.aprendeandroid.com/l1/videotutorial.htm

Veo que le has cambiado el nombre al paquete es.epinanab.repoblar esto si no tienes experiencia en esto... da muchos problemas! hay que cambiarlo tambien en el manifest.xml

Pon mas informacion sobre el problema, incluso mejor puedes habrir un nuevo hilo para eso!

Ya nos contaras!! suerte!!
Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
Usuarios navegando este tema
Guest (17)
5 Páginas<1234>»
Salto de foro  
No puedes iniciar nuevos temas en este foro.
No puedes responder a temas en este foro.
No puedes eliminar sus temas en este foro.
No puedes editar sus temas en este foro.
No puedes crear encuestas en este foro.
No puedes votar las encuestas en este foro.