Ver la Versión Completa : [ SOLUCIONADO ] Aplicación no funciona en S3 y S4
Buenas tardes, hace un tiempo que me dedico a hacer aplicaciones para ANdroid en mi ratos libres. El otro día un familiar me encargo una especie de calendario escolar. El caso es que la he probado en un Samsung Galaxy S3 mini (Android 4.1.2), en una Tablet Nexus (Android 4.3), y en el emulador de ADT (Android 2.2) y funciona perfectamente, pero hay dos personas que lo han probado en un Samsung Galaxy S3 y en un S4, y no se les abre la aplicación, se les detiene. ¿Alguien sabe a que se puede deber...?
Muchas gracias de antemano ;)
PD: La aplicación -> http://epdpf.vv.si/API/GestionCursos1.8.apk (PSW= admin)
kriogeN
29/10/13, 18:50:47
Probado en mi S4, me da este error:
E/AndroidRuntime(27015): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gestioncursos/com.example.gestioncursos.Admin}: android.view.InflateException: Binary XML file line #133: Error inflating class <unknown>
Viendo el error que es, y viendo que te funciona en otros móviles, lo más probable es que tengas varios directorios "layout", y el que más se ajusta al S3 y S4 tengas algún error.
Tanto como saber programar es saber depurar, busca tutoriales de LogCat.
Probado en mi S4, me da este error:
E/AndroidRuntime(27015): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gestioncursos/com.example.gestioncursos.Admin}: android.view.InflateException: Binary XML file line #133: Error inflating class <unknown>
Viendo el error que es, y viendo que te funciona en otros móviles, lo más probable es que tengas varios directorios "layout", y el que más se ajusta al S3 y S4 tengas algún error.
Tanto como saber programar es saber depurar, busca tutoriales de LogCat.
Muchas gracias por responder compi. Pero sólo tengo una carpeta para los layaout. Seguiré investigando a ver.
kriogeN
29/10/13, 18:57:40
En ese caso tendrás varios Drawable, y en el que más se ajusta al S4 tendrás algo diferente al resto. Si no es eso ya que si que no tengo ni idea de que puede ser, porque dudo mucho que sea por distintos Style, aunque todo es posible.
En ese caso tendrás varios Drawable, y en el que más se ajusta al S4 tendrás algo diferente al resto. Si no es eso ya que si que no tengo ni idea de que puede ser, porque dudo mucho que sea por distintos Style, aunque todo es posible.
Investigaré a ver de que es. Gracias por avisarme del error porque en mi LogCat no daba ninguno ;)
En ese caso tendrás varios Drawable, y en el que más se ajusta al S4 tendrás algo diferente al resto. Si no es eso ya que si que no tengo ni idea de que puede ser, porque dudo mucho que sea por distintos Style, aunque todo es posible.
Creo que el problema estaba en los Drawable como bien apuntabas, ya que había varias carpetas y sólo usaba una. He quitado todas las carpetas y he dejado sólo una. Si puedes probar ahora a ver si funciona te lo agradecería :)
http://epdpf.vv.si/API/GestionCursos1.9.apk (PSW= admin)
Este es el layout del activity Admin, en la linea 133 que es donde te dice a ti que esta el error sólo hay un botón...
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbars="vertical">
<ScrollView android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFF8DC">
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/texcursoacademico"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cursoacademico"
android:textColor="#000099"
android:textSize="20sp"
android:gravity="center"
android:shadowColor="#888888"
android:shadowRadius="1.5"
android:shadowDx="1"
android:shadowDy="2"
android:textStyle="bold"
android:typeface="sans"
android:layout_marginTop="10dp"/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<Button
android:id="@+id/btnvertodo"
android:text="@string/VerCalen"
android:onClick="btn_vertodo"
android:layout_marginTop="10dp"/>
</TableRow>
<TableRow
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dp" >
<Button
android:id="@+id/btnsept"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/septiembre"
android:onClick="btn_sept"
/>
<Button
android:id="@+id/btnoct"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/octubre"
android:onClick="btn_oct"/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dp" >
<Button
android:id="@+id/btnnov"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/noviembre"
android:onClick="btn_nov"/>
<Button
android:id="@+id/btndic"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/diciembre"
android:onClick="btn_dic" />
</TableRow>
<TableRow android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dp" >
<Button
android:id="@+id/btnene"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/enero"
android:onClick="btn_ene" />
<Button
android:id="@+id/btnfeb"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/febrero"
android:onClick="btn_feb"/>
</TableRow>
<TableRow android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dp" >
<Button
android:id="@+id/btnmar"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/marzo"
android:onClick="btn_mar"/>
<Button
android:id="@+id/btnabr"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/abril"
android:onClick="btn_abr"/>
</TableRow>
<TableRow android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dp" >
<Button
android:id="@+id/btnmay"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/mayo"
android:onClick="btn_may"/>
<Button
android:id="@+id/btnjun"
android:layout_width="400dp"
android:layout_height="100dp"
android:background="@drawable/junio"
android:onClick="btn_jun" />
</TableRow>
</TableLayout>
</ScrollView>
</HorizontalScrollView>
kriogeN
29/10/13, 21:03:07
Me dice lo mismo
Me dice lo mismo
Pues no se entonces donde estará el fallo, me estoy volviendo loco buscándolo :(
He vuelto a programar desde cero la aplicación de nuevo, aquí os la dejo. A ver si ya funciona en los S3 o S4 o sigue dando el mismo problema...
http://epdpf.vv.si/API/CalendarioAcademico.apk
PD: Sabéis donde puedo conseguir un emulador del S3 o S4..., vamos es decir que me digáis la configuración para el AVD y así poder probarlo en mi pc...jeje
kriogeN
10/11/13, 15:38:02
He vuelto a programar desde cero la aplicación de nuevo, aquí os la dejo. A ver si ya funciona en los S3 o S4 o sigue dando el mismo problema...
http://epdpf.vv.si/API/CalendarioAcademico.apk
PD: Sabéis donde puedo conseguir un emulador del S3 o S4..., vamos es decir que me digáis la configuración para el AVD y así poder probarlo en mi pc...jeje
Lo único que puedes varias con el AVD son las resoluciones de las pantallas y sus tamaños. Y por supuesto la versión de Android.
Pero siempre será un Android AOSP. Siempre habrá fallos específicos de algunos terminales que no podrás emular.
Por ejemplo, el viernes hice un texto con marquesina en un ActionBar. Funcionaba en todos lo móviles donde lo probaba menos en el S4, al final era porque estaba poniendo en el código un setMaxLines(1) y en el XML un android:singleLine="true". Para que funcione la marquesina en todos sitios dicen que hay que usar el singleLine, pero en el caso del S4 al usar el setMaxLines invalidaba al singleLine, mientras que en el resto de móviles no.
Lo único que puedes varias con el AVD son las resoluciones de las pantallas y sus tamaños. Y por supuesto la versión de Android.
Pero siempre será un Android AOSP. Siempre habrá fallos específicos de algunos terminales que no podrás emular.
Por ejemplo, el viernes hice un texto con marquesina en un ActionBar. Funcionaba en todos lo móviles donde lo probaba menos en el S4, al final era porque estaba poniendo en el código un setMaxLines(1) y en el XML un android:singleLine="true". Para que funcione la marquesina en todos sitios dicen que hay que usar el singleLine, pero en el caso del S4 al usar el setMaxLines invalidaba al singleLine, mientras que en el resto de móviles no.
Muchas gracias por responder :) Seguiré investigando a ver, eso si a ver si me pillo a algún conocido que me deje su S3 o S4, para que me ayude a testear bien la aplicación ;)
Al final conseguí solucionar el problema, redimensione las imágenes en vez de poner el tamaño en el layout y ya funciona ;)
http://epdpf.vv.si/API/CalendarioAcademico.apk
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.