responde porque las imagenes hoy funciona celular cayo carga aplicaciones aplicacion abre android android-activity startup

porque - ¿Puedo ejecutar una actividad de Android solo la primera vez que se abre una aplicación?



twitter no funciona 2018 (5)

OK, entonces estoy jugando con una aplicación de Android.

El caso de uso del 90% es que los usuarios desean ir directamente a la pantalla de la lista principal para encontrar lo que están buscando. Eso es lo que quiero como mi pantalla predeterminada.

Sin embargo, la primera vez que un usuario carga la aplicación, se requiere alguna configuración antes de que su pantalla de lista tenga algún valor para ellos.

Entonces mi pregunta es cómo puedo mostrar la actividad de configuración la primera vez que se abre la aplicación, y luego la pantalla de lista para futuras aperturas.

También quiero poner un botón de demostración en la pantalla de configuración, así que supongo que más que solo detectar que es la primera vez, específicamente quiero detectar si el usuario ha realizado ciertas configuraciones dentro de la primera pantalla.


¿Cómo va a almacenar la configuración?

Si está en SQLlite, puedes simplemente crear una tabla llamada firstuse y poner un campo allí llamado llamado hasbeenused y hacer que sea nulo. Luego, cuando se utiliza la aplicación, puede poner un 1 allí. Luego puede leerlo cada vez que su aplicación se carga y si ese campo = 1 luego ir a su siguiente actividad.


me gusta el método de dweebsonduty una forma similar de hacer esto es guardar su información de configuración en archivos en la tarjeta SD. su aplicación podría comenzar comprobando esos archivos y cargando la información. si la carga es exitosa, pasa a la siguiente actividad, si no inicia la actividad apropiada para solicitar la entrada del usuario.

He hecho lo mismo, pero en lugar de cambiar las actividades, simplemente cambio de vista hasta que tenga toda la información que necesito, y luego continúo.


De hecho, muchas aplicaciones almacenan la versión actual en SharedPreferences y comprueban si hay una actualización instalada. Es una forma ingeniosa de lograr una ventana emergente de "lo que ha cambiado" o asegurarse de que se establezcan algunas configuraciones (no me gustaría tener una bandera booleana porque si alguna vez quieres agregar una configuración adicional, necesitarás una segunda bandera y se vuelve desordenado después del tercero, etc.).


Después de la primera vez que el usuario cargó la aplicación, puede almacenar los detalles de si el usuario ha realizado las configuraciones en SharedPreferences.

protected void storeSharedPrefs(String value) { /* * Storing in Shared Preferences */ editor.putString("first", value); editor.commit(); //Commiting changes }

Compruebe que cada aplicación a tiempo esté cargada, ya sea la primera vez y los detalles de la configuración se hayan ingresado correctamente al marcar SharedPreferences

private boolean first_time_check() { /* * Checking Shared Preferences if the user had pressed * the remember me button last time he logged in * */ String first = uPreferences.getString("first", null); if((first == null)){ return false; } else return true; }


String VersionValue = "v.1.0"; Cadena final PREFS_NAME = "MyPrefsFile";

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); if (settings.getBoolean(VersionValue, true)) { //the app is being launched for first time, do something NewDialogFragment newFragment = new NewDialogFragment(); newFragment.show(getFragmentManager(), "New"); // record the fact that the app has been started at least once settings.edit().putBoolean(VersionValue, false).commit(); }

Podrías hacerlo de esta manera y seguir obteniendo el mismo resultado. Lo intenté, es una pequeña solución si no entiendes completamente cómo verificar si la aplicación está actualizada. En cambio, con este código simplemente puede cambiar String VersoinValue a su versión actual de la aplicación y Android pensará que la aplicación es una nueva aplicación nueva y solo mostrará el código que escribió una vez hasta que modifique VersionValue en su próxima actualización. (: