Ver la Versión Completa : [ CONSULTA ] ¿que sdk platform usar?
Soy nuevo en la creacion de aplicaciones moviles para android.
Ya estuve leyendo varios tutoriales e informacion antes de empezar a siquiera codificar, para tener una idea mas o menos clara de todo lo que se necesita ,desde intalacion hasta las preguntas frecuentes.
Pero hay una que no termino de entender :risitas: : ¿que sdk platform usar?
Explico:
Instale el android studio ,y por defecto se instalo con el sdk platform Nougat 7.1.1
Ahora cuando sigo los pasos para crear un nuevo proyecto,me pide que seleccione el minimo sdk, y me da las api a escoger desde Gingerbread(api 9) hasta Nougat (api 25).
Hasta aqui tengo entendido que si se crea para una api X la app, celulares que tengan un sistema operativo inferior al que se creo la app,no podran correrla, por decir si escoge api 23 Nougat , equipos con Gingerbread no podran correr la app y por lo mismo te recomienda google que si no vas a necesitar funciones especificas de cierta api reciente, que escojas la que tenga mayor porcentaje de uso y te da una tabla de estadisticas .
Mis preguntas:
1.-Si android studio se instalo con Nougat, y yo quiero hacer la app escogiendo cuando creo un nuevo proyecto, por ejemplo Jelly Bean api 16 ,para que corra en todos los equipos que tengan jelly bean,kitkat ,lollipop,marshmallow y nougat, debo instalar entonces primero el sdk platform de Android Jelly Bean desde el sdk manager??
2.-Si luego quiero hacer una app para gingerbread y creo proyecto como en la pregunta anterior y selecciono api de gingerbread, entonces tambien ahora desde el sdk manager debo bajar el Android Gingerbread primero, y asi con todos??
O asi ya con el nougat jala y solo me mintio google de que no son compatibles con api de mas bajo nivel X-D
Si me pueden explicar porfavor ,para iniciar bien mi travesia para programar apps :dios:
LEAJIM_454
19/04/17, 13:58:29
1. No, el SDK del API25 ya tiene todo lo necesario.
2. Solo es necesario bajar la API9(Gingerbread) si ese es tu máximo objetivo, android está soportado por las librerias de compatibilidad que vienen activadas por defecto(AppCompat o support library) si creas un proyecto con API25(Nougat), siempre es recomendado compilar con el mayor nivel de API que se disponga, siempre y cuando este sea estable, por lo tanto, es más que suficiente la API25 que ya tienes descargada, solo debes hacer uso de la libreria de compatibilidad.
entonces si tengo el SDK platform Nougat, cuando haga un nuevo proyecto y se me pida escoger la api , escojo una que tenga el mayor numero de usuario ,ejemplo jelly bean (no usare funciones avanzadas de una api superior como la de nougat)
si esto es correcto, entonces para que Android Studio, te da la opcion de en configuraciones->sdk manager, poder bajar SDK platforms anteriores, desde Gingerbread hasta Nougat, si con nougat ya tienes todo , y de lo unico que tienes que preocuparte para que se ejecute bien tu aplicacion , es seleccionar un Api adecuada a la hora de crear nuevo proyecto??
eso es lo que no termino de entender
LEAJIM_454
21/04/17, 15:18:27
entonces si tengo el SDK platform Nougat, cuando haga un nuevo proyecto y se me pida escoger la api , escojo una que tenga el mayor numero de usuario ,ejemplo jelly bean (no usare funciones avanzadas de una api superior como la de nougat) si esto es correcto, entonces para que Android Studio, te da la opcion de en configuraciones->sdk manager, poder bajar SDK platforms anteriores, desde Gingerbread hasta Nougat, si con nougat ya tienes todo , y de lo unico que tienes que preocuparte para que se ejecute bien tu aplicacion , es seleccionar un Api adecuada a la hora de crear nuevo proyecto?? eso es lo que no termino de entender
Correcto, solo debes preocuparte de la cantidad de dispositivos que quieras que sean compatibles con tu aplicación, pero sería mejor que como API minima uses IceCreamSandwich, aunque hay muchas librerias que requieren nivel minimo de API14 o sea Jelly Bean.
kriogeN
21/04/17, 20:33:04
Correcto, solo debes preocuparte de la cantidad de dispositivos que quieras que sean compatibles con tu aplicación, pero sería mejor que como API minima uses IceCreamSandwich, aunque hay muchas librerias que requieren nivel minimo de API14 o sea Jelly Bean.
API14 es ICS, y si, es cierto que es la "nueva" API mínima debido a que la mayoría de librerías hacen uso de animaciones. Yo antes lo simulaba con NineOldAndroids, pero ya los programadores pasan de eso y paso de tener que estar reescribiendo código cuando ya nadie tiene menos que 14.
De hecho hace poco he tenido que subir a 15, que sigue siendo ICS, pero 4.0.3, que realmente es el que tienen el 99% de los dispositivos con ICS ya que el 4.0.0 sólo lo llegaron a tener los Nexus.
Y ahora, después del offtopic y entrando en materia:
¿Tiene sentido que Android Studio te pregunte que SDK Platform usar en lugar de usar siempre el último? Si, lo tiene, puede que estés usando un SDK de versiones Preview de Android y de pronto quieras hacer un proyecto serio que quieres que no tenga bugs, y por tanto optarías por un SDK que no sea Preview.
Y respondiendo a la última pregunta del creador del hilo, no, no tienes que seleccionar el que tenga el mayor número de usuarios, tienes (o debes) seleccionar siempre el último que sea estable (salvo que tenga algún bug reconocido y aún está a la espera de solucionarse, otro motivo por el que te dejan elegir). Lo que si debes hacer es seleccionar como Mininum el que tenga la mayoría de usuarios.
Otra cosa que muy poca gente sabe es la importancia del Target, hay muchos que piensan que el Target hay que establecerlo siempre al mismo valor que el SDK, otros piensan que debe establecerse al mismo valor que el mínimo. Y se debe establecer al valor del comportamiento que esperas que tenga.
Por ejemplo, si no quieres usar el sistema de permisos dinámico y usar el sistema de permisos clásico, con establecer que tu aplicación tiene como target el API 22 se comportará igual en dispositivos Lollipop o inferior que en Marshmallow o superior, usando el sistema de permisos clásico.
¿Tiene sentido que Android Studio te pregunte que SDK Platform usar en lugar de usar siempre el último? Si, lo tiene, puede que estés usando un SDK de versiones Preview de Android y de pronto quieras hacer un proyecto serio que quieres que no tenga bugs, y por tanto optarías por un SDK que no sea Preview.
Entonces esa es la unica razon por la que Android Studio te da opcion de bajar todo un SDK platform diferente?
Si es asi, es poco practico, si uso un SDK reciente que no sea preview, no necesito bajar sdk gingerbread,lollipop,ni ice cream sandwich, quiza solo baje el ultimo estable anterior a Nougat por ejemplo, que seria Marshmallow.
En resumen , Android Studio deberia dejarte bajar solo el ultimo SDK platform mas estable y anterior al mas reciente, por que dejarte bajar los demas crea confusion y no es nada practico ya que para que tus app funcionen solo tienes que "jugar" con el api minimo y el target(que ya habia leido y se me olvido mencionar) y no el estar bajandote distintos SDK platform, pues vendria a ser como cualquier sistema operativo como Linux, que bajas el ultimo o uno anterior estable ,y no estas bajando el de hace 3-4 años ,que ya esta obsoleto a menos que lo quieras por nostalgia.
Gracias por haber aclarado y ahora si a darle a la programacion :platano::cucu:
kriogeN
27/04/17, 19:52:53
Entonces esa es la unica razon por la que Android Studio te da opcion de bajar todo un SDK platform diferente?
Si es asi, es poco practico, si uso un SDK reciente que no sea preview, no necesito bajar sdk gingerbread,lollipop,ni ice cream sandwich, quiza solo baje el ultimo estable anterior a Nougat por ejemplo, que seria Marshmallow.
En resumen , Android Studio deberia dejarte bajar solo el ultimo SDK platform mas estable y anterior al mas reciente, por que dejarte bajar los demas crea confusion y no es nada practico ya que para que tus app funcionen solo tienes que "jugar" con el api minimo y el target(que ya habia leido y se me olvido mencionar) y no el estar bajandote distintos SDK platform, pues vendria a ser como cualquier sistema operativo como Linux, que bajas el ultimo o uno anterior estable ,y no estas bajando el de hace 3-4 años ,que ya esta obsoleto a menos que lo quieras por nostalgia.
Gracias por haber aclarado y ahora si a darle a la programacion :platano::cucu:
Realmente esto nació así porque antes estaban los SDK y los GoogleSDK, la diferencia es que los segundo SÓLO funcionaban en dispositivos Android que tuviesen la API de Google, ahora la API de Google es una aplicación que puedes descargar de Play Store (Google Play Services). De tal manera que si querías hacer uso de Google Maps, por ejemplo, tenías que usar un GoogleSDK haciendo que tu aplicación fuese incompatible con los dispositivos que no lo tuviesen, si no ibas a necesitar nada del API de Google no era necesario y podías optar por el SDK normal.
Realmente esto nació así porque antes estaban los SDK y los GoogleSDK, la diferencia es que los segundo SÓLO funcionaban en dispositivos Android que tuviesen la API de Google, ahora la API de Google es una aplicación que puedes descargar de Play Store (Google Play Services). De tal manera que si querías hacer uso de Google Maps, por ejemplo, tenías que usar un GoogleSDK haciendo que tu aplicación fuese incompatible con los dispositivos que no lo tuviesen, si no ibas a necesitar nada del API de Google no era necesario y podías optar por el SDK normal.
Entonces ,actualmente ,cuando escoja una api por ejemplo 22(lollipop), al crear un nuevo proyecto, y tenga instalado el SDK platform Nougat, tengo que instalar desde SDK platforms,escoger el sdk de lollipop y solo palomear descargar el googleapis 22?
(como ven esto es muy confuso de que bajar y que no)
Otra cosa que muy poca gente sabe es la importa
Por ejemplo, si no quieres usar el sistema de permisos dinámico y usar el sistema de permisos clásico, con establecer que tu aplicación tiene como target el API 22 se comportará igual en dispositivos Lollipop o inferior que en Marshmallow o superior, usando el sistema de permisos clásico.
Esto con mucho cuidado. El usuario puede desactivar igualmente de modo individual los permisos a partir de M con lo que te puedes encontrar con errores inesperados si no solicitas o explicas tus permiso en tiempo de ejecución.
:ok:
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.