¿ minSDK de AsyncTask ?

瀏覽次數:58 次
跳到第一則未讀訊息

Miguel Martín

未讀,
2014年2月12日 凌晨12:21:342014/2/12
收件者:desarrollad...@googlegroups.com
Hola, ¿ sabeis el minSDK necesario para utilizar asynctasks ?, ¿ puede ser la 3.0 ? ¿ ningún truco para poder utilizarlas con Froyo ?

Juan de Dios Maldonado Sánchez

未讀,
2014年2月12日 凌晨1:31:542014/2/12
收件者:desarrollad...@googlegroups.com
Mira la documentación:


Te dicen cuando se añadió cierta clase o ciertos métodos con un texto similar a "Added in API level X", donde X es un número.


2014-02-12 6:21 GMT+01:00 Miguel Martín <joyst...@gmail.com>:
Hola, ¿ sabeis el minSDK necesario para utilizar asynctasks ?, ¿ puede ser la 3.0 ? ¿ ningún truco para poder utilizarlas con Froyo ?

--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.
Para ver este debate en la Web, visita https://groups.google.com/d/msgid/desarrolladores-android/dd9a49b4-ac3d-4ce6-81ef-6db387ad07fc%40googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Gabriel Pozo

未讀,
2014年2月12日 清晨7:39:452014/2/12
收件者:desarrollad...@googlegroups.com
La respuesta de Juan es perfecta, ahora me llama la atención la pregunta """¿ ningún truco para poder utilizarlas con Froyo ?""" a que se debe?



Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Miguel Martín

未讀,
2014年2月12日 下午2:53:322014/2/12
收件者:desarrollad...@googlegroups.com
Pues según la documentación se añadió a partir de la 3, cupkape, ¿ entonces de la 3 en adelante no tendría que dar problemas no ?

Yo el problema que tengo es que cuando ejecuto mi app en el emulador de Genimotion con android 2.3.7, en la linea de código donde instancio el asynctask,  la app tiene un cierre devolviendome el siguiente error:

FATAL EXCEPTION: main java.lang.VerifyError
 
La linea donde falla es:

Adescargar MiDescarga = new Adescargar();

Adescargar la tengo definida como una clase que desciende de Asynctask:


class Adescargar extends AsyncTask<Void,Integer,Boolean> { ......


Pero lo extraño es que este error sólo me ocurre con en el emulador, si ejecuto la app en mi movil que tiene 4.3 no da error alguno, estuve anoche mirando la documentación pero no veia la api mínima y no se por donde me hice la idea que que necesitaba honeycomb como mínimo (las cosas de tener el ingles tan bajo), ahora que me habéis indicado el minimo sdk ya no se porque peta al instanciar el asynctask... 

En modo debug le he colocado breakpoints en todas las lineas del asynctask para ver si fallaba al instanciarlo dentro de alguna linea pero no veo que pare que ejecute nada, simplemente da el force close

Acabo de probarlo con el emulador del sdk de android, con 2.3 y me da el mismo error en la misma linea...

Voy a tirar un poco e google a ver si veo de que es ese error exactamente....

Gabriel Pozo

未讀,
2014年2月12日 下午3:14:272014/2/12
收件者:desarrollad...@googlegroups.com


--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.

Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Miguel Martín

未讀,
2014年2月12日 晚上7:48:502014/2/12
收件者:desarrollad...@googlegroups.com
Algo así había leído que es un bug del adt 22 pero yo estoy con Android Studio, que no usa adt ¿ no ?

Acabo de actualizar el sdk voy a ver si casca ahora también...

Si, con el emulador de Genymotion con 2.3.7 casca, voy a probar con el del sdk que es un 2.2 de api 8... Nada, vuelve a cerrarse con error, exactamente en la misma linea con el mismo error:

308-308/es.miapp.sala E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.VerifyError: es.miapp.sala.MainActivity$Adescargar
            at es.miapp.sala.MainActivity.ActualizaFiestas(MainActivity.java:290)
            at es.miapp.sala.MainActivity.onClick(MainActivity.java:210)
            at android.view.View.performClick(View.java:2408)

La linea exacta sigue siendo la misma, la instancia del asynctask, con los breakpoints no veo que ejecute nada pasado esa linea

Adescargar MiDescarga = new Adescargar();

Mañana lo probaré en un dispositivo real con froyo a ver que ocurre...









El miércoles, 12 de febrero de 2014 06:21:34 UTC+1, Miguel Martín escribió:

Juan de Dios Maldonado Sánchez

未讀,
2014年2月13日 凌晨3:34:332014/2/13
收件者:desarrollad...@googlegroups.com
Yo de ti probaría con un dispositivo real o con el emulador oficial.


--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.

Miguel Martín

未讀,
2014年2月13日 上午8:37:222014/2/13
收件者:desarrollad...@googlegroups.com
Acabo de probarlo en un terminal real con 2.2.2 y tengo el mismo error en la misma linea, y cuando me refería al amulador del SDK me refería al original, también me da el mismo fallo en la misma linea si.




El miércoles, 12 de febrero de 2014 06:21:34 UTC+1, Miguel Martín escribió:

Juan de Dios Maldonado Sánchez

未讀,
2014年2月13日 上午8:52:302014/2/13
收件者:desarrollad...@googlegroups.com

Entonces intenta compilarlo con el mismo SDK que la versión de Android que te da problemas. Si no compila, te aparecerá directamente una descripción de lo que estás haciendo mal.

--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.

Miguel Martín

未讀,
2014年2月13日 上午9:29:512014/2/13
收件者:desarrollad...@googlegroups.com
Pues como aún estoy aprendiendo tengo que preguntar donde se cambia, creo que es desde el build.gradle en:

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 5
        versionName "Beta 1"
    }


