ButterFlyDevs / BrainStudio

Repositorio de la segunda aplicación móvil para Programación de Dispositivos Móviles
GNU General Public License v2.0
2 stars 0 forks source link

Decidir forma de usar el ranking. #25

Closed juanAFernandez closed 9 years ago

juanAFernandez commented 9 years ago

En IVChecker el jugador subía su puntuación al ranking si quería, a modo de máquina recreativa que al final del juego te pregunta si quieres guardar tu puntuación y pones tus iniciales. Ahora se presenta una duda y es que tal y como está planteada esta Brain Studio, y para que los jugadores siempre se sientan en competición, en la pantalla principal aparece una posición en el ranking que cada vez que entramos en esa pantalla se calcula, ahora bien, para que cada subida de puntuación no suponga una nueva entrada en la base de datos sino una actualización del dato debemos poder indentificar de forma unívoca a los usuarios en la BD en elephantDB y mediante el identificador actualizar el valor de su puntuación con el fin de evitar entradas duplicadas. Ahora bien, que número usar y cómo es la cuestión. Una idea podría ser usar el número MEI del dispositivo, que no se lo complejo que será de acceder pero si fuera sencillo nos serviría, ahorrándonos tener que buscar servicios externos.

JA-Gonz commented 9 years ago

http://stackoverflow.com/questions/6394238/retrieve-the-number-and-imei-of-the-mobile-phone

En esa duda, podemos ver como conseguir el IMEI y el número de teléfono, aunque parece que en el manifiesto hay que añadir que la app debe tener permisos para consultar el estado del teléfono.

Propongo que en lugar del IMEI, usemos el número de teléfono, más que nada por que el número sirve para identificar al usuario, el teléfono no tiene por qué (que aquí todos hemos tenido más de un teléfono jejeje). Además internamente para la BD seguro que agradece más trabajar con un número de 9 cifras que con un chorizo de dios sabe cuanto.

Básicamente, lo que yo quiero hacr, es que cuando acaba el juego (a la vez que se desbloquean las medallas etc.), abra un cuadro de diálogo diciendo si quiere subir su puntuación al ranking.

juanAFernandez commented 9 years ago

Decidido que va a ser usado el número de teléfono, vamos a buscar la forma de obtenerlo, también el IMEI. Let's find it!

juanAFernandez commented 9 years ago

Para obtener el identificador del teléfono:

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
        System.out.println("ID telefono"+telephonyManager.getDeviceId());

devuelve 9 dígitos , y es necesario habilitar permisos en el manifest:

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