Si pruebo a cambiarlo por:

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 5
        versionName "Beta 1"
    }


Y pruebo  compilar, compila sin error alguno, vuelvo a ejecutar en el terminal y nada, error en la misma linea :(





El miércoles, 12 de febrero de 2014 06:21:34 UTC+1, Miguel Martín escribió:

Gabriel Pozo

未讀,
2014年2月13日 上午9:33:092014/2/13
收件者:desarrollad...@googlegroups.com
y si probas cambiando la  buildToolsVersion a "18.0.1")


--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.

Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Miguel Martín

未讀,
2014年2月13日 上午9:55:232014/2/13
收件者:desarrollad...@googlegroups.com
cambiado, mismo error en misma linea :(


El miércoles, 12 de febrero de 2014 06:21:34 UTC+1, Miguel Martín escribió:

Miguel Martín

未讀,
2014年3月5日 清晨6:30:552014/3/5
收件者:desarrollad...@googlegroups.com
Buenas he retomado el tema pues aún sigo teniendo el error pero ahora lo he simplificado bastante...

He creado un nuevo proyecto con minSDK 7 para hacer las pruebas, tengo un layout con un boton y la clase mainactivity principal donde he creado una clase asynctask llamada DescargaFichero para descargar un fichero desde internet, una imagen jpg para simplificar, la configuración del fichero build.gradle la teneis aqui.

Pues nada, compilo el proyecto y se ejecuta en el emulador (android 2.3.7), no recibo ningún errror de compilación parece que todo va bien hasta que pulso el boton donde se instancia el asynctask, exactamente en la línea 32:

DescargaFichero descarga = new DescargaFichero();

FC de la aplicación y según el logcat:

es.asynctask.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.VerifyError: es.asynctask.app.MainActivity$DescargaFichero
            at es.asynctask.app.MainActivity$1.onClick(MainActivity.java:32)
            at android.view.View.performClick(View.java:2408)
            at android.view.View$PerformClick.run(View.java:8816)
            at android.os.Handler.handleCallback(Handler.java:587)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:123)
            at android.app.ActivityThread.main(ActivityThread.java:4627)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:521)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
            at dalvik.system.NativeStart.main(Native Method)


He comprobado uno por uno los imports por si estoy utilizando algún componente que no exista en el api 7 pero no, todos son anteriores, ¿¿ alguna otra idea ??

Por las pruebas que he hecho, la app solo funciona a partir de una versión de api 11 :(

Os he subido los ficheros a pastebin por si alguien puede mirar donde esta el problema :(



El miércoles, 12 de febrero de 2014 06:21:34 UTC+1, Miguel Martín escribió:

Juan de Dios Maldonado Sánchez

未讀,
2014年3月5日 清晨6:58:522014/3/5
收件者:desarrollad...@googlegroups.com
Si me hubieras hecho caso al mensaje que te escribí anteriormente: "Entonces intenta compilarlo con el mismo SDK que la versión de Android que te da problemas. Si no compila, te aparecerá directamente una descripción de lo que estás haciendo mal." te hubiera saltado un error de compilación diciendo que no existe la clase:

android.os.NetworkOnMainThreadException

Ya que apareció en la API 11, y no está disponible en versiones anteriores.

APROVECHO PARA RECORDAR: Android Studio es un producto todavía sin finalizar y no debe de ser utilizado por personas sin experiencia. En la página de Android Studio te lo dejan bien claro:

Caution: Android Studio is currently available as an early access preview. Several features are either incomplete or not yet implemented and you may encounter bugs. If you are not comfortable using an unfinished product, you may want to instead download (or continue to use) the ADT Bundle(Eclipse with the ADT Plugin).




--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular tu suscripción a este grupo y dejar de recibir sus mensajes, envía un mensaje a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un mensaje a desarrollad...@googlegroups.com.

Miguel Martín

未讀,
2014年3月5日 清晨7:32:512014/3/5
收件者:desarrollad...@googlegroups.com


Tienes toda la razón Juande, cambiando el gradle a:

android {
    compileSdkVersion 7
    buildToolsVersion "19.0.1"
...



Ahora me marca en el mainactivity el NetworkOnMainThreadException en rojo, pero me deja compilar y ejecutarla aplicación en el emulador, hasta que da error claro...


Si esto de ser tan novato es una putada si :'(

Joe ahora que me estaba acostumbrando al android studio a empezar otra vez para aprender el eclipse :'(


Gracias Juande y perdón por hacerte perder el tiempo en estas cosas de novato :(


El miércoles, 12 de febrero de 2014 06:21:34 UTC+1, Miguel Martín escribió:

Juan de Dios Maldonado Sánchez

未讀,
2014年3月5日 清晨7:50:562014/3/5
收件者:desarrollad...@googlegroups.com
Joe ahora que me estaba acostumbrando al android studio a empezar otra vez para aprender el eclipse :'(

Lo mismo diré yo el día que Android Studio se considere estable (y completo) y tenga que dejar Eclipse para pasarme a Android Studio.

Seguiré usando Eclipse, que es de lo que más información hay en Internet. Mientras tanto, que la gente se vuelva loca (por decirlo de alguna forma) usando Android Studio y vayan plangando foros y listas con información sobre problemas que pueda encontrarme en un futuro. Así, para el día que utilice Android Studio y tenga algún problema, encontraré una solución al instante.

Que Gradle te aporte mucho más control y demás cosas que Ant... puede ser, pero mientras no lo necesite, paso de calentarme la cabeza.

 
回覆所有人
回覆作者
轉寄
0 則新訊息